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.

Mapa de calor de Seaborn en Python – Numpy asarray()

Estoy tratando de cambiar la apariencia de la imagen (adjunta) en la pantalla. En lugar de mostrar el número flotante, quiero mostrarlo como un porcentaje, es decir, en lugar de 1.00 se mostraría como 100%, -.15 se mostraría como -15%, etc.

A continuación se muestra la sección del código que crea una etiqueta. He intentado diferentes cosas pero hasta ahora sin éxito. Cualquier ayuda o sugerencia será muy apreciada.

labels = (np.asarray(["{0} \n {1:2f}".format(symb,value)
                      for symb, value in zip(symbol.flatten(),
                                             perchange.flatten())])
          ).reshape(3,10)

Si esto no es una tarea fácil sin usar un código más pesado, ¿cómo puedo truncar el número a dos decimales?

Ejemplo de salida: Enlace a la Imagen de Salida

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para mostrar el float como porcentaje, puedes modificar el código de creación de las etiquetas de la siguiente manera:

    labels = (np.asarray(["{0} \n {1:.0%}".format(symb, value)
                          for symb, value in zip(symbol.flatten(),
                                                 perchange.flatten())])
              ).reshape(3, 10)
    

    El especificador de formato :"%.0f%" en la función format() convertirá el float en un porcentaje sin decimales.

    Alternativamente, para truncar el número a dos decimales, puedes usar el especificador de formato :.2f:

    labels = (np.asarray(["{0} \n {1:.2f}".format(symb, value)
                          for symb, value in zip(symbol.flatten(),
                                                 perchange.flatten())])
              ).reshape(3, 10)
    

    Esto redondeará el float a dos decimales.

Comments are closed.