2012-03-15 11 views
1

私はPythonでmatplotlibを使用しており、棒グラフでヒストグラムを作成しました。ヒストグラムが現れると、x軸には5の倍数だけが表示され、y軸には1000の倍数が表示されます。 y軸については全く問題はありませんが、x軸では1時間あたり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()を使用してください。

plt.xticks(range(25)) 
+0

ありがとう:次はあなたのためのトリックを(show()コマンドの前にそれを置く)行う必要があります!しかし、私はx値が25まで問題があり、代わりに24が必要です。何か案が? – Confituur

+0

これは奇妙ですが、そうであれば '25'を' 24'で置き換えてください: 'plt.xticks(range(24))' –