当我在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到底是怎么回事。我阅读了文档,但仍不确定所发生的情况。任何帮助,将不胜感激。

谢谢

最佳答案

plt.subplots()返回一个元组(fig,axarr),其中axarr是轴对象的数组。因此,如果您有两行两列,axarr是轴的[2,2]数组,但是subplots方法将仅返回两个对象,而不是五个对象。对于任何元组都是如此,但不限于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
将不会。

08-16 14:32