如何理解 Seaborn 的热图注释格式?

Lis*_*isa 14 python matplotlib seaborn

我正在寻找一种seaboarn通过指定fmt关键字在的热图上将“0.0045”显示为“0.45%”的方法:

sns.heatmap(data, annot=True, fmt='??')
Run Code Online (Sandbox Code Playgroud)

但是,我没有找到要使用的格式列表。在不同的示例之间搜索,我看到了“d”、“.2g”、“.1f”、“.1f%”。但不清楚我们在这里假设的约定是什么。

这是假设人们对格式格式有共同的理解吗?或者这出现在我错过的文档页面上?

小智 19

在搜索引擎结果的顶部没有一个明确而快速的答案,所以我在这里提供简单的例子:

.1e = 带 1 个小数点的科学记数法(标准形式)

.2f = 2 位小数

.3g = 3 位有效数字

.4% = 4位小数的百分比

可以在此处找到有关 python 字符串格式化程序的更详细说明:https : //docs.python.org/3/library/string.html? highlight=string#formatspec (向下滚动到带有 e、E、f、F 的表格等在类型列中)


She*_*ore 17

您可以使用.2%as 将fmt您的注释显示为带有 2 个小数位的百分比。以下是一个最小的完整示例。我已经除以 100 以获得您感兴趣的范围内的数字


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%")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明