Estilos de Línea en Matplotlib

MatplotlibMatplotlibBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Matplotlib es una poderosa herramienta de visualización de datos para Python. Una de sus características es la capacidad de crear estilos de línea personalizados para los gráficos. En este laboratorio, aprenderemos cómo crear y usar diferentes estilos de línea en Matplotlib.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.

Importar las bibliotecas necesarias

Para usar Matplotlib, primero debemos importar la biblioteca. También importaremos la biblioteca NumPy para generar algunos datos de muestra para nuestros gráficos.

import matplotlib.pyplot as plt
import numpy as np

Definir estilos de línea

Existen diferentes maneras de definir estilos de línea en Matplotlib. Podemos usar estilos predefinidos como 'solid' (sólido), 'dashed' (tracejado), 'dotted' (punteado) y 'dashdot' (punto y rayado). También podemos definir estilos de línea personalizados usando una tupla de guiones.

linestyle_str = [
     ('solid', 'solid'),      ## Lo mismo que (0, ()) o '-'
     ('dotted', 'dotted'),    ## Lo mismo que (0, (1, 1)) o ':'
     ('dashed', 'dashed'),    ## Lo mismo que '--'
     ('dashdot', 'dashdot')]  ## Lo mismo que '-.'

linestyle_tuple = [
     ('loosely dotted',        (0, (1, 10))),
     ('dotted',                (0, (1, 1))),
     ('densely dotted',        (0, (1, 1))),
     ('long dash with offset', (5, (10, 3))),
     ('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))),

     ('dashdotdotted',         (0, (3, 5, 1, 5, 1, 5))),
     ('loosely dashdotdotted', (0, (3, 10, 1, 10, 1, 10))),
     ('densely dashdotdotted', (0, (3, 1, 1, 1, 1, 1)))]

Crear una función para trazar estilos de línea

Podemos crear una función para trazar los diferentes estilos de línea. La función toma un objeto de eje, una lista de estilos de línea y un título como parámetros de entrada.

def plot_linestyles(ax, linestyles, title):
    X, Y = np.linspace(0, 100, 10), np.zeros(10)
    yticklabels = []

    for i, (name, linestyle) in enumerate(linestyles):
        ax.plot(X, Y+i, linestyle=linestyle, linewidth=1.5, color='black')
        yticklabels.append(name)

    ax.set_title(title)
    ax.set(ylim=(-0.5, len(linestyles)-0.5),
           yticks=np.arange(len(linestyles)),
           yticklabels=yticklabels)
    ax.tick_params(left=False, bottom=False, labelbottom=False)
    ax.spines[:].set_visible(False)

    for i, (name, linestyle) in enumerate(linestyles):
        ax.annotate(repr(linestyle),
                    xy=(0.0, i), xycoords=ax.get_yaxis_transform(),
                    xytext=(-6, -12), textcoords='offset points',
                    color="blue", fontsize=8, ha="right", family="monospace")

Crear el gráfico

Podemos crear el gráfico llamando a la función plot_linestyles para cada conjunto de estilos de línea.

fig, (ax0, ax1) = plt.subplots(2, 1, figsize=(10, 8), height_ratios=[1, 3])

plot_linestyles(ax0, linestyle_str[::-1], title='Named linestyles')
plot_linestyles(ax1, linestyle_tuple[::-1], title='Parametrized linestyles')

plt.tight_layout()
plt.show()

Interpretar el gráfico

El gráfico resultante muestra los diferentes estilos de línea. El gráfico superior muestra los estilos de línea con nombre, mientras que el gráfico inferior muestra los estilos de línea parametrizados. Las anotaciones en el lado derecho muestran las tuplas de guiones utilizadas para cada estilo de línea.

Resumen

En este laboratorio, aprendimos cómo crear y usar diferentes estilos de línea en Matplotlib. Definimos estilos de línea usando estilos predefinidos y tuplas de guiones. También creamos una función para trazar los diferentes estilos de línea e interpretamos el gráfico resultante.