2012-03-15 76 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