Dibujar formas con Matplotlib en Python

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, aprenderemos a dibujar diversas formas utilizando la librería Matplotlib en Python. Matplotlib es una librería de trazado para el lenguaje de programación Python y su extensión matemática numérica NumPy. Proporciona una API orientada a objetos para incrustar trazados en aplicaciones utilizando kits de herramientas GUI de propósito general como Tkinter, wxPython, Qt o GTK.

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 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/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") matplotlib/BasicConceptsGroup -.-> matplotlib/saving_figures("Saving Figures to File") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48554{{"Dibujar formas con Matplotlib en Python"}} matplotlib/figures_axes -.-> lab-48554{{"Dibujar formas con Matplotlib en Python"}} matplotlib/saving_figures -.-> lab-48554{{"Dibujar formas con Matplotlib en Python"}} python/for_loops -.-> lab-48554{{"Dibujar formas con Matplotlib en Python"}} python/lists -.-> lab-48554{{"Dibujar formas con Matplotlib en Python"}} python/tuples -.-> lab-48554{{"Dibujar formas con Matplotlib en Python"}} python/importing_modules -.-> lab-48554{{"Dibujar formas con Matplotlib en Python"}} python/data_visualization -.-> lab-48554{{"Dibujar formas con Matplotlib en Python"}} end

Importar bibliotecas

Antes de comenzar a utilizar Matplotlib, necesitamos importar las bibliotecas necesarias.

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.path as mpath

Definir formas

Definiremos las formas que queremos dibujar utilizando Matplotlib. En este ejemplo, dibujaremos un círculo, un rectángulo, un segmento circular, un polígono regular, una elipse, una flecha, un recuadro de camino y un recuadro decorado.

shapes = [
    mpatches.Circle((0, 0), 0.1, ec="none"),
    mpatches.Rectangle((-0.025, -0.05), 0.05, 0.1, ec="none"),
    mpatches.Wedge((0, 0), 0.1, 30, 270, ec="none"),
    mpatches.RegularPolygon((0, 0), 5, radius=0.1),
    mpatches.Ellipse((0, 0), 0.2, 0.1),
    mpatches.Arrow(-0.05, -0.05, 0.1, 0.1, width=0.1),
    mpatches.PathPatch(mpath.Path([(0, 0), (0.5, 0.5), (1, 0)], [1, 2, 2]), ec="none"),
    mpatches.FancyBboxPatch((-0.025, -0.05), 0.05, 0.1, ec="none",
                            boxstyle=mpatches.BoxStyle("Round", pad=0.02)),
]

Dibujar formas

Ahora dibujaremos las formas utilizando Matplotlib iterando a través de la lista shapes y agregándolas a la gráfica.

fig, ax = plt.subplots()
for shape in shapes:
    ax.add_artist(shape)
plt.xlim([-0.5, 1.5])
plt.ylim([-0.5, 1.5])
plt.axis('off')
plt.show()

Personalizar formas

Podemos personalizar las formas estableciendo varias propiedades como el color, el color del borde y el alfa.

shapes = [
    mpatches.Circle((0, 0), 0.1, color='red', alpha=0.5),
    mpatches.Rectangle((-0.025, -0.05), 0.05, 0.1, ec="none", color='green', alpha=0.5),
    mpatches.Wedge((0, 0), 0.1, 30, 270, ec="none", color='blue', alpha=0.5),
    mpatches.RegularPolygon((0, 0), 5, radius=0.1, color='orange', alpha=0.5),
    mpatches.Ellipse((0, 0), 0.2, 0.1, color='purple', alpha=0.5),
    mpatches.Arrow(-0.05, -0.05, 0.1, 0.1, width=0.1, color='yellow', alpha=0.5),
    mpatches.PathPatch(mpath.Path([(0, 0), (0.5, 0.5), (1, 0)], [1, 2, 2]), ec="none", color='pink', alpha=0.5),
    mpatches.FancyBboxPatch((-0.025, -0.05), 0.05, 0.1, ec="none", color='brown', alpha=0.5,
                            boxstyle=mpatches.BoxStyle("Round", pad=0.02)),
]

fig, ax = plt.subplots()
for shape in shapes:
    ax.add_artist(shape)
plt.xlim([-0.5, 1.5])
plt.ylim([-0.5, 1.5])
plt.axis('off')
plt.show()

Guardar la gráfica

Podemos guardar la gráfica como un archivo de imagen utilizando la función savefig.

fig, ax = plt.subplots()
for shape in shapes:
    ax.add_artist(shape)
plt.xlim([-0.5, 1.5])
plt.ylim([-0.5, 1.5])
plt.axis('off')
plt.savefig('shapes.png')

Resumen

En este laboratorio, aprendimos cómo dibujar varias formas utilizando la biblioteca Matplotlib en Python. Aprendimos cómo definir formas, dibujar formas, personalizar formas y guardar la gráfica como un archivo de imagen. Matplotlib proporciona una API fácil de usar para dibujar varios tipos de gráficas y se utiliza ampliamente en la visualización de datos.