【发布时间】:2015-09-16 04:10:27
【问题描述】:
我尝试使用 matplotlib 创建一个 2 行 3 列的图网格(每个图上都绘制了多个数据)。然而,不管我怎么尝试,最终保存的图只是其中一个情节,其余的都是空白的。我知道另一个是制作的,但它们没有出现在最终图像中。这是我正在尝试的一个基本版本。
注释掉的部分显示了我见过的一些替代方案。
f,axarr = plt.subplots(2,3, sharex='col', sharey='row')
for i,someargs in enumerate(namelist):
x1,y1,x2,y2 = somefunction(someargs) #output data
ax = axarr.flat[i] #or ax=axarr[row,col]
ax.plot(x1,y1)
ax.plot(x2,y2)
plt.savefig("name")
#or f.savefig("name")
我这样做的方式有问题吗?我得到的图像位于http://i.imgur.com/QxYRnPT.png 任何帮助将不胜感激。
【问题讨论】:
-
请注意,您将坐标轴存储在
axarr,然后从axrr获取当前坐标轴 -
我修正了错字,谢谢。
-
您是否检查过
len(namelist)是6?您的代码在这里有效。 -
在我的例子中,namelist 的长度为 5,因为我只有 5 个地块。
-
我添加了我得到的图像。如果它对其他人有用,那么我真的不确定发生了什么。
标签: python numpy matplotlib plot subplot