Creando Figuras con Matplotlib en Python

MatplotlibMatplotlibBeginner
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

Esta práctica te guiará a través del proceso de creación de figuras con títulos, subtítulos y etiquetas globales utilizando la librería Matplotlib en Python. Aprenderás a crear diferentes tipos de gráficos de oscilación y a agregar una etiqueta global en el eje x o y a una figura.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haz 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 tengas 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 tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.

Crea un gráfico de oscilación amortiguada y no amortiguada

Primero, crearemos una figura con dos subgráficos, uno para una oscilación amortiguada y otro para una oscilación no amortiguada. Utilizaremos la función np.linspace() para crear una matriz de valores de tiempo y luego graficaremos los valores correspondientes de amplitud para cada tipo de oscilación utilizando las funciones np.cos() y np.exp().

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.0, 5.0, 501)

fig, (ax1, ax2) = plt.subplots(1, 2, layout='constrained', sharey=True)
ax1.plot(x, np.cos(6*x) * np.exp(-x))
ax1.set_title('amortiguada')
ax1.set_xlabel('tiempo (s)')
ax1.set_ylabel('amplitud')

ax2.plot(x, np.cos(6*x))
ax2.set_xlabel('tiempo (s)')
ax2.set_title('no amortiguada')

fig.suptitle('Diferentes tipos de oscilaciones', fontsize=16)

plt.show()

Agrega etiquetas globales en los ejes x e y a una figura

A continuación, agregaremos etiquetas globales en los ejes x e y a una figura que muestra los precios relativos de acciones de diferentes empresas a lo largo del tiempo. Utilizaremos la función np.genfromtxt() para leer un archivo CSV que contiene datos de precios de acciones y luego graficaremos los datos de cada empresa utilizando subgráficos. Utilizaremos los métodos fig.supxlabel() y fig.supylabel() para agregar etiquetas globales en los ejes x e y a la figura.

from matplotlib.cbook import get_sample_data

with get_sample_data('Stocks.csv') as file:
    stocks = np.genfromtxt(
        file, delimiter=',', names=True, dtype=None,
        converters={0: lambda x: np.datetime64(x, 'D')}, skip_header=1)

fig, axs = plt.subplots(4, 2, figsize=(9, 5), layout='constrained',
                        sharex=True, sharey=True)
for nn, ax in enumerate(axs.flat):
    column_name = stocks.dtype.names[1+nn]
    y = stocks[column_name]
    line, = ax.plot(stocks['Date'], y / np.nanmax(y), lw=2.5)
    ax.set_title(column_name, fontsize='small', loc='left')
fig.supxlabel('Año')
fig.supylabel('Precio de la acción relativo al máximo')

plt.show()

Resumen

En esta práctica, aprendiste cómo crear figuras con títulos y subtítulos utilizando la librería Matplotlib en Python. También aprendiste cómo agregar etiquetas globales en los ejes x e y a una figura. Estas habilidades son útiles para crear visualizaciones claras e informativas de datos.