Pregunta trazado con texto personalizado para puntos de eje x


Estoy dibujando una trama usando matplotlib y python como el código de muestra a continuación.

x = array([0,1,2,3])
y = array([20,21,22,23])
plot(x,y)
show()

Como es el código de arriba en el eje x, veré los valores dibujados 0.0, 0.5, 1.0, 1.5 es decir, los mismos valores de mis valores x de referencia.

¿Hay alguna forma de asignar cada punto de x a una cadena diferente? Entonces, por ejemplo, quiero que el eje x muestre los nombres de meses (cadenas Jun, July,...) u otras cadenas como nombres de personas ( "John", "Arnold", ... ) o la hora del reloj ( "12:20", "12:21", "12:22", .. )

¿Sabes qué puedo hacer o qué función echarle un vistazo?
Para mi propósito podría ser matplotlib.ticker de ayuda?


74
2018-06-23 10:59


origen


Respuestas:


Puedes establecer manualmente xticks (y yticks) usando pylab.xticks:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([0,1,2,3])
y = np.array([20,21,22,23])
my_xticks = ['John','Arnold','Mavis','Matt']
plt.xticks(x, my_xticks)
plt.plot(x, y)
plt.show()


141
2018-06-23 11:49