matplotlib 使用for循环绘制多个图表

vh0rcniy  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(153)

我在尝试用python中的for循环绘制多个图表时遇到了问题。

fig, ax = plt.subplots(nrows=len(Opts_Data_All),figsize=(20,10))

for index, contract in enumerate(Opts_Data_All):
    
    ax[index].set_xlabel('Strike')
    ax[index].set_ylabel('Imp Vol')
    ax[index].set_title(key)
    ax[index].plot(Opts_Data_All[contract]['IV']) 
    
plt.show()

字符串
上面的代码只会在一个图中挤压图,但我想有作为子图的图表。总共有17个图,因为字典Opts_Data_All有17个键。
图像附件是我得到的结果


的数据

wvt8vs2t

wvt8vs2t1#

如果希望每个图都在自己的图形中,则需要在循环的每次迭代中创建一个新图形。

for contract in Opts_Data_All:
    fig, ax = plt.subplots(figsize=(20,10))
    ax.plot(Opts_Data_All[contract]['IV']) 
    ax.set_xlabel('Strike')
    ax.set_ylabel('Imp Vol')
    ax.set_title(key)
    fig.show()

字符串

相关问题