2010-02-01 136 views
15

我試圖在Python中創建字母頻率的條形圖。我認爲完成這個最好的方法是matplotlib,但我一直無法破譯文檔。是否可以用每欄一個字母而不是數字軸來標記matplotlib.pyplot.hist圖的條形圖?我認爲它一定是,但我以前沒有使用過matplotlib。matplotlib/Python中條形圖的單獨標記的條形圖

這是那種圖的我之後,呈現爲文本:

| 
| * 
| * * 
| * * * 
+---------- 
    A B C 

回答

34

當然是!你只需要重置刻度標籤。

編輯與答案和圖片(可與同樣被hist完成):

x = scipy.arange(4) 
y = scipy.array([4,7,6,5]) 
f = pylab.figure() 
ax = f.add_axes([0.1, 0.1, 0.8, 0.8]) 
ax.bar(x, y, align='center') 
ax.set_xticks(x) 
ax.set_xticklabels(['Aye', 'Bee', 'Cee', 'Dee']) 
f.show() 

alt text http://up.stevetjoa.com/bar_xticklabels.png

+5

你不需要的方式使用SciPy的這一點,你可以替換前兩行'x = xrange(4)'和'y = [4,7,6,5]'。 – m01 2013-03-29 12:16:27

+1

謝謝你'align ='center'',我只是花了一個小時googling如何做到這一點! – dotancohen 2015-03-20 23:51:31