2009-05-20 71 views
8

當我繪製每月採樣酒吧的數據時,它們的寬度非常薄。如果我將X軸小定位器設置爲DayLocator(),則可以看到條寬度調整爲1天,但我希望它們填滿整整一個月。使用每月數據控制matplotlib中的酒吧寬度

我試圖將次要滴答定位器設置爲MonthLocator()而不起作用。

[編輯]

也許一個例子將更加明確,這裏是我的意思了ipython -pylab例如:

x = [datetime.datetime(2008, 1, 1, 0, 0), 
    datetime.datetime(2008, 2, 1, 0, 0), 
    datetime.datetime(2008, 3, 1, 0, 0), 
    datetime.datetime(2008, 4, 1, 0, 0), 
    datetime.datetime(2008, 5, 1, 0, 0), 
    datetime.datetime(2008, 6, 1, 0, 0), 
    datetime.datetime(2008, 7, 1, 0, 0), 
    datetime.datetime(2008, 8, 1, 0, 0), 
    datetime.datetime(2008, 9, 1, 0, 0), 
    datetime.datetime(2008, 10, 1, 0, 0), 
    datetime.datetime(2008, 11, 1, 0, 0), 
    datetime.datetime(2008, 12, 1, 0, 0)] 

y = cos(numpy.arange(12) * 2) 

bar(x, y) 

這使12 2個像素寬條,我想他們範圍更廣,並且每個月都會延長。

+0

你在說什麼錯誤欄? – 2009-05-20 08:35:11

+0

不,我說的是由Axes.bar() – 2009-05-20 08:42:54

回答

24

只需使用width關鍵字參數:

bar(x, y, width=30) 

或者,由於不同的月份有天數不同,使其看起來不錯,你可以使用一個序列:

bar(x, y, width=[(x[j+1]-x[j]).days for j in range(len(x)-1)] + [30])