2012-03-15 5 views
1

Я использую matplotlib в Python, и я сделал гистограмму с барами. Теперь, когда появляется гистограмма, на оси х появляются только кратные 5, а кратные 1000 появляются по оси y. Для оси y это не проблема, но для оси x я хочу, чтобы интервал был 1 вместо 5, потому что я использую 1 бар в час. Как я могу это достичь?Python matplotlib interval

Заранее спасибо.

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

+0

Это странно, но если это так, просто замените '25' на' 24': 'plt.xticks (range (24))' –