Visualización de Matplotlib Connection Patch

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

Matplotlib es una poderosa biblioteca de visualización de datos en Python. Proporciona una variedad de herramientas de visualización para crear gráficos y diagramas impresionantes. En este laboratorio, aprenderemos sobre ConnectionPatch, que se utiliza para dibujar una línea entre puntos definidos en diferentes sistemas de coordenadas y/o ejes.

Consejos sobre la VM

Una vez que se haya iniciado 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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/comments("Comments") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48616{{"Visualización de Matplotlib Connection Patch"}} matplotlib/figures_axes -.-> lab-48616{{"Visualización de Matplotlib Connection Patch"}} python/comments -.-> lab-48616{{"Visualización de Matplotlib Connection Patch"}} matplotlib/line_plots -.-> lab-48616{{"Visualización de Matplotlib Connection Patch"}} python/lists -.-> lab-48616{{"Visualización de Matplotlib Connection Patch"}} python/tuples -.-> lab-48616{{"Visualización de Matplotlib Connection Patch"}} python/importing_modules -.-> lab-48616{{"Visualización de Matplotlib Connection Patch"}} python/using_packages -.-> lab-48616{{"Visualización de Matplotlib Connection Patch"}} python/data_visualization -.-> lab-48616{{"Visualización de Matplotlib Connection Patch"}} end

Importar las bibliotecas necesarias

Antes de comenzar, importemos las bibliotecas necesarias.

import matplotlib.pyplot as plt
from matplotlib.patches import ConnectionPatch

Crear la gráfica

A continuación, creemos la gráfica con dos subgráficos.

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(6, 3))

Dibujar una flecha simple

Ahora, vamos a dibujar una flecha simple entre dos puntos en coordenadas de eje dentro de un solo eje.

xyA = (0.2, 0.2)
xyB = (0.8, 0.8)
coordsA = "data"
coordsB = "data"
con = ConnectionPatch(xyA, xyB, coordsA, coordsB,
                      arrowstyle="-|>", shrinkA=5, shrinkB=5,
                      mutation_scale=20, fc="w")
ax1.plot([xyA[0], xyB[0]], [xyA[1], xyB[1]], "o")
ax1.add_artist(con)

Dibujar una flecha entre diferentes ejes

Vamos a dibujar una flecha entre el mismo punto en coordenadas de datos, pero en diferentes ejes.

xy = (0.3, 0.2)
con = ConnectionPatch(
    xyA=xy, coordsA=ax2.transData,
    xyB=xy, coordsB=ax1.transData,
    arrowstyle="->", shrinkB=5)
fig.add_artist(con)

Dibujar una línea entre puntos diferentes

Finalmente, vamos a dibujar una línea entre puntos diferentes, definidos en diferentes sistemas de coordenadas.

con = ConnectionPatch(
    ## en coordenadas de eje
    xyA=(0.6, 1.0), coordsA=ax2.transAxes,
    ## x en coordenadas de eje, y en coordenadas de datos
    xyB=(0.0, 0.2), coordsB=ax2.get_yaxis_transform(),
    arrowstyle="-")
ax2.add_artist(con)

Resumen

En este laboratorio, aprendimos sobre ConnectionPatch, que se utiliza para dibujar una línea entre puntos definidos en diferentes sistemas de coordenadas y/o ejes. También aprendimos cómo dibujar una flecha simple y una línea entre puntos diferentes en una gráfica.