当前位置: 首页 > news >正文

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

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 Normalizeplt.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 Normalizeplt.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.lryc.cn/news/349716.html

相关文章:

  • Linux-基础IO
  • 202006青少年软件编程(Python)等级考试试卷(二级)
  • 【LeetCode】每日一题:2244.完成所有任务需要的最少轮数
  • 百度文心一言 java 支持流式输出,Springboot+ sse的demo
  • 59.基于SSM实现的网上花店系统(项目 + 论文)
  • 什么是字节码?
  • C++ JWT的使用
  • SpringBoot内置插件的使用(jackson和lombok)
  • Franz Electron + React 源码启动运行填坑指南
  • 网络安全法中关于网络信息的保护和监管,有哪些规定?
  • 前端XHR请求数据
  • 利用香港多IP服务器优化网站访问速度的关键策略?
  • 如何快速将视频做成二维码?扫描二维码播放视频的制作方法
  • 使用python开发的闭运算调试器
  • 一例Phorpiex僵尸网络变种的分析
  • PDF文件转换为CAD的方法
  • Java为什么会成为现在主流的编程语言
  • 动手学深度学习16 Pytorch神经网络基础
  • 前端无样式id或者class等来定位标签
  • 机器人工具箱学习(三)
  • 华为OD机试 - CPU算力分配(Java 2024 C卷 100分)
  • web前端框架设计第八课-表单控件绑定
  • 这三个网站我愿称之为制作答辩PPT的神
  • flutter开发实战-实现多渠道打包及友盟统计(亲测有效)
  • JavaScript-JSON对象
  • 【C语言】自定义类型之---结构体超详解(结构体的定义使用、指针结构体,内存对齐,......代码详解)
  • 【完美恢复】修复计算机中丢失emp.dll的多个详细方法
  • 暗黑4可以搬砖吗?暗黑4怎么搬砖 搬砖攻略
  • WLAN技术
  • 维修AB罗克韦尔工控机 PanelView 900 2711-T9C8 SER C 触摸屏人机界面