Python 如何使用matplotlib绘制这样的图形
我有一个数据帧:Python 如何使用matplotlib绘制这样的图形,python,pandas,matplotlib,Python,Pandas,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和
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)
我想在图中画一张这样的图。
所以日期是由颜色决定的,日期2在x轴上,col1或col2是要单独绘制的col
我尝试了stackplot,但没有成功,因为我无法设置x长度:
plt.stackplot(df.date2,df.groupby(level=0)['col1'].sum())
我想收到的照片:
谢谢您尝试使用数据帧重塑:
df.unstack('date2')['col1'].plot.area()
正如@QuangHoang所说,这成本更低,操作的列更少,这更好:
df['col1'].unstack('date2').plot.area()
尝试以下操作:
df.unstack('date2')['col1'].plot.area()
。。没有足够的数据复制您的绘图。谢谢。它工作。@ USE12128569请考虑接受和投票的答案,如果为你工作。code>df['col1'].unstack('date2').plot.area()稍微便宜一点。谢谢,@QuangHoang。保持安全和健康。