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=Tr
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%")
There isn't a clear and quick answer to this at the top of search engine results so I provide simple examples here:
.1e
= scientific notation with 1 decimal point (standard form)
.2f
= 2 decimal places
.3g
= 3 significant figures
.4%
= percentage with 4 decimal places
A more detailed explanation on the python string formatter can be found here: https://docs.python.org/3/library/string.html?highlight=string#formatspec (scroll down to table with e, E, f, F, etc. in the Type column)
In case you did not know, .1g does not refer to the decimal places, but instead refers to the number of significant figures.