colormap与colorbar应用

一,colormap

常见色度枚举值如下

应用如下

img = cv2.applyColorMap(img, cv2.COLORMAP_JET)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

常用的COLORMAP_JET效果如下,该模式常用于生成热力图

二,colorbar

colorbar所有色带如下

应用如下

cmap = 'nipy_spectral'
plt.imshow(mask,cmap=plt.get_cmap(cmap))
plt.colorbar()
plt.show()

拓展:基于gridspec.GridSpec生成多子图

在做一个项目的时候,需要gridspec.GridSpec生成多子图,其中还涉及到热力图,colorbar单独生成,这里做一个分享,鉴于项目隐私,隐去了一些信息,自己在写的时候可以根据注释调整代码

    fig = plt.figure()
    gs = gridspec.GridSpec(2, 3, width_ratios=[1, 1, 0.05], height_ratios=[1, 1], figure = fig, 
    wspace = 0.03, hspace = 0.03, left = 0.5, right = 1, bottom = 0.35, top = 1)  
    # 创建三子图,第三个子图用于存放色带, 设置两行是为了调整色带高度,不然色带高度和前面不一致, 从wspace到top都是调整子图位置
    ax1 = fig.add_subplot(gs[0])
    ax2 = fig.add_subplot(gs[1])
    cax = fig.add_subplot(gs[2])  # colorbar 绘图区
    font = {'family':'STIXGeneral', 'weight':'bold', 'size':8}  # 字体字号设置
    den = resize(Y, X)       # resize将两张不同的多维数组改成同一size
    ax1.set_yticks([0, 100, 200, 300, 400, 500, 600])
    ax1.tick_params(labelsize=4, labelrotation=45, pad = 0, length = 1.5)  # 同时设置x和y轴刻度字体大小并改变字体方向, pad调整坐标与坐标轴之间距离,length控制坐标长度
    # ax1.set_ylabel('highth', font)   # 设置坐标标题
    ax1.set_xticks([0, 100, 200, 300, 400, 500, 600]) # 将x轴放在顶部
    ax1.xaxis.set_label_position('top')  
    ax1.xaxis.tick_top()
    # ax1.set_xlabel('width', font)
    ax1.set_title('str', font, pad=3, y = -0.1)  # pad 控制 title到图之间的距离, y默认为1,标题在顶部,设置y数值控制标题位置
    ax1.get_title()
    ax1.imshow(X)
    
    ax2.axes.get_yaxis().set_visible(False)  # 不需要显示子图y轴的方式
    # ax2.set_yticks([0, 100, 200, 300, 400, 500, 600])
    ax2c = ax2.matshow(Y)  # 映射第三子图色条用
    ax2.tick_params(labelsize=4, labelrotation=45, pad = 0, length = 1.5)  # 同时设置x和y轴刻度字体大小并改变字体方向, pad调整坐标与坐标轴之间距离,length控制坐标长度
    # ax2.set_ylabel('highth', font)
    ax2.set_xticks([0, 100, 200, 300, 400, 500, 600])
    ax2.xaxis.set_label_position('top')
    ax2.xaxis.tick_top()
    # ax2.set_xlabel('width', font)
    ax2.set_title('str', font, pad = 3, y = -0.1)
    ax2.text(1, 80, 'str', fontsize=4, weight="bold", color = 'w')
    ax2.imshow(Y, cmap = 'nipy_spectral')
    
    plt.colorbar(ax2c, pad = 0.06, fraction=0.035, cax=cax)  # 在第三子图添加colorbar
    cax.tick_params(labelsize=4, labelrotation=45, pad = 0, length = 1.5)
    cax.set_ylabel('str', font, labelpad=0)   # labelpad到坐标轴的距离
    cax.yaxis.set_label_position('right')
	    filename = img_path.split('/')[-1]
    filename = filename.replace('.jpg', 'xxx.png')
    print('Save at', filename)
    plt.savefig('./path to save/{}'.format(filename), bbox_inches='tight', pad_inches=0.05, dpi=300)  # pad_inches为保存图像周边距离

 最终子图显示如下,部分关键信息隐去,请谅解

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

洗袜子的洗衣机哪款好?家用小洗衣机推荐

最近这两年在洗衣机中火出圈的内衣洗衣机,它不仅可以清洁我们较难清洗的衣物,自带除菌功能,可以让衣物上的细菌,还能在清洗的过程中呵护我们衣物的面料,虽然说它是内衣洗衣机,它的功能不止可以清洗内衣&…

VS2017新建.hpp文件

目录 1、新建h文件的方法:2、新建对用的cpp文件:3、在main.cpp中调用 1、新建h文件的方法: 2、新建对用的cpp文件: 3、在main.cpp中调用 参见大佬博客

[Linux]tcpdump抓包工具

windows中的抓包工具:wireshark linux中的抓包工具:tcpdump cpdump是Linux系统中自带抓包工具 [rootIKUN ~]# rpm -q tcpdump tcpdump-4.9.0-5.el7.x86_64 [rootIKUN ~]# tcpdump tcp -i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.1…

SaleSmartly新增AI意图识别触发器!让客户享受更精准的自动化服务

AI意图识别技术是对话式AI中很重要的组成部分,通俗点来说就是一种可以识别用户在对话中表达的意图的技术。通过对大量数据的分析和学习,AI可以理解用户想要获得的信息,并根据这些信息来采取相应的行动或提供相应的响应。而在对话式AI中&#…

