Création de TickedStroke dans Matplotlib

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans Matplotlib, patheffects peut être utilisé pour modifier la manière dont les chemins sont tracés. TickedStroke est un type de patheffect qui trace des lignes avec un style rayé. Ce tutoriel vous guidera tout au long des étapes de création de TickedStroke dans Matplotlib.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez sur le coin supérieur gauche pour basculer vers l'onglet Carnet d'adresses pour accéder au carnet Jupyter pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Application de TickedStroke aux chemins

Dans cette étape, nous allons appliquer TickedStroke aux chemins.

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()

Ce code créera un cercle unitaire avec l'effet de tracé rayé TickedStroke.

Application de TickedStroke aux lignes

Dans cette étape, nous allons appliquer TickedStroke aux lignes.

fig, ax = plt.subplots(figsize=(6, 6))
ax.plot([0, 1], [0, 1], label="Ligne",
        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="Courbe", path_effects=[patheffects.withTickedStroke()])

ax.legend()

plt.show()

Ce code créera une ligne et une courbe avec l'effet de tracé rayé TickedStroke.

Application de TickedStroke aux graphes de courbes de niveau

Dans cette étape, nous allons appliquer TickedStroke aux graphes de courbes de niveau.

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

nx = 101
ny = 105

## Configurez les vecteurs de mesure
xvec = np.linspace(0.001, 4.0, nx)
yvec = np.linspace(0.001, 4.0, ny)

## Configurez les matrices de mesure. Conceptez la charge surfacique et le rapport d'engrenage.
x1, x2 = np.meshgrid(xvec, yvec)

## Évaluez certaines choses à tracer
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()

Ce code créera un graphe de courbes de niveau avec l'effet de tracé rayé TickedStroke.

Direction/sens des traits de cote

Dans cette étape, nous allons changer le côté des traits de cote.

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

ax.plot(line_x, line_y, label="Côté opposé",
        path_effects=[patheffects.withTickedStroke(spacing=7, angle=-135)])

ax.legend()
plt.show()

Ce code créera une ligne avec des traits de cote des deux côtés.

Sommaire

Ce tutoriel a montré comment créer TickedStroke dans Matplotlib. En suivant ces étapes, vous pouvez appliquer TickedStroke à des chemins, des lignes et des graphes de courbes de niveau. Vous pouvez également ajuster la direction/côté des traits de cote.