如何合并两种方法生成的图(df.plot 和 matplotlib.pyplot)

How to merge plots generated by two methods (df.plot and matplotlib.pyplot)

我想在一张图中绘制两个图表(从上到下),分别使用 matplotlib.pyplot 和 dataframe.plot。但是下面的代码生成了两个图,第一个图中的底图是空的。我不确定如何将它们合并为一个图形,非常感谢您的帮助。

fig, [ax1, ax2] = plt.subplots(2,1,sharex = True)
ax1.plot(info['Yr'], info['mean'], label = 'mean')
ax1.plot(info['Yr'], info['CI-2.5%'], label = 'CI-2.5%')
ax1.plot(info['Yr'], info['CI-97.5%'], label = 'CI-97.5%')

ax2 = df.set_index('Yr').plot.bar(stacked=True)

您可以使用您创建的斧头向 plot.bar 命令提供 ax 参数,它会使用它,有效地“合并”您的两个地块。

fig, [ax1, ax2] = plt.subplots(2,1,sharex = True)
ax1.plot(info['Yr'], info['mean'], label = 'mean')
ax1.plot(info['Yr'], info['CI-2.5%'], label = 'CI-2.5%')
ax1.plot(info['Yr'], info['CI-97.5%'], label = 'CI-97.5%')

ax2 = df.set_index('Yr').plot.bar(stacked=True, ax = ax2)

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.bar.html