2010-02-01 24 views
15

Estoy tratando de crear gráficos de barras de frecuencia de letras en Python. Pensé que la mejor manera de lograr esto sería matplotlib, pero no he podido descifrar la documentación. ¿Es posible etiquetar las barras de un gráfico matplotlib.pyplot.hist con una letra por barra, en lugar de un eje numérico? Creo que debe ser, pero no he usado matplotlib antes.Barras etiquetadas individualmente para gráficos de barras en matplotlib/Python

Este es el tipo de gráfico que estoy después, se ven como texto:

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

Respuesta

34

Claro está! Solo necesita restablecer las etiquetas de tic.

EDITAR con la respuesta y la imagen (se puede hacer de manera similar con 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

No es necesario utilizar scipy para este propósito, se puede reemplazar las dos primeras líneas con 'x = xrange (4)' y 'y = [4,7,6,5]'. – m01

+1

Gracias por 'align = 'center'', ¡pasé una hora buscando en Google cómo hacerlo! – dotancohen

Cuestiones relacionadas