Linestyles en Matplotlib Python
Este tutorial se centra en cómo podemos utilizar diferentes estilos de línea en el gráfico de Matplotlib estableciendo el valor apropiado del parámetro linestyle
en el método matplotlib.pyplot.plot()
. Tenemos muchas opciones de estilo de línea disponibles.
Establecer los estilos de línea en Matplotlib Python
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)
plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()
Resultado:
Genera la trama de la función sinx
con el estilo de línea por defecto que es una línea sólida
.
Para ver las opciones disponibles para el parámetro linestyle
, podemos ejecutar el siguiente script:
from matplotlib import lines
print(lines.lineStyles.keys())
Resultado:
dict_keys(["-", "--", "-.", ":", "None", " ", ""])
Podemos usar cualquiera de los valores de salida para cambiar el estilo de línea del gráfico.
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)
plt.plot(x, y, linestyle="-.")
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()
Resultado:
Establece el estilo de línea en nuestro gráfico en -
.
La documentación de Matplotlib Linestyle
nos proporciona un diccionario que podemos usar para tener un control más refinado sobre los estilos de línea. Según la documentación, podemos establecer el estilo de línea con (offset, (on_off_seq))
tuple.
import math
import numpy as np
import matplotlib.pyplot as plt
from collections import OrderedDict
linestyles_dict = OrderedDict(
[
("solid", (0, ())),
("loosely dotted", (0, (1, 10))),
("dotted", (0, (1, 5))),
("densely dotted", (0, (1, 1))),
("loosely dashed", (0, (5, 10))),
("dashed", (0, (5, 5))),
("densely dashed", (0, (5, 1))),
("loosely dashdotted", (0, (3, 10, 1, 10))),
("dashdotted", (0, (3, 5, 1, 5))),
("densely dashdotted", (0, (3, 1, 1, 1))),
("loosely dashdotdotted", (0, (3, 10, 1, 10, 1, 10))),
("dashdotdotted", (0, (3, 5, 1, 5, 1, 5))),
("densely dashdotdotted", (0, (3, 1, 1, 1, 1, 1))),
]
)
x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)
plt.plot(x, y, linestyle=linestyles_dict["loosely dashdotdotted"])
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()
Resultado:
Establece el estilo de la línea usando el diccionario linestyles_dict
. Podemos seleccionar cualquier clave a la que queramos establecer el estilo de línea y pasarle el valor de esa clave para el diccionario linestyles_dict
como parámetro linestyle
en el método plot()
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn