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.

Cambiar el texto de las marcas en un gráfico de matplotlib

Supongamos que si quisiera cambiar la etiqueta de la marca de verificación de ‘2’ del eje Y a ‘B’, usé plt.yticks(2,'B') pero no parece funcionar.

¿Existe alguna forma de modificarlo? Aquí está el código:

import matplotlib.pyplot as plt 

y = [-1,2,3,4,5,0,1]
x = [3,5,3,9,7,1,4]

colorsValue = []
for value in x:
    if value < 4:
        colorsValue.append('yellow')
    elif value >= 4:
        colorsValue.append('red')
    else:
        colorsValue.append('orange')

plt.barh(y, x, color = colorsValue)

plt.ylabel('Y')
plt.xlabel('X')

plt.yticks(2,'B')

plt.show()
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el método yticks() no se está utilizando correctamente. En lugar de pasar el índice de la marca de escala (que en este caso es 2), debemos pasar una lista que contenga las nuevas etiquetas de las marcas de escala. Así es como podemos modificar el código para cambiar la etiqueta de la marca de escala ‘2’ del eje Y a ‘B’:

    import matplotlib.pyplot as plt 
    
    y = [-1,2,3,4,5,0,1]
    x = [3,5,3,9,7,1,4]
    
    coloresValue = []
    for valor in x:
        if valor < 4:
            coloresValue.append('amarillo')
        elif valor >= 4:
            coloresValue.append('rojo')
        else:
            coloresValue.append('naranja')
    
    plt.barh(y, x, color = coloresValue)
    
    plt.ylabel('Y')
    plt.xlabel('X')
    
    plt.yticks([2], ['B']) # Pasar la nueva etiqueta de la marca de escala como una lista que contenga el string 'B'
    
    plt.show()
    

    Esto debería cambiar la etiqueta de la marca de escala ‘2’ a ‘B’.

Comments are closed.