当前位置:   article > 正文

Python绘制热力图_python热力图

python热力图

最近投SCI论文的时候,有些实验结果需要热力图展示,所以专门试了一下如何用python绘制热力图,发现简单好用,下面分享给大家具体方法。

一、安装python库

需要安装pandas、seaborn、matplotlib安装包依赖,均用pip一键安装即可,然后导入相关包。

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

二、绘制热力图

具体实现代码如下,代码中的注释部分包括修改字体大小,修改具体内容、行列标签等:

  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. # Author thesky
  4. import pandas as pd
  5. import seaborn as sns
  6. import matplotlib.pyplot as plt
  7. # 设置中文字体
  8. plt.rcParams['font.family'] = 'SimHei'
  9. # 数据
  10. data = [[91.1, 93.6, 93.8],
  11. [91.4, 93.7, 93.6],
  12. [92.6, 93.7, 93.6],
  13. [93.6, 93.8, 93.5],
  14. [93.2, 93.6, 93.4]]
  15. # 创建 DataFrame
  16. df = pd.DataFrame(data, columns=['0.001', '0.0001', '0.00001'], index=['1.0', '0.1', '0.01', '0.001', '0.0001'])
  17. # 制作热力图
  18. plt.figure(figsize=(10, 7))
  19. sns.set(font_scale=1.2) # 设置字体比例
  20. # custom_colors = sns.diverging_palette(20, 220, n=256, as_cmap=True) # 创建自定义的调色板
  21. custom_colors = ["#8B4513", "#FF4500"] # 棕色和红色
  22. # 设置横轴和纵轴标签
  23. plt.xlabel('adv_eps', fontsize=20) # 设置标签字体大小
  24. plt.ylabel('adv_lr', fontsize=20)
  25. # heatmap = sns.heatmap(df, annot=True, cmap='YlGnBu', fmt='.1f') # 保留一位小数
  26. heatmap = sns.heatmap(df, annot=True, cmap='YlOrRd', fmt='.1f')
  27. # 设置横轴和纵轴标签
  28. plt.xlabel('adv_eps')
  29. plt.ylabel('adv_lr')
  30. # 添加标题
  31. plt.title('IMDB(Baseline 93.3)', fontsize=20)
  32. plt.show()

效果图如下:

上图是红色效果,值越大则红色深度越明显。若想改成其他颜色,只需修改这行代码:

heatmap = sns.heatmap(df, annot=True, cmap='YlOrRd', fmt='.1f')

修改为:

heatmap = sns.heatmap(df, annot=True, cmap='YlGnBu', fmt='.1f')

效果图如下:

 

具体实现过程中可以将代码中data改为自己数据,然后行列的标签根据自实际需要进行修改。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/537092?site
推荐阅读
相关标签
  

闽ICP备14008679号