seaborn绘制热力图

news2024/10/3 10:34:54

目录

1、普通绘制热力图

2、坐标轴标签太多,自定义标签显示

3、不显示热图的网格


1、普通绘制热力图

# -*- coding:utf-8 _*-
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# 创建数据
data = np.random.random((7,12))
# 计算相关性
corr = np.corrcoef(data)
# 设置需要显示的标签
bands_wavelength = ["400","500","600","700","800","900","1000"]

mask = np.zeros_like(corr,dtype=np.bool_)
mask[np.tril_indices_from(mask)] = True
cmap = sns.diverging_palette(220,10,as_cmap=True)
corr = np.flip(corr, axis=0)
mask = np.flip(mask, axis=0)
ax = sns.heatmap(corr,mask=mask.T,cmap=cmap,square=True,linewidths=0.5,
                 vmin=np.min(corr), vmax=np.max(corr),cbar=True, # vmin和vmax是自定义显示颜色的范围
                 xticklabels=bands_wavelength, yticklabels=bands_wavelength[::-1])

# plt.title("平方数", fontsize=24) # 设置标题
# plt.xlabel("值", fontsize=14) # 设置x标题
# plt.ylabel("值的平方", fontsize=14) # 设置y轴标题
# plt.savefig('./热力图.png',bbox_inches='tight',dpi=300)
plt.show()

2、坐标轴标签太多,自定义标签显示

# -*- coding:utf-8 _*-
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# 创建数据
data = np.random.random((100,12))
# 计算相关性
corr = np.corrcoef(data)
# 设置需要显示的标签
bands_wavelength = ["400","500","600","700","800","900","1000"]

mask = np.zeros_like(corr,dtype=np.bool_)
mask[np.tril_indices_from(mask)] = True
cmap = sns.diverging_palette(220,10,as_cmap=True)
corr = np.flip(corr, axis=0)
mask = np.flip(mask, axis=0)
ax = sns.heatmap(corr,mask=mask.T,cmap=cmap,square=True,linewidths=0.5,
                 vmin=np.min(corr), vmax=np.max(corr),cbar=True, # vmin和vmax是自定义显示颜色的范围
                 xticklabels=bands_wavelength, yticklabels=bands_wavelength[::-1])

dx = data.shape[0]/(len(bands_wavelength)-1)
ax.set_xticks([dx*i for i in range(len(bands_wavelength))])
ax.set_yticks([dx*i for i in range(len(bands_wavelength))])
ax.set_xticklabels(bands_wavelength)
ax.set_yticklabels(bands_wavelength[::-1])

# plt.title("平方数", fontsize=24) # 设置标题
# plt.xlabel("值", fontsize=14) # 设置x标题
# plt.ylabel("值的平方", fontsize=14) # 设置y轴标题
# plt.savefig('./热力图.png',bbox_inches='tight',dpi=300)
plt.show()

3、不显示热图的网格

# -*- coding:utf-8 _*-
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# 创建数据
data = np.random.random((100,12))
# 计算相关性
corr = np.corrcoef(data)
# 设置需要显示的标签
bands_wavelength = ["400","500","600","700","800","900","1000"]

mask = np.zeros_like(corr,dtype=np.bool_)
mask[np.tril_indices_from(mask)] = True
cmap = sns.diverging_palette(220,10,as_cmap=True)
corr = np.flip(corr, axis=0)
mask = np.flip(mask, axis=0)
# 修改linewidths为0即可
ax = sns.heatmap(corr,mask=mask.T,cmap=cmap,square=True,linewidths=0.,
                 vmin=np.min(corr), vmax=np.max(corr),cbar=True, # vmin和vmax是自定义显示颜色的范围
                 xticklabels=bands_wavelength, yticklabels=bands_wavelength[::-1])

dx = data.shape[0]/(len(bands_wavelength)-1)
ax.set_xticks([dx*i for i in range(len(bands_wavelength))])
ax.set_yticks([dx*i for i in range(len(bands_wavelength))])
ax.set_xticklabels(bands_wavelength)
ax.set_yticklabels(bands_wavelength[::-1])

# plt.title("平方数", fontsize=24) # 设置标题
# plt.xlabel("值", fontsize=14) # 设置x标题
# plt.ylabel("值的平方", fontsize=14) # 设置y轴标题
# plt.savefig('./热力图.png',bbox_inches='tight',dpi=300)
plt.show()

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Shell脚本学习-循环的控制命令

