当我在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究竟是怎样的。我阅读了文档,但我仍然不确定发生了什么。任何帮助将不胜感激。
由于
答案 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
不会。