四舍五入小数位 Seaborn 热图标签

Seb*_*ian 7 matplotlib heatmap python-3.x seaborn

我有一个自动获取其标签的热图,但是其中一些是长小数(我不明白为什么,因为我用于热图的值有 3 位小数,例如 0.009 显示为长小数),我想将所有标签四舍五入到小数点后 4 位。这是代码的相关部分:

table1 = df.pivot('ToxinK','Khill','Fraction') #Putting information from the dataframe into a pivot table
sns.heatmap(table1,cmap='Purples',norm=LogNorm())
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我尝试过在seaborn上找到的解决方案太长的数字标签,但是对我不起作用,我不知道为什么这是尝试:

majorFormatter = FormatStrFormatter('%0.4f')
ax1=sns.heatmap(table1,cmap='Purples',norm=LogNorm())
ax1.yaxis.set_major_formatter(majorFormatter)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

关于如何解决这个问题的任何建议或信息都将非常有用。提前致谢!

小智 5

要格式化注释,请输入fmt='.4f'4 位小数的参数。以您的第一个代码为例:

sns.heatmap(table1, cmap='Purples', fmt='.4f')
Run Code Online (Sandbox Code Playgroud)