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

    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.

     

    Etiquetas:

    Deja una respuesta

    Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *