【问题标题】:Seaborn showing scientific notation in heatmap for 3-digit numbersSeaborn 在热图中显示 3 位数字的科学记数法
【发布时间】:2015-06-21 06:25:28
【问题描述】:

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

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

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

【问题讨论】:

    标签: python pandas matplotlib seaborn


    【解决方案1】:

    根据docs,正在应用参数fmt='.2g',因为您已设置annot=True,因此您可以修改应用到的格式:

    sns.heatmap(table2,annot=True,cmap='Blues', fmt='g')
    

    【讨论】:

    • 如果你的值是这样的整数,你也可以使用fmt='d'sns.heatmap(table2, annot=True, cmap='Blues', fmt='d')
    • 对于有两位小数的浮点数,它是.2f。有关更多选项,请参阅docs.python.org/3/library/…
    【解决方案2】:

    根据docsannot=True时参数fmt设置为.2g。因此,例如,如果您的数据是float,您可以使用:

    sns.heatmap(table2, annot=True, cmap='Blues', fmt='.3g')
    

    这样,您是在告诉 python 显示 3 个有效数字。要更好地理解“fmt”,请查看以下答案:https://stackoverflow.com/a/65020192/4529605

    【讨论】:

      猜你喜欢
      • 2018-05-23
      • 2021-09-13
      • 2014-11-03
      • 2016-02-21
      • 2019-10-24
      • 2020-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多