break continue exit对比&#xff1a; 示例1&#xff1a;break命令跳出整个循环。 [rootabc scripts]# cat break1.sh #!/bin/bashfor((i0;i<5;i)) doif [ $i -eq 3 ]thenbreakfiecho $i done echo "ok"[rootabc scripts]# sh break1.sh 0 1 2 ok可以看到i等于3及…

NetMizer 日志管理未授权访问+FTP登录

漏洞描述 北京灵州网络技术有限公司NetMizer日志管理系统存在目录遍历漏洞&#xff0c;由于 /data 控制不严格&#xff0c;攻击者可利用该漏洞获取敏感信息。 免责声明 技术文章仅供参考&#xff0c;任何个人和组织使用网络应当遵守宪法法律&#xff0c;遵守公共秩序&#…

Visual Studio Code中对打开的脚本格式统一

什么是Language Server Protocol (LSP)? Language Server Protocol&#xff08;语言服务器协议&#xff0c;简称LSP&#xff09;是微软在2016年提出的一套统一的通讯协议方案。LSP定义了一套编辑器或者IDE与语言服务器&#xff08;Language Server&#xff09;之间使用的协议&…

openlayers渲染rgb三波段cog时达到类似rgba的效果(去掉黑底)

图是arcgis渲染成rgb的&#xff0c;由于没有透明度波段&#xff0c;底下是黑的。 为了能在前端显示透明效果&#xff0c;之前是用python处理数据&#xff0c;给它加个透明度波段 后来研究了一下ol的样式表达式&#xff0c;可以直接在前端去掉黑底 样式设置代码如下 const s…

Vue读取本地静态.md并侧边栏导航跳转、展示.md文件

vue markdown 侧边栏导航跳转 类似锚点跳转 - 灰信网&#xff08;软件开发博客聚合&#xff09; Vue使用mavon-editor插件解析markdown编辑预览_onpine的博客-CSDN博客 vue组件直接读取.md文档展示_vue项目中读取readme文件_小蒜瓣的博客-CSDN博客vue中使用mavonEditor(markd…

华秋亮相2023世界汽车制造技术暨智能装备博览会,推动汽车产业快速发展

洞悉全球汽车产业格局&#xff0c;前瞻业界未来趋势。2023年7月27日-30日&#xff0c;时隔三年&#xff0c;重聚武汉国际博览中心&#xff0c;2023世界汽车制造技术暨智能装备博览会盛大开幕。深耕汽车行业多年的世界汽车制造技术暨智能装备博览会&#xff0c;掀起行业热点新高…

如何获取最新的底图边线数据(高德)

由于近期的大屏项目需要地图的边界线的数据&#xff0c;找了很多方式&#xff0c;都有局限性&#xff0c;就是不能保证是最新的&#xff0c;所以使用高德地图提供的边线数据&#xff0c;那就肯定是最新的了&#xff0c;之前仔细看文档&#xff0c;现在仔细看了&#xff0c;才发…

# 关于Linux下的parted分区工具显示起始点为1049kB的问题解释

关于Linux下的parted分区工具显示起始点为1049kB的问题解释 文章目录 关于Linux下的parted分区工具显示起始点为1049kB的问题解释1 问题展示&#xff1a;2 原因3 修改为KiB方式显示4 最后 1 问题展示&#xff1a; kevinTM1701-b38cbc23:~$ sudo parted /dev/nvme1n1 GNU Part…

【Java Web基础】mvn命令、Maven的安装与配置

本文极大程度上来自Maven安装(超详解)&#xff0c;但是担心安的过程中遇到什么不一样的问题&#xff0c;顺便加深印象&#xff0c;所以还是打算自己弄一篇。 目录 第一步&#xff1a;Download Maven第二步&#xff1a;解压与安装2.1 解压2.2 安装 第一步&#xff1a;Download …

这么好用的ai绘画软件,你不会还不知道吧?

AI绘画成为了我最近热衷的一项活动。在使用AI绘画过程中&#xff0c;我得到了许许多多美妙的图片。 虽然网上有很多AI绘画软件可以让我们选择&#xff0c;但其中的大多数软件需要收费&#xff0c;而且生成的图片质量良莠不齐&#xff0c;我之前就是因为随便乱用AI绘画软件&…

