HOWTO · Matplotlib

Cómo establecer límites para ejes en Matplotlib

Podemos establecer límites para los ejes en Matplotlib usando los métodos xlim() o ylim(), set_xlim() o set_ylim() y axis().

En esta página

Para establecer los límites solo para el eje X, podríamos usar los métodos xlim() y set_xlim(). De manera similar para establecer los límites para el eje Y, podríamos usar los métodos ylim() y set_ylim(). También podemos usar el método axis() que puede controlar el rango de ambos ejes.

xlim() y ylim() para establecer límites de ejes en Matplotlib

matplotlib.pyplot.xlim() y matplotlib.pyplot.ylim() se puede usar para establecer u obtener límites para el eje X y el eje Y, respectivamente. Si pasamos argumentos en estos métodos, establecen los límites para los ejes respectivos y si no pasamos ningún argumento, obtenemos un rango de los ejes respectivos.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 500)
y = np.sin(2 * np.pi * x) + 1

fig = plt.figure(figsize=(8, 6))
plt.plot(x, y)
plt.title("Setting range of Axes", fontsize=25)
plt.xlabel("x", fontsize=18)
plt.ylabel("1+sinx", fontsize=18)
plt.xlim(4, 8)
plt.ylim(-0.5, 2.5)
plt.show()

Producción:

establecer límite de ejes usando xlim e ylim

Esto establece el rango del eje X de 4 a 8 mientras que el del eje Y de -0.5 a 2.5.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(1, 10, 500)
y = np.sin(2 * np.pi * x) + 1

fig = plt.figure(figsize=(8, 6))
plt.plot(x, y)
plt.title("Plot without limiting axes", fontsize=25)
plt.xlabel("x", fontsize=18)
plt.ylabel("1+sinx", fontsize=18)
plt.show()

Producción:

Trazar sin ejes limitantes

Como se ve en la figura de salida, si no utilizáramos las funciones xlim() y ylim(), obtendríamos una gráfica con el rango completo de ejes que es el eje X que va de 0 a 10 mientras que el eje Y va de 0 a 2.

Métodos set_xlim() y set_ylim() para establecer límites de eje

El matplotlib.axes.Axes.set_xlim y matplotlib.axes.Axes.set_ylim también se utilizan para establecer los límites del rango de números que se visualizan en la gráfica resultante.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 500)
y = np.sin(2 * np.pi * x) + 1

fig = plt.figure(figsize=(8, 6))
axes = plt.axes()
axes.set_xlim([4, 8])
axes.set_ylim([-0.5, 2.5])
plt.plot(x, y)
plt.title("Setting range of Axes", fontsize=25)
plt.xlabel("x", fontsize=18)
plt.ylabel("1+sinx", fontsize=18)
plt.show()

Producción:

Establecer rango de ejes usando los métodos set_xlim y set_ylim

Método axis() para establecer límites de ejes en Matplotlib

También podríamos usar matplotlib.pyplot.axis() para establecer límites de ejes. La sintaxis es la siguiente:

plt.axis([xmin, xmax, ymin, ymax])

Este método elimina la necesidad de una función separada para controlar el eje X y el eje Y.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 10, 50)
y = np.sin(2 * np.pi * x) + 1

fig = plt.figure(figsize=(8, 6))
plt.axis([4, 9, -0.5, 2.5])
plt.plot(x, y)
plt.title("Setting range of Axes", fontsize=25)
plt.xlabel("x", fontsize=18)
plt.ylabel("1+sinx", fontsize=18)
plt.show()

Producción:

establecer límite de ejes usando el método del eje