Mic*_*hal 2 python plot matplotlib pandas
我想绘制12个图表(每月一个图表),包括列'A'
和'B'
左侧y轴,以及'C'
右侧的列。
下面的代码在左侧绘制了所有内容。
import pandas as pd
index=pd.date_range('2011-1-1 00:00:00', '2011-12-31 23:50:00', freq='1h')
df=pd.DataFrame(np.random.rand(len(index),3),columns=['A','B','C'],index=index)
df2 = df.groupby(lambda x: x.month)
for key, group in df2:
group.plot()
Run Code Online (Sandbox Code Playgroud)
如何分离柱和使用这样的:group.plot({'A','B':style='g'},{'C':secondary_y=True})
?
您可以捕获Pandas plot()
命令返回的轴,然后再次使用它C
在右轴上进行特别绘制。
index=pd.date_range('2011-1-1 00:00:00', '2011-12-31 23:50:00', freq='1h')
df=pd.DataFrame(np.random.randn(len(index),3).cumsum(axis=0),columns=['A','B','C'],index=index)
df2 = df.groupby(lambda x: x.month)
for key, group in df2:
ax = group[['A', 'B']].plot()
group[['C']].plot(secondary_y=True, ax=ax)
Run Code Online (Sandbox Code Playgroud)
要在单个图例中获取所有行,请参见: 图例在与熊猫一起绘制时仅显示一个标签