保留最近日期的条形图,其中date是日期时间索引

时间:2018-07-28 07:47:42

标签: python pandas matplotlib bar-chart datetimeindex

我尝试按日期时间索引对数据框进行排序,然后绘制该图,但仍然没有变化,它仍在显示最近的日期(如2017、2018、2008和2009)在哪里。

enter image description here

我希望最近的年份是左而右。 这是之前的数据框。

            Title  
Date                      
2001-01-01      0       
2002-01-01      9        
2003-01-01     11       
2004-01-01     17       
2005-01-01     23       
2006-01-01     25       
2007-01-01     51       
2008-01-01     55       
2009-01-01    120      
2010-01-01    101     
2011-01-01     95       
2012-01-01    118      
2013-01-01     75       
2014-01-01     75       
2015-01-01     3      
2016-01-01     35       
2017-01-01     75       
2018-01-01     55

忽略这些值。 然后我按索引对上述数据框进行排序,然后进行绘图,但在绘图中仍然没有变化

df.sort_index(ascending=False, inplace=True)

2 个答案:

答案 0 :(得分:0)

使用invert_xaxis()

df.plot.bar().invert_xaxis()

如果您不想使用熊猫图:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
plt.bar(df.index, df['Title'])
ax.invert_xaxis() 

答案 1 :(得分:0)

我想您还没有将索引更改为年份。这就是为什么它不起作用的原因。您可以通过以下方式实现:

df.index = pd.to_datetime(df.Date).dt.year
#then sort index in descending order
df.sort_index(ascending = False , inplace = True)
df.plot.bar()