lan*_*ery 6 python matplotlib bar-chart pandas
我想修复下面条形图中 2012 年和 2013 年之间的差距。
我的数据框是
In [30]: df
Out[30]:
Pre-Release Post-Release
FinishDate
2008 1.0 0.0
2009 18.0 0.0
2010 96.0 0.0
2011 161.0 0.0
2012 157.0 0.0
2013 0.0 139.0
2014 0.0 155.0
2015 0.0 150.0
2016 0.0 91.0
2017 0.0 15.0
Run Code Online (Sandbox Code Playgroud)
我用来df.plot(kind='bar', width=1)绘图。
您的图表中没有实际的“间隙”:Pandas 只是保留空间来绘制彼此相邻的两个不同的条形。拿这段代码来说明一下:
from io import StringIO
import pandas as pd
TESTDATA=StringIO("""2008 1.0 0.0
2009 18.0 5.0
2010 96.0 0.0
2011 161.0 0.0
2012 157.0 0.0
2013 0.0 139.0
2014 0.0 155.0
2015 0.0 150.0
2016 0.0 91.0
2017 0.0 15.0""")
df=pd.read_csv(TESTDATA,delim_whitespace=True,index_col=0)
df.plot(kind='bar')
Run Code Online (Sandbox Code Playgroud)
但实际上您并不需要打印两个相邻的条形图,因此您可以将两个系列绘制到同一个图中,而不是绘制数据框:
ax=df['1.0'].plot(kind='bar')
df['0.0'].plot(kind='bar',ax=ax,color='orange')
Run Code Online (Sandbox Code Playgroud)
或者只使用:
df.plot(kind='bar', stacked=True)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,这会给出相同的结果。
| 归档时间: |
|
| 查看次数: |
2161 次 |
| 最近记录: |