繁体   English   中英

如何用 matplotlib 绘制这样的图

[英]How to plot such a graph with matplotlib

我有一个数据框:

  date       date2      col1   col2
 
2011-05-01  2011-05-01    3     25
            2011-05-02    1     17
            2011-05-03    2     12

2012-05-01  2012-05-01    5     45
            2012-05-02    5     73

如何按级别 0(日期)绘制每列(col1 和 col2)分组数据框?

我想在图片中得到一个这样的图表。 所以日期由颜色决定,date2 在 x 轴上,col1 或 col2 是我要单独绘制的列。

我尝试过堆栈图,但没有用,因为我无法设置 x 长度:

plt.stackplot(df.date2,df.groupby(level=0)['col1'].sum())

我想收到的图片:

在此处输入图片说明

谢谢

尝试使用数据帧整形:

df.unstack('date2')['col1'].plot.area()

正如@QuangHoang 所说,这成本更低,您操作的列更少,这更好:

df['col1'].unstack('date2').plot.area()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM