Cambiar la frecuencia de ticks en Matplotlib

     

    Te puede interesar:Análisis estadístico de hipótesis en Python con ANOVAs, Chi-cuadrado y correlación de Pearson

    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.

    Te puede interesar:Patrones de diseño estructural en Python

    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.

    Te puede interesar:Ordenar por cubos en Python

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

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

    Te puede interesar:Leer y escribir archivos CSV en Python con Pandas
    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:

    Te puede interesar:PNL simple en Python con TextBlob: tokenización

    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.

    Te puede interesar:Reemplazar las apariciones de una subcadena en una cadena con Python

    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?

    Te puede interesar:Rotar etiquetas de eje en Matplotlib

    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?

    Te puede interesar:Matplotlib: Cambiar el tamaño del marcador del gráfico de dispersión

    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:

    Te puede interesar:Gráfico de histograma de Matplotlib: tutorial y ejemplos
    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.

    Te puede interesar:Distribución de Seaborn / Gráfico de histograma: tutorial y ejemplos

    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:

    Te puede interesar:Gráfico de barras de Matplotlib – Tutorial y ejemplos

    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.

    Te puede interesar:Gráfico de barras de Seaborn – Tutorial y ejemplos

    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.

     

    Rate this post

    Etiquetas: