Python绘制热力图

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

一、安装python库

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

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

二、绘制热力图

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

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

效果图如下:

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

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

修改为:

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

效果图如下:

 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/451499.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何选择日本大带宽服务器?

随着互联网的高速发展,对于大带宽服务器的需求也日益增长。而在日本,由于其先进的网络基础设施和数据中心技术,大带宽服务器成为了许多企业和开发者的首选。那么,如何选择合适的日本大带宽服务器呢? 首先,了解自己的需…

redis存储对象的过期设置在实际项目中的运用案例展示

redis存储对象的过期设置在实际项目中的运用案例展示!经过前面的学习,我们已经基本上初步掌握了redis数据库存储对象的过期时间是如何设置的了。下面给大家展示一个具体的实际开发项目中用到业务场景。 在项目化生寺小程序游戏开发中,有道具&…

01-Java基础语法

Java基础语法 1. 注释使用的技巧:注意点 2. 关键字2.1 概念2.2 第一个关键字class 3. 字面量区分技巧:扩展: 制表符: 4. 变量4.1 什么是变量?4.2 变量的定义格式4.2.1 格式详解4.2.2 常用的数据类型4.2.3 变量的注意事…

FX110网:解码外汇市场走势“蜡烛图交易”模式

在技​​术分析领域,交易者依靠各种工具来解读市场走势并做出明智的决策。本期来讲一讲蜡烛图模式。蜡烛图图案 蜡烛图形态是特定时间范围内价格变动的直观表示。每个烛台由四个主要部分组成:开盘价、收盘价、最高价和最低价。交易者分析这些蜡烛形成的模…

【网络安全实验】snort实现高级IDS

注:本实验分别使用kali和CentOS6.8进行测试,可惜的是使用kali进行实验过程中遇到了困难,未能完成完整实验,而使用CentOS6.8成功完成了完整实验。 实验中用到的软件: https://download.csdn.net/download/weixin_5255…

迅为STM32MP157开发板底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块

底板扩展接口丰富 底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块HDMI、CAN、RS485、LVDS接口、温湿度传感器(选配)光环境传感器、六轴传感器、2路USB OTG、3路串口CAMERA接口、ADC电位器、SPDIF、SDIO接口等。 支持多种显示屏 迅为在MP157开发板支持了多种屏幕&#xff0…

基于OpenCV灰度图像转GCode的双向扫描实现

基于OpenCV灰度图像转GCode的双向扫描实现 引言激光雕刻简介OpenCV简介实现步骤 1.导入必要的库2. 读取灰度图像3. 图像预处理4. 生成GCode 1. 简化版的双向扫描2. 优化版的双向扫描 5. 保存生成的GCode6. 灰度图像双向扫描代码示例 总结 系列文章 ⭐深入理解G0和G1指令&…

1893_文本化以及协议的思考

全部学习汇总: g_unix: UNIX系统学习笔记 (gitee.com) 004_文本化以及协议 关于这一点描述的确是很有感触,python等脚本语言中的列表、字典等设计的确是在做数据处理的时候很好的帮手。如果类似的处理需要在C的环境中处理,显然是要麻烦得多。…

【Vue.js设计与实现】第二篇:响应系统-阅读笔记(持续更新)

从高层设计的角度去探讨框架需要关注的问题。 系列目录: 标题博客第一篇:框架设计概览【Vue.js设计与实现】第一篇:框架设计概览-阅读笔记第二篇:响应系统【Vue.js设计与实现】第二篇:响应系统-阅读笔记第三篇&#x…

uniapp基于Android的环境保护环保商城系统生活垃圾分类 小程序_rsj68

本环境保护生活App是为了提高用户查阅信息的效率和管理人员管理信息的工作效率,可以快速存储大量数据,还有信息检索功能,这大大的满足了用户和管理员这两者的需求。操作简单易懂,合理分析各个模块的功能,尽可能优化界面…

智安网络2023年度回顾:我与您共存、信任与安全的一年

在2023年这一全球格局加速演变、经济复苏的关键时期,网络安全威胁呈现出前所未有的复杂性。作为中国网络安全行业的新兴企业,智安网络凭借其卓越的安全策略、技术创新和客户服务,书写了企业发展的辉煌篇章。 智安网络在应对网络安全挑战方面…

高中数学立体几何练习题3

用到的基础知识: 1. 2.