使用 twinx 绘制熊猫图

um8*_*8ra 2 python plot matplotlib pandas

我正在尝试使用 Pandas matplotlib API 在同一个图形上绘制条形图和线图。然而,进展并不顺利。我正在使用 twinx() 这似乎是实现这一目标的普遍接受的方式。

请注意,这是在 Jupyter Notebook 中完成的,绘图显示为内联。感谢您的帮助!

fig0, ax0 = matplotlib.pyplot.subplots()
ax1 = ax0.twinx()

trend_df_hours.plot(kind='bar', stacked=True, color=color_list, ax=ax0)
trend_df_qty.plot(kind='line', secondary_y=True, ax=ax1)
matplotlib.pyplot.show()
matplotlib.pyplot.close()
Run Code Online (Sandbox Code Playgroud)

Ale*_*der 6

似乎是什么问题?您的代码似乎工作正常。

%matplotlib inline
from matplotlib import pyplot as plt

trend_df_hours = pd.Series(np.random.rand(10))
trend_df_qty = pd.Series(np.random.rand(10))

fig0, ax0 = plt.subplots()
ax1 = ax0.twinx()

trend_df_hours.plot(kind='bar', stacked=True, ax=ax0)
trend_df_qty.plot(kind='line', secondary_y=True, ax=ax1)
plt.show()
plt.close()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

  • 我发现了问题所在。我正在使用日期索引(对于两个数据集),但它似乎不喜欢那样。我可以将数据集合并在一起,但是我认为没有一种好方法可以提取一列并以与其他列不同的方式绘制它。可以使用相同的绘图样式完成:http://pandas.pydata.org/pandas-docs/stable/visualization.html#plotting-on-a-secondary-y-axis (2认同)