2014-01-22 60 views
7

我有一個熊貓數據幀是這樣的:如何繪製大熊貓多指標數據幀與所有xticks

     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 

日期是索引。 我減少值,使用個月:

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

,輸出:

  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 

現在,當我繪製這個數據幀,我想x軸每個月/年顯示爲一個節拍。我試圖設置xticks,但它似乎並沒有工作。這怎麼可能實現?這是使用dataFrame.plot()我目前的情節:

enter image description here

回答

10

您可以使用set_xtick()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); 

輸出:

enter image description here

+0

如何設置xticks到每個月的第一天? – HyperCube

+0

看到我的答案在這裏:https://stackoverflow.com/questions/39714724/pandas-plot-x-axis-tick-frequency-how-can-i-show-more-ticks/48401584#48401584 –

+1

可能會有點晚了 ;-) –