Cambiar la frecuencia de ticks 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 cambiar la frecuencia de tick en Matplotlib. Haremos esto tanto a nivel de figura como a nivel de eje.

    ¿Cómo cambiar la frecuencia de tick en Matplotlib?

    Comencemos con una trama simple. Trazaremos dos líneas, con valores aleatorios:

    import matplotlib.pyplot as plt
    import numpy as np
    
    fig = plt.subplots(figsize=(12, 6))
    
    x = np.random.randint(low=0, high=50, size=100)
    y = np.random.randint(low=0, high=50, size=100)
    
    plt.plot(x, color="blue")
    plt.plot(y, color="black")
    
    plt.show()
    

    x y y rango de 0-50, y la longitud de estos arreglos es 100. Esto significa que tendremos 100 puntos de datos para cada uno de ellos. Luego, simplemente graficamos estos datos en el Axes objeto y mostrarlo a través de la instancia de PyPlot plt:

    Ahora, la frecuencia de los tics en el eje X es 20. Se establecen automáticamente en una frecuencia que parece adecuada para el conjunto de datos que proporcionamos.

    A veces, nos gustaría cambiar esto. Tal vez queramos reducir o aumentar la frecuencia. ¿Qué pasaría si quisiéramos tener una marca en cada 5 pasos, no en 20?

    Lo mismo ocurre con el eje Y. ¿Qué pasa si la distinción en este eje es aún más crucial y quisiéramos tener cada marca en cada paso?

    Configuración de la frecuencia de tick a nivel de figura en Matplotlib

    Cambiemos la frecuencia de tick a nivel de figura. Esto significa que si tenemos varios Axes, las marcas en todos estos serán uniformes y tendrán la misma frecuencia:

    import matplotlib.pyplot as plt
    import numpy as np
    
    fig = plt.subplots(figsize=(12, 6))
    
    x = np.random.randint(low=0, high=50, size=100)
    y = np.random.randint(low=0, high=50, size=100)
    
    plt.plot(x, color="blue")
    plt.plot(y, color="black")
    
    plt.xticks(np.arange(0, len(x)+1, 5))
    plt.yticks(np.arange(0, max(y), 2))
    
    plt.show()
    

    Puedes usar el xticks() y yticks() funciones y pasar una matriz. En el eje X, esta matriz comienza en 0 y termina a lo largo del x formación. En el eje Y, comienza en 0 y termina en el valor máximo de y. También puede codificar las variables.

    El argumento final es el step. Aquí es donde definimos qué tan grande debe ser cada paso. Tendremos un tic en cada 5 pasos en el eje X y una marca en cada 2 pasos en el eje Y:

    Configuración de la frecuencia de tick a nivel de eje en Matplotlib

    Si tiene varios gráficos en curso, es posible que desee cambiar la frecuencia de marcación en el nivel del eje. Por ejemplo, querrá tics raros en un gráfico, mientras que querrá tics frecuentes en el otro.

    Puedes usar el set_xticks() y set_yticks() funciones en el devuelto Axes instancia al agregar subtramas a un Figure. Vamos a crear un Figure con dos ejes y cambie la frecuencia de tick en ellos por separado:

    import matplotlib.pyplot as plt
    import numpy as np
    
    fig = plt.figure(figsize=(12, 6))
    
    ax = fig.add_subplot(121)
    ax2 = fig.add_subplot(122)
    
    x = np.random.randint(low=0, high=50, size=100)
    y = np.random.randint(low=0, high=50, size=100)
    z = np.random.randint(low=0, high=50, size=100)
    
    ax.plot(x, color="blue")
    ax.plot(y, color="black")
    ax2.plot(y, color="black")
    ax2.plot(z, color="green")
    
    ax.set_xticks(np.arange(0, len(x)+1, 5))
    ax.set_yticks(np.arange(0, max(y), 2))
    ax2.set_xticks(np.arange(0, len(x)+1, 25))
    ax2.set_yticks(np.arange(0, max(y), 25))
    
    plt.show()
    

    Ahora, esto resulta en:

    Conclusión

    En este tutorial, hemos repasado varias formas de cambiar la frecuencia de ticks en Matplotlib tanto a nivel de figura como a nivel de eje.

    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 *