Tutorial de Efectos de Ruta en Matplotlib

PythonPythonBeginner
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

En este laboratorio, aprenderá a usar efectos de ruta en Matplotlib para agregar efectos especiales a sus gráficos. Los efectos de ruta le permiten agregar trazos personalizados, sombras y otros efectos visuales a su texto y elementos de gráfico.

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 algunos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no puede automatizarse debido a las limitaciones de Jupyter Notebook.

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

Importar bibliotecas y preparar datos

Primero, necesitamos importar las bibliotecas necesarias y preparar algunos datos para graficar.

import matplotlib.pyplot as plt
import numpy as np

## Prepare data
arr = np.arange(25).reshape((5, 5))

Agregar efecto de trazo a texto

Podemos agregar un efecto de trazo a texto utilizando el efecto de ruta withStroke. En este ejemplo, agregaremos un efecto de trazo al texto de la anotación en el gráfico.

## Create plot and add text annotation with stroke effect
fig, ax = plt.subplots()
ax.imshow(arr)
txt = ax.annotate("test", (1., 1.), (0., 0),
                   arrowprops=dict(arrowstyle="->",
                                   connectionstyle="angle3", lw=2),
                   size=20, ha="center",
                   path_effects=[patheffects.withStroke(linewidth=3,
                                                        foreground="w")])
txt.arrow_patch.set_path_effects([
    patheffects.Stroke(linewidth=5, foreground="w"),
    patheffects.Normal()])

## Add grid with stroke effect
pe = [patheffects.withStroke(linewidth=3,
                             foreground="w")]
ax.grid(True, linestyle="-", path_effects=pe)

plt.show()

Agregar efecto de trazo a las líneas de contorno

También podemos agregar efectos de trazo a las líneas de contorno y sus etiquetas utilizando el efecto de ruta withStroke.

## Create plot and add contour lines with stroke effect
fig, ax = plt.subplots()
ax.imshow(arr)
cntr = ax.contour(arr, colors="k")

plt.setp(cntr.collections, path_effects=[
    patheffects.withStroke(linewidth=3, foreground="w")])

clbls = ax.clabel(cntr, fmt="%2.0f", use_clabeltext=True)
plt.setp(clbls, path_effects=[
    patheffects.withStroke(linewidth=3, foreground="w")])

plt.show()

Agregar efecto de sombra a la leyenda

Podemos agregar un efecto de sombra a una leyenda utilizando el efecto de ruta withSimplePatchShadow.

## Create plot and add shadow effect to legend
fig, ax = plt.subplots()
p1, = ax.plot([0, 1], [0, 1])
leg = ax.legend([p1], ["Line 1"], fancybox=True, loc='upper left')
leg.legendPatch.set_path_effects([patheffects.withSimplePatchShadow()])

plt.show()

Resumen

En este laboratorio, aprendiste cómo usar efectos de ruta en Matplotlib para agregar efectos especiales a tus gráficos. Aprendiste cómo agregar efectos de trazo a texto, líneas de contorno y sus etiquetas, así como cómo agregar un efecto de sombra a una leyenda. Con los efectos de ruta, puedes crear gráficos visualmente impresionantes que transmitan tus datos de manera clara y concisa.