当我在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
将不会。