Search code examples
pythonseabornheatmapplot-annotations

How to understand Seaborn's heatmap annotation format


I am looking for a way to show "0.0045" as "0.45%" on seaboarn's heatmap by specifying the fmt keyword:

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

However, I did not find a list of format to use. Searching between different examples, I have seen "d", ".2g", ".1f", ".1f%". But it is not clear what is the convention we are assuming here.

Is this assuming people have a common understanding of the formatting format? Or this is present on a doc page I missed?


Solution

  • You can use .2% as the fmt to have your annotations displayed as percentages with 2 decimal places. Following is a minimum complete example. I have divided by 100 to have numbers in the range you are interested in


    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%")
    

    enter image description here