我正在尝试绘制 2 个不同的数据集,但我不知道如何修复子图(如果我放 2,2 它可以工作,但如果我尝试其他任何东西,它会给我一个错误)
fig, axs = plt.subplots(nrows=2, ncols=1) axs[0,1].plot(adj_close['SOL-USD']) axs[2,1].set_title('SOL') plt.show()
错误:
----> 6 axs[0,0].plot(adj_close['SOL-USD']) 7 axs[0,0].set_title('SOL') 8 axs[0,1].plot(adj_close['ETH-USD']) TypeError: 'AxesSubplot' object is not subscriptable IndexError Traceback (most recent call last) Input In [356], in <cell line: 3>() 1 #ploting the histogram 2 fig, axs = plt.subplots(2,1,figsize=(16,8),gridspec_kw ={'hspace': 0.2, 'wspace': 0.1}) ----> 3 axs[0,0].hist(returns['SOL-USD'], bins=50, range=(-0.2, 0.2)) 4 axs[0,0].set_title('SOL') 5 axs[1,0].hist(returns['ETH-USD'], bins=50, range=(-0.2, 0.2)) IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed
子图 2,2 目前的样子:
这里发生的是,matplotlib.pyplot.subplots()如果 nrows 或 ncols 等于 1,则为 fig 中的轴创建一个一维数组。您可以通过在当前工作区中显示变量来查看这一点。
matplotlib.pyplot.subplots()
>>> fig, axes = plt.subplots(nrows=2, ncols=1) >>> axes array([<AxesSubplot:>, <AxesSubplot:>], dtype=object)
这就是为什么尝试调用多个时会出现索引错误的原因。有关更多文档,这里是函数matplotlib.pyplot.subplots的站点