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 *