Cómo establecer el rango del eje (xlim, ylim) en Matplotlib

C

Introducción

Matplotlib es una de las bibliotecas de visualización de datos más utilizadas en Python. Gran parte de la popularidad de Matplotlib proviene de sus opciones de personalización: puede modificar casi cualquier elemento de su jerarquía de objetos.

En este tutorial, veremos cómo establecer el rango del eje (xlim, ylim) en Matplotlib, para truncar o expandir la vista a límites específicos.

Crear una parcela

Primero creemos una trama simple:

import matplotlib.pyplot as plt
import numpy as np

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

x = np.arange(0, 10, 0.1)
y = np.sin(x)
z = np.cos(x)

ax.plot(y, color="blue", label="Sine wave")
ax.plot(z, color="black", label="Cosine wave")

plt.show()

Aquí, hemos trazado dos funciones seno, comenzando en 0 y termina en 100 con un paso de 0.1. Ejecutar este código produce:

Ahora, podemos ajustar el rango de este eje, que actualmente va desde 0 a 100.

Configuración del rango del eje en Matplotlib

Ahora, si queremos truncar esa vista, en una más pequeña o incluso en una más grande, podemos ajustar los límites X e Y. Se puede acceder a ellos a través de la instancia de PyPlot o del Axes ejemplo.

Cómo establecer X-Limit (xlim) en Matplotlib

Primero establezcamos el límite X, usando PyPlot y Axes instancias. Ambos métodos aceptan una tupla: los límites izquierdo y derecho. Entonces, por ejemplo, si quisiéramos truncar la vista para mostrar solo los datos en el rango de 25-50 en el eje X, usaríamos xlim([25, 50]):

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

x = np.arange(0, 10, 0.1)
y = np.sin(x)
z = np.cos(x)

ax.plot(y, color="blue", label="Sine wave")
ax.plot(z, color="black", label="Cosine wave")

plt.xlim([25, 50])

Esto limita la vista en el eje X a los datos entre 25 y 50 y resulta en:

Este mismo efecto se puede lograr estableciendo estos a través del ax objeto. De esta forma, si tenemos varios Axes, podemos establecer el límite para ellos por separado:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(figsize=(12, 6))

x = np.arange(0, 10, 0.1)
y = np.sin(x)
z = np.cos(x)

ax = fig.add_subplot(121)
ax2 = fig.add_subplot(122)

ax.set_title('Full view')
ax.plot(y, color="blue", label="Sine wave")
ax.plot(z, color="black", label="Cosine wave")

ax2.set_title('Truncated view')
ax2.plot(y, color="blue", label="Sine wave")
ax2.plot(z, color="black", label="Cosine wave")

ax2.set_xlim([25, 50])

plt.show()

Cómo establecer el límite Y (ylim) en Matplotlib

Ahora, establezcamos el límite Y. Esto se puede lograr con los mismos dos enfoques:

ax.plot(y, color="blue", label="Sine wave")
ax.plot(z, color="black", label="Cosine wave")

plt.ylim([-1, 0])

O:

ax.plot(y, color="blue", label="Sine wave")
ax.plot(z, color="black", label="Cosine wave")

ax.set_ylim([-1, 0])

Ambos resultan en:

Conclusión

En este tutorial, hemos repasado cómo establecer el rango del eje (es decir, los límites X e Y) usando Matplotlib en Python.

Si está interesado en la visualización de datos y no sabe por dónde empezar, asegúrese de consultar nuestro libro sobre Visualización de datos en Python.

Data Visualization in Python, un libro para desarrolladores de Python principiantes e intermedios, lo guiará a través de la manipulación simple de datos con Pandas, cubrirá bibliotecas de trazado centrales como Matplotlib y Seaborn, y le mostrará cómo aprovechar las bibliotecas declarativas y experimentales como Altair.

 

Visualización de datos en Python

¡Comprenda mejor sus datos con visualizaciones! Con 340 páginas, aprenderá los entresijos de la visualización de datos en Python con bibliotecas populares como Matplotlib, Seaborn, Bokeh y más.

 

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad