Colocar valores de texto en el eje en lugar de valores numéricos.

He creado una calculadora de frecuencia de palabras simple en Python 3.2. Ahora quiero crear una ttwig para visualizar los resultados. El eje x contendría resultados de frecuencia y quiero agregar las palabras más frecuentes al eje y. ¿Cómo puedo agregar texto en lugar de números a un eje Pylab? ¡Gracias por adelantado!

Voy a suponer que, como desea mostrar las frecuencias en el eje x en lugar del eje y, que desea un gráfico de barras horizontal.

Ajustar las tags para imprimir en el eje x en su lugar, simplemente requiere que use el comando xticks :

 import matplotlib.pyplot as plt import numpy as np x_values = [0.1, 0.3, 0.4, 0.2] y_values = ["word 1", "word 2", "word 3", "word 4"] y_axis = np.arange(1, 5, 1) plt.barh(y_axis, x_values, align='center') plt.yticks(y_axis, y_values) plt.show() 

Esto dará como resultado el siguiente cuadro (pero probablemente hay una mejor manera de no requerir que juegues con el espacio donde mostrar tus tags y). introduzca la descripción de la imagen aquí

En realidad, pensar un poco más al respecto. Creo que algo como lo siguiente es más de lo que tenía en mente (creo que debería detenerme ahora, ya que inevitablemente demuestra que soy ridículamente inexperto al usar matplotlib):

 import matplotlib.pyplot as plt import numpy as np y_values = [0.1, 0.3, 0.4, 0.2] text_values = ["word 1", "word 2", "word 3", "word 4"] x_values = np.arange(1, len(text_values) + 1, 1) plt.bar(x_values, y_values, align='center') # Decide which ticks to replace. new_ticks = ["word for " + str(y) if y != 0.3 else str(y) for y in y_values] plt.yticks(y_values, new_ticks) plt.xticks(x_values, text_values) plt.show() 

introduzca la descripción de la imagen aquí