Linestyles en Matplotlib Python

Suraj Joshi 15 febrero 2024
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:

Linestyle por defecto en Matplotlib Python

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:

Establecer Linestyle en Matplotlib Python

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:

Establecer el estilo de línea en Matplotlib Python usando el diccionario

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 avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artículo relacionado - Matplotlib Line