How to build pandas multiindex dataFrame with all xticks

I have a pandas dataFrame:

content date 2013-12-18 12:30:00 1 2013-12-19 10:50:00 1 2013-12-24 11:00:00 0 2014-01-02 11:30:00 1 2014-01-03 11:50:00 0 2013-12-17 16:40:00 10 2013-12-18 10:00:00 0 2013-12-11 10:00:00 0 2013-12-18 11:45:00 0 2013-12-11 14:40:00 4 2010-05-25 13:05:00 0 2013-11-18 14:10:00 0 2013-11-27 11:50:00 3 2013-11-13 10:40:00 0 2013-11-20 10:40:00 1 2008-11-04 14:49:00 1 2013-11-18 10:05:00 0 2013-08-27 11:00:00 0 2013-09-18 16:00:00 0 2013-09-27 11:40:00 0 

date is an index. I reduce the values ​​to a few months using:

 dataFrame = dataFrame.groupby([lambda x: x.year, lambda x: x.month]).agg([sum]) 

which outputs:

  content sum 2006 3 66 4 65 5 48 6 87 7 37 8 54 9 73 10 74 11 53 12 45 2007 1 28 2 40 3 95 4 63 5 56 6 66 7 50 8 49 9 18 10 28 

Now, when I draw this data file, I want to show the x-axis every month / year as a check mark. I am trying to install xticks but it does not work. How can this be achieved? This is my current chart using dataFrame.plot ():

enter image description here

+7
python matplotlib pandas plot
source share
1 answer

You can use set_xtick() and set_xticklabels() :

 idx = pd.date_range("2013-01-01", periods=1000) val = np.random.rand(1000) s = pd.Series(val, idx) g = s.groupby([s.index.year, s.index.month]).mean() ax = g.plot() ax.set_xticks(range(len(g))); ax.set_xticklabels(["%s-%02d" % item for item in g.index.tolist()], rotation=90); 

exit:

enter image description here

+11
source share

All Articles