node将package.json中的包降为低版本或者升级为高版本

前言 比如现在你用某个包的当前版本,但是你安装的版本高了,那么你应该这么做 1.首先删除node项目中的node_modules目录,防止安装时的包不一致 如果没安装就忽略 例如将package.json中的view-design包降为^4.6.1,当前view-design的版本为^4.…

适合苹果电脑的格式转换器,你都知道几个

我之前都是用windows电脑的,现在突然换了苹果电脑,如何使用苹果电脑进行格式转换呢?有没有好用的格式转换器呢? 不要着急,本文将为你介绍几款常见的格式转换器,可让你轻松的在苹果电脑上进行格式的转换。 …

PyG(torch_geometric)的MessagePassing详解

1. 提出MessagePassing的目的 MessagePassing是图神经网络(Graph Neural Networks,GNNs)的一个基础组件,它被设计用来处理图形数据的问题。在图形数据中,数据点(节点)之间的关系(边…

【python】单词接龙

题目: 这是一个关于“单词接龙”的算法题目。在这个游戏中,我们需要从给定的一组单词中,以特定的开头字母构造出一条最长的“龙”。每个单词在这条“龙”中最多出现两次。当两个单词相连时,它们的重合部分被合并成一个。例如&…

【吐血总结】前端开发:一文带你精通Vue.js前端框架(七)

文章目录 前言1️⃣事件处理器2️⃣表单3️⃣总结 前言 上一篇中我们学习了vue.js 的条件语句、循环语句等知识点.,现在让我们接着Vue系列的学习。 Vue中事件处理器、表单等在开发中的作用不可或缺,本文将基于实例进行以上知识点的讲解。 1️⃣事件处理器…

Oracle如何快速删除表中重复的数据

方法一: 在Oracle中,你可以使用DELETE语句结合ROWID和子查询来删除重复的记录。以下是一个示例: DELETE FROM your_table WHERE ROWID NOT IN (SELECT MAX(ROWID)FROM your_tableGROUP BY column1, column2, ... -- 列出用于判断重复的列 )…

6大赛题,超148万奖池!2023无锡国际人工智能算法大赛等你来挑战!

各位人工智能卓越的推动者们,我们诚邀您参与【2023年无锡国际人工智能算法大赛】,探索未来AI创新的巅峰之战! 比赛为您提供与全球AI开发者技术切磋的机会,不仅是一场竞技,更是智慧的盛宴。 本次大赛总奖金超过148万&…

【FPGA】zynq 单端口RAM 双端口RAM 读写冲突 写写冲突

RAMRAM读写分类RAM原理及实现RAM三种读写模式不变模式写优先读优先 单端口 RAM伪双端口 RAM真双端口 RAM读写冲突和写写冲突读写冲突写写冲突总结: RAM RAM 的英文全称是 Random Access Memory,即随机存取存储器,简称随机存储器,…

什么是OpenCL?

什么是OpenCL? 1.概述 OpenCL(Open Computing Language 开放计算语言)是一种开放的、免版税的标准,用于超级计算机、云服务器、个人计算机、移动设备和嵌入式平台中各种加速器的跨平台并行编程。OpenCL是由Khronos Group创建和管理的。OpenCL使应用程序…

requests库验证错误解决方法

用户在使用requests库进行http请求时,遇到了一个AuthenticationRequired(身份验证必须)的错误。但是,当使用urllib.request.urlopen进行相同的操作时,却能够成功。同时,用户提供了自己的系统信息&#xff0…

记一次线上问题引发的对 Mysql 锁机制分析 | 京东物流技术团队

背景 最近双十一开门红期间组内出现了一次因 Mysql 死锁导致的线上问题,当时从监控可以看到数据库活跃连接数飙升,导致应用层数据库连接池被打满,后续所有请求都因获取不到连接而失败 整体业务代码精简逻辑如下: Transaction p…

requests Python 官方文档中的 py3 请求链接问题及解决方案

作为一位程序员,加班对我来说并不陌生。虽然老板常说加班是对挑战的追求,但我更愿意将其看作是与bug约会的机会。在这篇文章中,我将分享一个我在requests Python 官方文档中遇到的问题,并给出解决方案。问题在于如何获取py3的请求…

锐捷 Smartweb管理系统命令注入漏洞复现 [附POC]

文章目录 锐捷 Smartweb管理系统命令注入漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 锐捷 Smartweb管理系统命令注入漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关技术从事非法测…

VMware 安装CentOS7

一、软件准备 VMware 虚拟机安装 官网下载链接:VMware pro 17 下载链接 下载 VMware Workstation Pro | CN vm安装教学就不在细说,纯傻瓜式安装 Centos 7镜像文件下载 下载地址: Index of /centos/ | 清华大学开源软件镜像站 | Tsinghua O…

AI+视觉,共话新能源企业数字化转型新可能

​ 近日,“新能源芯机遇2023新能源行业数字化赋能高峰论坛”在江苏常州隆重召开。本次论坛由常州市人民政府、中国能源研究会指导,武进区人民政府、常州市工业和信息化局、英特尔(中国)有限公司、阿里云计算有限公司共同举办&…

Android实验:Activity界面基础

目录 前言实验目的实验内容实验要求代码实现mainActivityResultActivityactivity_mainactivity_result 结果展示 前言 我们都知道,activity是Android中最重要的组件之一,关于activity的具体内容在这里就不多赘述,主打的就是一个主次分明&…