表单控件拖拽,简单又灵活,办公效率高!

当前&#xff0c;很多企业的业务量在不断攀升中&#xff0c;采用传统的办公模式是无法提高办公协作效率的。低代码技术平台的应用是当前的潮流&#xff0c;既简单又灵活&#xff0c;维护也便利&#xff0c;深得客户心声。在线表单控件拖拽是其中一个重要的功能&#xff0c;能提…

(小球游戏王子闯闸门解题思路和源码)CSDN竞赛第68期编程题解+参赛感悟

2023年8月1日中午&#xff0c;正在排队等着购买午饭&#xff0c;手机弹出一条推送“CSDN比赛… …”&#xff0c;心中一亮&#xff0c;参加&#xff01; 2023年8月2日18&#xff1a;50&#xff0c;带着空空的肚子&#xff0c;坐在电脑前&#xff0c;等待开赛。&#xff08;为什…

07_Vue生命周期

Vue3生命周期 配置项的方式写Vue3生命周期 组合式API的方式写生命周期&#xff1a;写在setup里 如果同时用两种方式写生命周期钩子函数&#xff0c;组合式API里边的生命周期要比用配置项写的快一点。 注意&#xff1a;一般用一种方式即可。

人工智能生成内容扑面来袭 低质量内容充斥网络?

自从去年年底ChatGPT火爆上市以来&#xff0c;大批AI生成内容扑面来袭&#xff0c;文本、图片甚至视频都可以在数秒之内由人工智能模型自动生成。AI虽然智能&#xff0c;但它创造的内容也会有错误&#xff0c;而且这些错误很难被发现&#xff0c;它生成的误导信息非常“狡猾”&…

公文内容,可以采用图表、图示等辅助工具来展示信息

在处理复杂的公文内容时&#xff0c;可以采用图表、图示等辅助工具来展示信息&#xff0c;以增强表达效果&#xff0c;提高公文的可读性和理解性。 具体来说&#xff0c;可以采用以下几种方式来展示信息&#xff1a; 1.图表&#xff1a;使用图表可以将复杂的数据和信息以图表形…

Java并发系列之五:ReentranLock

首先尝试用一句话对ReeentrantLock进行概括&#xff1a; ReentrantLock基于AQS&#xff0c;它实现了公平锁和非公平锁&#xff0c;在开发中可以用它对共享资源进行同步。此外&#xff0c;和synchronized一样&#xff0c;ReentrantLock支持可重入&#xff0c;但ReentrantLock在调…

通话降噪算法在手机和IOT设备上的应用和挑战

随着电子产品的升级换代&#xff0c;用户对通话质量的要求也越来越高。通话降噪算法对通话质量起到了关键核心的作用。计算资源的提升使得深度学习模型在便携式的低功耗芯片上面跑起来了&#xff0c;器件成本降低让IoT设备开始使用骨导传感器&#xff0c;&#xff0c;那怎么样才…

提升制造业智能化水平——免费MES系统的领航者

随着工业4.0的持续推进和数字化转型的浪潮涌现&#xff0c;制造业正面临着前所未有的机遇与挑战。在这个数字化时代&#xff0c;企业需要更高效、智能、灵活地管理生产流程&#xff0c;以应对日益激烈的市场竞争。而制造执行系统&#xff08;MES&#xff09;无疑成为了实现这一…

抽象类的顶级理解

目录 1.抽象类的介绍 2. 抽象类语法 3.模板设计模式 1.抽象类的介绍 在面向对象的概念中&#xff0c;所有的对象都是通过类来描绘的&#xff0c;但是反过来&#xff0c;并不是所有的类都是用来描绘对象的&#xff0c;如果 一个类中没有包含足够的信息来描绘一个具体的对象&…

【Vue3项目实战】vue3项目基于el-menu封装左侧菜单栏组件

文章目录 概述一、先看效果1.1 静态效果1.2 动态效果 二、核心思路三、全量代码3.1 文件目录结构3.2 /sidebar/index.vue 中3.3 /sidebar/sidebarItem.vue 中3.4 路由表结构 四、代码讲解五、SVG组件六、系列文章友链1、[配置husky、stylelint、commitlint&#xff0c;实现git提…