6
votes

comment comprendre le format d'annotation de carte thermique de Seaborn?

Je cherche un moyen d'afficher "0,0045" comme "0,45%" sur la seaboarn de seaboarn en spécifiant le mot clé fmt :

sns.heatmap(data, annot=True, fmt='??')

Cependant, je n'ai pas trouvé de liste de format à utiliser. En cherchant entre différents exemples, j'ai vu "d", ".2g", ".1f", ".1f%". Mais il n'est pas clair quelle est la convention que nous supposons ici.

Cela suppose-t-il que les gens ont une compréhension commune du format de formatage? Ou ceci est-il présent sur une page doc que j'ai manquée?


1 commentaires

Le code est annotation = ("{:" + self.fmt + "}").format(val) , alors commencez par pyformat.info


3 Réponses :


9
votes

Vous pouvez utiliser .2% comme fmt pour afficher vos annotations sous forme de pourcentages avec 2 décimales. Voici un exemple minimum complet. J'ai divisé par 100 pour avoir des nombres dans la plage qui vous intéresse


import numpy as np; np.random.seed(0)
import seaborn as sns; sns.set()
uniform_data = np.random.rand(6, 6)/100
ax = sns.heatmap(uniform_data,annot=True, fmt=".2%")

entrez la description de l'image ici


0 commentaires

1
votes

Au cas où vous ne le sauriez pas, .1g ne fait pas référence aux décimales, mais se réfère plutôt au nombre de chiffres significatifs.


0 commentaires

0
votes

Il n'y a pas de réponse claire et rapide à cela en haut des résultats des moteurs de recherche, donc je donne des exemples simples ici:

.1e = notation scientifique avec 1 point décimal (forme standard)

.2f = 2 décimales

.3g = 3 chiffres significatifs

.4% = pourcentage avec 4 décimales

Une explication plus détaillée sur le formateur de chaîne python peut être trouvée ici: https://docs.python.org/3/library/string.html?highlight=string#formatspec (faites défiler vers le bas jusqu'au tableau avec e, E, f, F , etc. dans la colonne Type)


0 commentaires