2012-03-15 51 views
1

我在Python中使用matplotlib,我用條形做了一個直方圖。現在,當直方圖出現時,x軸上只顯示5的倍數,1000的倍數顯示在y軸上。對於Y軸,這完全沒有問題,但對於X軸,我希望間隔爲1而不是5,因爲我每小時使用1巴。我怎樣才能做到這一點?Python matplotlib間隔

在此先感謝。

def plotHistogramTickets(): 

    hours_NumbersSold = dict() 
    for i in range(24): 
     hours_NumbersSold[i]=0 
    soldTickets = db.getSoldTickets() 
    for ticket in soldTickets: 
     hourSold = ticket.timeBought.hour 
     hours_NumbersSold[hourSold]+=1 
    for k,v in hours_NumbersSold.iteritems(): 
     plt.bar(k,v,1,0) 
    plt.xlabel("Hours") 
    plt.ylabel("Numbers of tickets sold") 
    plt.title("Numbers of tickets sold per hour") 
    plt.grid(True) 
    plt.show() 

回答

3

使用xticks()。下面應該爲你做的訣竅(把它放在show()命令之前):

plt.xticks(range(25)) 
+0

謝謝!但我有問題的X值是25,我需要24來代替。任何想法? – Confituur 2012-03-15 19:06:02

+0

這很奇怪,但如果是這樣,只需用'24'替換'25':'plt.xticks(range(24))' – 2012-03-15 19:10:36