Creando TickedStroke 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 Matplotlib, patheffects se puede utilizar para alterar la forma en que se dibujan las rutas. TickedStroke es un tipo de patheffect que dibuja líneas con un estilo rayado. Este tutorial lo guiará a través de los pasos para crear TickedStroke 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 su retroalimentación después de la sesión y lo resolveremos rápidamente para usted.

Aplicando TickedStroke a las rutas

En este paso, aplicaremos TickedStroke a las rutas.

import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.path as path
import matplotlib.patheffects as patheffects

fig, ax = plt.subplots(figsize=(6, 6))
path = path.Path.unit_circle()
patch = patches.PathPatch(path, facecolor='none', lw=2, path_effects=[
    patheffects.withTickedStroke(angle=-90, spacing=10, length=1)])

ax.add_patch(patch)
ax.axis('equal')
ax.set_xlim(-2, 2)
ax.set_ylim(-2, 2)

plt.show()

Este código creará un círculo unitario con el efecto de ruta TickedStroke.

Aplicando TickedStroke a las líneas

En este paso, aplicaremos TickedStroke a las líneas.

fig, ax = plt.subplots(figsize=(6, 6))
ax.plot([0, 1], [0, 1], label="Line",
        path_effects=[patheffects.withTickedStroke(spacing=7, angle=135)])

nx = 101
x = np.linspace(0.0, 1.0, nx)
y = 0.3*np.sin(x*8) + 0.4
ax.plot(x, y, label="Curve", path_effects=[patheffects.withTickedStroke()])

ax.legend()

plt.show()

Este código creará una línea y una curva con el efecto de ruta TickedStroke.

Aplicando TickedStroke a los gráficos de contorno

En este paso, aplicaremos TickedStroke a los gráficos de contorno.

fig, ax = plt.subplots(figsize=(6, 6))

nx = 101
ny = 105

## Establece los vectores de la encuesta
xvec = np.linspace(0.001, 4.0, nx)
yvec = np.linspace(0.001, 4.0, ny)

## Establece las matrices de la encuesta. Diseña la carga del disco y la relación de transmisión.
x1, x2 = np.meshgrid(xvec, yvec)

## Evalúa algunas cosas para graficar
obj = x1**2 + x2**2 - 2*x1 - 2*x2 + 2
g1 = -(3*x1 + x2 - 5.5)
g2 = -(x1 + 2*x2 - 4.5)
g3 = 0.8 + x1**-3 - x2

cntr = ax.contour(x1, x2, obj, [0.01, 0.1, 0.5, 1, 2, 4, 8, 16],
                  colors='black')
ax.clabel(cntr, fmt="%2.1f", use_clabeltext=True)

cg1 = ax.contour(x1, x2, g1, [0], colors='sandybrown')
plt.setp(cg1.collections,
         path_effects=[patheffects.withTickedStroke(angle=135)])

cg2 = ax.contour(x1, x2, g2, [0], colors='orangered')
plt.setp(cg2.collections,
         path_effects=[patheffects.withTickedStroke(angle=60, length=2)])

cg3 = ax.contour(x1, x2, g3, [0], colors='mediumblue')
plt.setp(cg3.collections,
         path_effects=[patheffects.withTickedStroke(spacing=7)])

ax.set_xlim(0, 4)
ax.set_ylim(0, 4)

plt.show()

Este código creará un gráfico de contorno con el efecto de ruta TickedStroke.

Dirección/lado de las marcas de graduación

En este paso, cambiaremos el lado de las marcas de graduación.

fig, ax = plt.subplots(figsize=(6, 6))
line_x = line_y = [0, 1]
ax.plot(line_x, line_y, label="Linea",
        path_effects=[patheffects.withTickedStroke(spacing=7, angle=135)])

ax.plot(line_x, line_y, label="Lado opuesto",
        path_effects=[patheffects.withTickedStroke(spacing=7, angle=-135)])

ax.legend()
plt.show()

Este código creará una línea con marcas de graduación en ambos lados.

Resumen

Este tutorial mostró cómo crear TickedStroke en Matplotlib. Siguiendo estos pasos, puede aplicar TickedStroke a rutas, líneas y gráficos de contorno. También puede ajustar la dirección/lado de las marcas de graduación.