2010-02-01 134 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