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将两张不同的多维数组改成同一sizeax1.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)  # 在第三子图添加colorbarcax.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为保存图像周边距离

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

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

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

相关文章

python画出2行4列个子图

代码 import matplotlib.pyplot as plt# 数据 areas [50, 80, 120] shenzhen_prices [1500, 2000, 2500] guangzhou_prices [1200, 1800, 2300] zhengzhou_prices [800, 1200, 1500]# 创建一个包含2行4列共8个子图的图表 fig, axs plt.subplots(2, 4, figsize(14, 8))def…

一文搞懂Transformer

近期Transformer系列模型的出现,增加了CV领域的多样性。但是Transformer这一不同领域的模型对学习者来说需要一个细致的学习过程.下面就是本菜鸟总结学习路线。 Transformer是基于attention机制。而attention机制又在Encoder、Decode中。本篇博客将从Attention->…

sqli-labs(Less-3)

1. 通过构造id1’ 和id1’) 和id1’)–确定存在注入 可知原始url为 id(‘1’) 2.使用order by 语句猜字段数 http://127.0.0.1/sqlilabs/Less-3/?id1) order by 4 -- http://127.0.0.1/sqlilabs/Less-3/?id1) order by 3 --3. 使用联合查询union select http://127.0.0.1…

Sentinel 流控规则

Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 SpringbootDubboNacos 集成 Sentinel&…

探索未来,开启无限可能:打造智慧应用,亚马逊云科技大语言模型助您一臂之力

文章目录 什么是大模型?大模型训练方法亚马逊云科技推出生成式AI新工具 —— aws toolkit使用教程 总结 什么是大模型? 近期,生成式大模型是人工智能领域的研究热点。这些生成式大模型,诸如文心一言、文心一格、ChatGPT、Stable …

文心生物计算大模型重磅升级,构象预测准确度全面提升!

文心生物计算大模型家族又迎来了重磅的升级:蛋白质-小分子对接构象预测模型HelixDock,以及蛋白-蛋白复合物结构预测模型HelixFold-Multimer准确度全面提升。这两项新技术可以大幅提升蛋白质-小分子的对接构象及蛋白-蛋白复合物结构预测的精度&#xff0c…

《QT从基础到进阶·二十一》QGraphicsView、QGraphicsScene和QGraphicsItem坐标关系和应用

前言: 我们需要先由一个 QGraphicsView,这个是UI显示的地方,也就是装满可见原色的Scene,然后需要一个QGraphicsScene 用来管理所有可见的界面元素,要实现UI功能,我们需要用各种从QGraphicsItem拼装成UI控件…

Flutter笔记:使用Flutter构建响应式PC客户端/Web页面-案例

Flutter笔记 使用Flutter构建响应式PC客户端/Web页面-案例 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/detai…

CentOS7.9安装docker

在CentOS 7.9上安装Docker可以通过官方的Docker安装脚本或者使用系统包管理工具来完成 本次使用系统包管理工具 打开终端,以root权限登录系统。 安装所需的依赖: yum install -y yum-utils device-mapper-persistent-data lvm2 添加Docker的官方仓库…

【java学习—十四】反射机制调用指定方法、指定属性(5)

文章目录 1. 调用指定方法2. 调用指定属性 1. 调用指定方法 通过反射,调用类中的方法,通过 Method 类完成。步骤:     ①通过 Class 类的 getMethod(String name,Class...parameterTypes) 方法取得一个 Method 对象,并设置此…

前端算法面试之堆排序-每日一练

如果对前端八股文感兴趣,可以留意公重号:码农补给站,总有你要的干货。 今天分享一个非常热门的算法--堆排序。堆的运用非常的广泛,例如,Python中的heapq模块提供了堆排序算法,可以用于实现优先队列&#xf…

ALPC_Natural_Selection

刚刚结束的ICPC2023沈阳是自然选择号的最后一场 XCPC 区域赛,很高兴也很幸运能拿到校排名 rk4,圆了一个这半年才开始做的梦。在这里讲一下这支队伍的故事。 组队、训练 本来和wjy666(aka maple)打完 EC Final 之后是想要退役的&…