我有一个数据框,该数据框查看2001年到2015年间Mass的局部最大值。它的一部分如下:
我正在使用以下内容将数据框绘制为图形。但是,每个刻度线都显示年份,在图上看起来很拥挤。
df.plot(kind='bar', color='xkcd:grassy green', title=title, y='Max Mass (kg/m)', x='year')
有没有一种方法可以将2001列归为一个“ 2001”组,依此类推,以2002-2015年的值分组。寻找看起来像这样的东西:
谢谢
答案 0 :(得分:1)
我认为这应该可以解决问题...假设每组年份的长度相同。如果不是,则可能需要对每个组进行子图绘制。
# sample df
df = pd.DataFrame({'year':[2001,2001,2001,2001,2002,2002,2002,2002], 'mass':[1,2,3,4,1,3,2,4]})
# create a multiindex from the cumcount of each year group
df['idx'] = df.groupby('year').cumcount()
df.set_index(['year', 'idx'], inplace=True)
# unstack and plot
df.unstack().plot.bar(legend=False, color='xkcd:grassy green', title='TITLE')