python 两种colorbar 最大最小和分类的绘制

news2024/9/23 15:25:58

1 colorbar 按照自定义的最值绘制

归一化方法使用Normalize(vmin=0, vmax=40.0)

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import matplotlib.colors as mcolors
from matplotlib import rcParams
from matplotlib.colors import ListedColormap
from matplotlib import ticker
from matplotlib.colors import Normalize


plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = 'Calibri'
plt.rcParams['font.weight'] = 'bold'

fig, axs = plt.subplots(figsize=(8, 5))
axs.set_visible(False)

# 设置刻度线标签
bins = np.arange(0, 45, 5).tolist()		# bins需和最大最小保持一致
nbin = len(bins) - 1

# 归一化设置
norm = Normalize(vmin=0, vmax=40.0)
im = cm.ScalarMappable(norm=norm, cmap='jet')
im.set_array([])

# 绘制
cbar = fig.colorbar(im, ax=axs, orientation='horizontal', drawedges=False)
cbar.set_ticks(bins)

# 设置颜色间隔线的宽度
cbar.dividers.set_linewidth(1.0)
cbar.outline.set_linewidth(1.0)
cbar.update_ticks()

# colorbar属性设置
cbar.ax.tick_params(labelsize=18, direction='out', length=4.0, width=1.4, pad=5.0)

output_dir = r'I:\2019_O3_Average_0420'
output_name = output_dir + '\\' + 'colorbar_0140_0512-6.png'
plt.savefig(output_name, bbox_inches='tight', dpi=500)

得到类似的结果:

image-20240515144754583

如果第一个label和最后一个label不想绘制,更改代码,

但我一直不清楚如果添加单位,除了通过text()的方法还有什么其他办法

cbar.set_ticks(bins[1:-1])

2 colorbar 按照分类绘制

归一化方法使用mcolors.BoundaryNorm(bins, nbin)

和第一种方法相比,需要添加cmap的分类

cmap = plt.cm.get_cmap('RdBu_r', nbin)

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import matplotlib.colors as mcolors
from matplotlib import rcParams
from matplotlib.colors import ListedColormap
from matplotlib import ticker
from matplotlib.colors import Normalize


plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = 'Calibri'
plt.rcParams['font.weight'] = 'bold'

fig, axs = plt.subplots(figsize=(8, 5))
axs.set_visible(False)

# 设置刻度线标签
bins = np.arange(0, 90, 5).tolist()		# bins需和最大最小保持一致
nbin = len(bins) - 1

# 归一化设置
norm = mcolors.BoundaryNorm(bins, nbin)
cmap = plt.cm.get_cmap('RdBu_r', nbin)	# 设置颜色 选择你想要的颜色
im = cm.ScalarMappable(norm=norm, cmap=cmap)
im.set_array([])

# 绘制
cbar = fig.colorbar(im, ax=axs, orientation='horizontal', drawedges=False)
cbar.set_ticks(bins)

# 设置颜色间隔线的宽度
cbar.dividers.set_linewidth(1.0)
cbar.outline.set_linewidth(1.0)
cbar.update_ticks()

# colorbar属性设置
cbar.ax.tick_params(labelsize=18, direction='out', length=4.0, width=1.4, pad=5.0)

output_dir = r'I:\2019_O3_Average_0420'
output_name = output_dir + '\\' + 'colorbar_0140_0512-6.png'
plt.savefig(output_name, bbox_inches='tight', dpi=500)

得到类似的结果:

image-20240515145812706

image-20240515145830971

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

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

相关文章

【全开源】国际版JAVA同城服务美容美发到店服务上门服务系统源码支持Android+IOS+H5

国际版同城服务美容美发到店与上门服务系统:一站式打造美丽新体验 随着人们生活水平的提高和审美观念的升级,美容美发服务已成为人们日常生活中不可或缺的一部分。为了满足全球消费者的多样化需求,我们推出了“国际版同城服务美容美发到店与…

基于单片机的光照检测系统—光敏电阻

基于单片机的光照检测系统 (仿真+程序+原理图+设计报告) 功能介绍 具体功能: 1.光敏电阻实时采集环境光照值; 2.采用ADC0804将模拟值转换为数字量; 3.四位数码管显示当前的光照…

(gpt4o教程)gpt-4o如何开启和使用呢?

我发现,很多人反馈他的官网里没有gpt-4o的选项,下面介绍一下怎么查看是否使用了gpt-4o模型。 一、使用方法 1. 官网网站直接使用 2. 通过Open API申请接口使用 3. 通过LLM基准测试竞技场体验 还有其他方法,就不一一举例了。可以先看看上…

Linux之内存管理-malloc \kmalloc\vmalloc

1、malloc 函数 1.1分配内存小于128k,调用brk malloc是C库实现的函数,C库维护了一个缓存,当内存够用时,malloc直接从C库缓存分配,只有当C库缓存不够用; 当申请的内存小于128K时,通过系统调用brk&#xff…

提升写作效率的秘密武器:一个资深编辑的AI写作体验

