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?
3 Réponses :
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%")
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.
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)
Le code est
annotation = ("{:" + self.fmt + "}").format(val)
, alors commencez par pyformat.info