在Python Matplotlib中创建子图

时间:2015-08-01 21:53:57

标签: python matplotlib

当我在Python的Maplotlib中创建子图时,我必须这样做:

fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2)

相反,为什么不做以下工作,

fig, ax1, ax2, ax3, ax4 = plt.subplots(nrows=2, ncols=2)

我试图弄清楚plt.subplots究竟是怎样的。我阅读了文档,但我仍然不确定发生了什么。任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:3)

plt.subplots()返回一个元组,(fig,axarr),其中axarr是一个轴对象数组。因此,如果您有两行和两列,axarr是[2,2]轴的数组,但子图方法只返回两个对象,而不是五个。对于任何元组都是如此,并且不限于plt.subplots()。 以下将运行:

a = 'banana'
b = np.array([1,2,3,4])
tup = (a,b)
fruit,(h,i,j,k) = tup

但是 fruit,h,i,j,k = tup 不会。