有句话说:“写作是一项你坐在打字机前流血的工作。”而如今,各类生成式软件的涌现似乎打破了写作这一古老的艺术形式壁垒。过去,作家们独自在书桌前冥思苦想,如今,一款名为“玲珑AI工具”的ai写作助手正悄然改变着文案写作行业的创作生态,成为提升写作效率的秘密武器。 在传统…

STL—string类(1)

一、string类 1、为什么要学习string? C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP(面向对象…

JVS物联网、无忧企业文档、规则引擎5.14功能新增说明

项目介绍 JVS是企业级数字化服务构建的基础脚手架,主要解决企业信息化项目交付难、实施效率低、开发成本高的问题,采用微服务配置化的方式,提供了 低代码数据分析物联网的核心能力产品,并构建了协同办公、企业常用的管理工具等&am…

uniapp 配置请求代理+请求封装

uniapp官网提供了三种方式:什么是跨域 | uni-app官网 1. 通过uniapp自带浏览器 打开项目是不存在跨域的 第二种方式: "h5" : {"template" : "static/index.html","devServer": {"proxy": {&quo…

汇凯金业:3个高效的黄金投资技巧

黄金投资中的高效技巧往往承载了许多投资前辈的智慧与经验教训,成为新手投资者宝贵的学习资料。历史上积累的黄金投资经验可以作为新投资者的学习榜样。 3个高效的黄金投资技巧 一、稳健的中长期投资策略 在金属投资领域虽然不乏短线交易高手,但新手投资…

BFS和DFS优先搜索算法

1. BFS与DFS 1.1 BFS DFS即Depth First Search,深度优先搜索。它是一种图遍历算法,它从一个起始点开始,逐层扩展搜索范围,直到找到目标节点为止。 这种算法通常用于解决“最短路径”问题,比如在迷宫中找到从起点到终…

若依微服务docker-compose 启动

docker-compose 文件 version : 3 services: ruoyi-nacos: container_name: ruoyi-nacos image: nacos/nacos-server build: context: ./nacos environment: - MODEstandalone volumes: - ./nacos/logs/:/home/nacos/logs - ./n…

SpringBoot+MybatisPlus实现读写分离,自动切换数据源

读写分离有必要吗? 实现读写分离势必要与你所做的项目相关,如果项目读多写少,那就可以设置读写分离,让“读”可以更快,因为你可以把你的“读”数据库的innodb设置为MyISAM引擎,让MySQL处理速度更快。 实现…

python turtle 升国旗

​一、导语 大家好,前段时间,我们画出了五星红旗,今天我们要用Python的Turtle库来绘制一个五星红旗,并让国旗上升,让我们一起来感受编程与艺术的完美结合吧!领略国家的强大!爱祖国,做一个遵纪守法的好公民。 二、效果展示 升国旗 三、开发过程 一、准备工作 首先我们…

品牌银饰售卖|基于SSM+vue的品牌银饰售卖平台的设计与实现(源码+数据库+文档)

品牌银饰售卖平台 目录 基于SSM+vue的品牌银饰售卖平台的设计与实现 一、前言 二、系统设计 三、系统功能设计 1前台功能模块 2后台功能模块 5.2.1管理员功能模块 5.2.2用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题…

怎么扫码查看文件内容?多文件一键生成二维码的方法

现在日常生活中经常会看到很多的二维码中包含文件,扫码后在手机上预览文件内容或者下载文件,有很多的应用场景下被使用。通过扫描二维码的方式实现文件的传递,与传统方式相比更加方便快捷。 这种方式能够提升获取文件的便捷性,而…

在大型项目上,Python 是个烂语言吗?

在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Python的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! python项目超过5万行&#x…

谷粒商城实战(024 业务-订单模块-分布式事务1)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第284p-第p290的内容 简介 模拟积分服务出异常,前方的锁库存事务未回滚,这时候就需要分布式事务 本地事务 事务的隔离…

echarts 环形图实现透明间隔,嵌套环形图片和图形

echarts 环形图实现透明间隔,嵌套环形图片和图形 环形图实现透明间隔环形图嵌套环形图片环形图嵌套环形图形 环形图实现透明间隔 首先通过 radius 属性实现一个圆环图 再通过 padAngle 属性设置扇区角度即可 使用 borderRadius 属性设置扇形区块的内外圆角半径&…

新时代高速数据中心800G DR8光模块解决方案

近年来,随着5G网络、存储介质和计算能力等基础技术的不断升级,100G和400G数据中心得到了普及。如今800G数据中心时代也已经来临。本文将围绕800G DR8来介绍飞速(FS)800G数据中心解决方案,旨在为全球客户提供全面且高性…

如何在阿里云申请免费SSL证书(三个月有效)

SSL证书主要用于建立Web服务器和客户端间可信的HTTPS协议加密链接,以防止数据在传输过程中被篡改,避免信息泄露。阿里云提供了多种品牌和类型的SSL证书,以满足不同用户的需求。您可以根据自己的预算、域名类型以及网站类型,选择购…