Seaborn在热图中显示3位数字的科学记数法

cig*_*ger 54 python matplotlib pandas seaborn

我正在从pandas pivot_table创建一个热图,如下所示:

table2 = pd.pivot_table(df,values='control',columns='Year',index='Region',aggfunc=np.sum)
sns.heatmap(table2,annot=True,cmap='Blues')
Run Code Online (Sandbox Code Playgroud)

它会创建一个热图,如下所示.你可以看到数字不是很大(最多750),但它用科学记数法显示它们.如果我查看表本身,情况并非如此.有关如何让它以简单的符号显示数字的任何想法?

热图

EdC*_*ica 85

根据文档,param fmt=.2g正在应用,因为你已设置,annot=True所以你可以修改应用的格式:

sns.heatmap(table2,annot=True,cmap='Blues', fmt='g')
Run Code Online (Sandbox Code Playgroud)

  • 如果您的值是这样的整数,也可以使用`fmt ='d'`:`sns.heatmap(table2,annot = True,cmap ='Blues',fmt ='d')` (2认同)
  • 对于具有两位小数的浮点数,它是“.2f”。有关更多选项,请参阅 https://docs.python.org/3/library/string.html?highlight=string#formatspec。 (2认同)

小智 9

根据文档,该参数fmt设置为.2gwhen annot=True。因此,例如,如果您的数据是float,您可以使用:

sns.heatmap(table2, annot=True, cmap='Blues', fmt='.3g')
Run Code Online (Sandbox Code Playgroud)

这样,您就告诉 python 显示 3 位有效数字。为了更好地理解“fmt”,请查看这个答案:/sf/answers/4551413471/