我一直在使用,它使用axes.flat功能,这样的代码matplotlib看到各种方案?matplotlib中的axes.flat是做什么的?</p> <pre><code>for i, ax in enumerate(axes.flat): </code></pre> <p>这是什么做的:
2
A
回答
4
让我们看一个小例子,我们创造了一些轴与plt.subplots
,也看this question,
import matplotlib.pyplot as plt
fig, axes = plt.subplots(ncols=2,nrows=3, sharex=True, sharey=True)
for i, ax in enumerate(axes.flat):
ax.scatter([i//2+1, i],[i,i//3])
plt.show()
这里,axes
是轴的numpy的阵列,
print(type(axes))
> <type 'numpy.ndarray'>
print(axes.shape)
> (3L, 2L)
axes.flat
不是功能,它是numpy.ndarray
的一个属性:numpy.ndarray.flat
ndarray.flat
数组上的一维迭代器。
这是一个numpy.flatiter实例,其行为类似于Python的内置迭代器对象,但不是其子类。
实施例:
import numpy as np
a = np.array([[2,3],
[4,5],
[6,7]])
for i in a.flat:
print(i)
这将打印数2 3 4 5 6 7
。
作为阵列上的迭代符,则可以用它来循环在从轴的3×2的阵列中的所有轴,
for i, ax in enumerate(axes.flat):
对于每次迭代,将来自该阵列产生的下一个坐标轴,使得您可以轻松地在单个循环中绘制所有坐标轴。
另一种方法是使用axes.flatten()
,其中flatten()
是numpy数组的方法。它不是迭代器,而是返回数组的扁平版本:
for i, ax in enumerate(axes.flatten()):
从外部看没有区别。但是迭代器实际上并不创建新的数组,因此可能会稍微快一点(尽管这对于matplotlib轴对象来说永远不会显而易见)。
flat1 = [ax for ax in axes.flat]
flat2 = axes.flatten()
print(flat1 == flat2)
> [ True True True True True True]
迭代轴阵列的扁平版本具有以下优点:你将节省一个环,相对于遍历行和单独列的简单方法,
for row in axes:
for ax in row:
ax.scatter(...)
相关问题
- 1. <<做什么?
- 2. << - CONSTANT是做什么的?
- 3. (1U << X)做什么?
- 4. 什么<<做在JavaScript
- 5. “<%:”做什么?
- 6. 什么是PHP中的“<<< SQL”?
- 7. C++:这个符号“<<”做什么?
- 8. 这是什么算子<<< bash
- 9. echo <<<输出是做什么的?
- 10. THREE.Camera.prototype.lookAt</ <() -</ <是什么意思?
- 11. “<< =”在sbt设置中做什么?
- 12. 什么是Swift上的+++和<<<?
- 13. 什么是我的档案中的“<<<<<<< head”?
- 14. <%$,<%@,<%=,<%#...这是怎么回事?
- 15. Php <<<是什么意思?
- 16. 什么是std :: cout << std :: cin做什么?
- 17. “1000 << 16”中的“<<”是什么意思?
- 18. 什么是我有两个for循环</p> <pre><code>for(int i = 2; i <= n/2; i++){ for(int j = 2 * i; j <= n; j++){ } } </code></pre> <p>什么是他们的时间复杂度的这类for循环
- 19. wcout << L是什么?
- 20. C++中的“(”<<“)是什么意思?
- 21. Java中`<< ='的用途是什么?
- 22. cout << std :: ios :: hex做什么?
- 23. Hash [x] <<“string”做什么?
- 24. 什么>><<并做蟒蛇
- 25. C - 这是什么语法? <<
- 26. ExpressionVisitor.Visit <T>是做什么用的?
- 27. 什么是代码中的“<< - ”?
- 28. 什么是C中的(1 << OCIE0A)?
- 29. Ruby中的“<< - ”是什么意思?
- 30. “expect << - DONE”的含义是什么?