当我们考虑使用2x2网格调用plt.subplots()
时:
def pltpoc():
import matplotlib.pyplot as plt
x = np.linspace(0,2*np.pi,10)
y = np.sin(x)
fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(x, y)
axs[0, 0].set_title('Axis [0,0]')
axs[0, 1].plot(x, y, 'tab:orange')
axs[0, 1].set_title('Axis [0,1]')
axs[1, 0].plot(x, -y, 'tab:green')
axs[1, 0].set_title('Axis [1,0]')
axs[1, 1].plot(x, -y, 'tab:red')
axs[1, 1].set_title('Axis [1,1]')
plt.show()
pltpoc()
事物看起来膨胀:
当行数仅为1时,axes
返回的plt.subplots()
似乎有不同的行为。请考虑以下更新的代码,唯一的区别是它只有一行而不是两行:< / p>
def pltpoc1():
import matplotlib.pyplot as plt
x = np.linspace(0,2*np.pi,10)
y = np.sin(x)
fig, axs = plt.subplots(1, 2)
axs[0, 0].plot(x, y)
axs[0, 0].set_title('Axis [0,0]')
axs[0, 1].plot(x, y, 'tab:orange')
axs[0, 1].set_title('Axis [0,1]')
plt.show()
pltpoc1()
现在,我们有一个完全不同的行为:
回溯(最近通话最近):文件 “ /usr/local/lib/python3.7/site-packages/IPython/core/interactiveshell.py”, 第3296行,在run_code中 exec(code_obj,self.user_global_ns,self.user_ns)文件“”,第1行,在 pltpoc1()在pltpoc1中的文件“”,第6行 axs [0,0] .plot(x,y)IndexError:数组的索引过多
那么..为什么一个行是“特殊”行?