es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

xlabel = “etiqueta x” matplotlib = “matplotlib” python = “python” So, translated into Spanish, it would be: “etiqueta x matplotlib python”

Tengo una pregunta sobre matplotlib que quiero hacer.

En la imagen siguiente quiero “ampliar” la etiqueta, en lugar de tener un rango(0,1,0.2), quiero un rango(0,1,0.01) y visualizar cada paso (0.01, 0.02, 0.03, …).

Este es mi código de gráfica:

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

fig, ax = plt.subplots(figsize=(12, 6), dpi=800)
count = (frecuencia/len(acousticness))
width = 0.005
print(type(frecuencia))    

ax.set_ylim([0, 3])
xlim = np.arange(0, 1, 0.01)
my_colors = 'rgbkymc'
plt.bar(frecuencia.index, frecuencia, width, edgecolor="Orange", color=my_colors)
plt.ylim(0, 5)
plt.xlim(xlim)
# Agregar etiquetas
plt.title('Histograma de Acousticness')
plt.xlabel('Acousticness')
plt.ylabel('Frecuencia')

Además, ocurrió un error en plt.xlim(xlim):

ValueError: demasiados valores para desempaquetar (se esperaban 2)

Imagen disponible en: https://i.stack.imgur.com/gyAah.png

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para ampliar la etiqueta en el eje x y visualizar cada paso, puedes usar la función xticks de matplotlib. Reemplaza plt.xlim(xlim) con plt.xticks(np.arange(0, 1.01, 0.01), rotation=90) para establecer los valores de los ticks en cada paso de 0.01 y rotarlos 90 grados para una mejor visibilidad. Esto también debería resolver el error. El código actualizado sería el siguiente:

    import matplotlib.pyplot as plt
    import pandas as pd
    import numpy as np
    
    fig, ax = plt.subplots(figsize=(12, 6), dpi=800)
    count = (frecuencia/len(acousticness))
    width = 0.005
    print(type(frecuencia))    
    
    ax.set_ylim([0, 3])
    my_colors = 'rgbkymc'
    plt.bar(frecuencia.index, frecuencia, width, edgecolor="Orange", color=my_colors)
    plt.ylim(0, 5)
    plt.xticks(np.arange(0, 1.01, 0.01), rotation=90)
    # Agregar etiquetas
    plt.title('Histograma de Acousticness')
    plt.xlabel('Acousticness')
    plt.ylabel('Frecuencia')
    

Comments are closed.