【发布时间】:2020-07-15 08:08:46
【问题描述】:
我在没有任何装饰的网格中绘制 N 个图。使用axis('off')可以轻松地将具有数据的图设置为不显示轴。但是对于 subplots() 的“溢出”默认值,我该如何做到这一点?
以下是相关代码的工作示例:
import math
filenames = ['plot0', 'plot1', 'plot2', 'plot4', 'plot5', 'plot6', 'plot7', 'plot8', 'plot9', 'plotl0']
N = len(filenames)
Y = int(math.sqrt(N))
X = int(N / Y) + 1
fig, ax = plt.subplots(X, Y)
for i in range(N):
ax[divmod(i, Y)].text(0.5, 0.5, str('Test'))
ax[divmod(i, Y)].axis('off')
plt.show()
【问题讨论】:
-
for ax_i in np.ravel(ax): ax_i.axis('off')? -
谢谢,您能解释一下为什么它与我在循环中的方法相反吗?你的不是基本上是一个不同的循环吗?
-
您创建了所有轴来填充所有行和列。但通常 N 小于轴数。例如 N=10, X=4, Y=3 有 12 个轴,只有 10 个图。您还需要关闭最后两个的默认轴。
标签: python matplotlib