matlab关于colorbar的整理(绘制不等间距colorbar, colorbar的大小位置调节, colorbar加单位等)

article/2025/10/4 17:28:49

matlab关于colorbar的整理(绘制不等间距colorbar, colorbar的大小位置调节等

    • 1. 绘制不等间距colorbar
    • 2. colorbar的大小位置调节
    • 3. 更改colorbar上的刻度、给colorbar加单位

对matlab关于colorbar的一些小细节进行整理,希望对一些人能够有所帮助~

1. 绘制不等间距colorbar

本人常用的方法是将某一区间内的数值全都换成同一个数字,最后绘制替换后的数字。

(1) 将某一区间的数值换成同一个数字(本人习惯写一个函数),要注意转换后的数字与转换前的不要有重合,否则会把转换前后数字弄混。

function [R] = Model_to20_unequal_compare(vari,level)
%此函数进行不等间距前的变量转换
% vari是要转换的变量,level是目标的不等间距,R是转换后的变量
R = vari;R(find(vari<0.1)) = -200.1; %将R里面小于0.1的全都换成-200.1R(find(vari>=0.1&vari<0.28)) = -195.1; %将R里面大于等于0.1,小于0.28的全都换成-195.1R(find(vari>=0.28&vari<0.46)) = -190.1;R(find(vari>=0.46&vari<0.64)) = -185.1;R(find(vari>=0.64&vari<0.82)) = -180.1;R(find(vari>=0.82&vari<1)) = -175.1;R(find(vari>=1&vari<1.8)) = -170.1;R(find(vari>=1.8&vari<2.6)) = -165.1;R(find(vari>=2.6&vari<3.4)) = -160.1;R(find(vari>=3.4&vari<4.2)) = -155.1;R(find(vari>=4.2&vari<5)) = -150.1;R(find(vari>=5&vari<6)) = -145.1;R(find(vari>=6&vari<7)) = -140.1;R(find(vari>=7&vari<8))  = -135.1;R(find(vari>=8&vari<9))  = -130.1;R(find(vari>=9&vari<10))  = -125.1;R(find(vari>=10&vari<11)) = -120.1;R(find(vari>=11&vari<12)) = -115.1;R(find(vari>=12&vari<13)) = -110.1;R(find(vari>=13&vari<14)) = -105.1;R(find(vari>=14&vari<15)) = -100.1;R(find(vari>=15&vari<16)) = -95.1;R(find(vari>=16&vari<17)) = -90.1;R(find(vari>=17&vari<18)) = -85.1;R(find(vari>=18&vari<19)) = -80.1;R(find(vari>=19&vari<20))  = -75.1;R(find(vari>=20))  = -70.1;
end

(2) 绘制R的填色图,即为不等间距填色图

%------------------------------中国地图-------------------------------------
infoL=shapeinfo('E:\4.Matlab\shp\全国省级、地市级、县市级行政区划shp\全国省级、地市级、县市级行政区划shp\bou2_4l.shp');%中国省界线文件(含九段线)
infoP=shapeinfo('E:\4.Matlab\shp\全国省级、地市级、县市级行政区划shp\全国省级、地市级、县市级行政区划shp\bou2_4p.shp');%中国面文件
ChinaL=shaperead('E:\4.Matlab\shp\全国省级、地市级、县市级行政区划shp\全国省级、地市级、县市级行政区划shp\bou2_4l.shp');
ChinaP=shaperead('E:\4.Matlab\shp\全国省级、地市级、县市级行政区划shp\全国省级、地市级、县市级行政区划shp\bou2_4p.shp');
bou2_4lx=[ChinaL(:).X];bou2_4ly=[ChinaL(:).Y];
bou2_4px=[ChinaP(:).X];bou2_4py=[ChinaP(:).Y];World = shaperead('E:\4.Matlab\shp\world map china line\world map china line.shp');
wx = [World(:).X];
wy = [World(:).Y];figure(1)
subplot(1,2,1)
m_proj('miller','lon',[70,135],'lat',[15,55]);
m_pcolor(lon,lat,R);%绘制的是转换后的R
hold on
shading flat; 
%中国国界线省界线
m_plot(bou2_4lx,bou2_4ly,'k','linewidth',1.5);m_plot(wx,wy,'linewidth',1.5,'color',[0.4 0.4 0.4]);
colormap(CM_bl2ye2re28(1:end-1,:));%自定义的colormap
%!!!这里的caxis一定要注意,是转换后的max和min
caxis([-205 -70]);
m_grid('linestyle','none');
title('BCC-ESM1_DUSTmean2000-2014','fontsize',15,'interpreter','none');
%%修改位置
NN=1;
H(NN) = subplot(1,2,NN);%第NN张子图
POS = get(H(NN),'pos');%第NN张子图的当前位置
POS = POS + [-0.04 -0.037 0.06 0.06];   
set(H(NN),'pos',POS)%根据新的边界设置

(3) 修改colorbar的刻度

%自定义colorbar的刻度
level1 = {'0','0.1',' ',' ',' ',' ','1.0',' ',' ',' ',' ','5.0',' ',' ',' ',' ','10.0',' ',' ',' ',' ','15.0',' ',' ',' ',' ','20.0',' '};
axes('position',[.16,.09,.68,.55]);
axis off
hh = colorbar('horiz');hh.Ticks = [-205:5:-70];hh.TickLabels = level1;caxis([-205 -70]);
set(get(hh,'title'),'string','\mug/m^{3}','position',[810 -12]);

在这里插入图片描述
以上就是我熟悉并且我经常用的绘制不等间距colorbar的方法,如果其他小伙伴有更好的方法,欢迎一起讨论交流~

2. colorbar的大小位置调节

(1) 绘制横着的colorbar

hh = colorbar('horiz');

(2) 调节colorbar的大小和位置

hh = colorbar;hh.Ticks = [0:4:64];hh.TickLabels = level1;caxis([0 64]);
%调整colorbar的位置(0.16对应左下角的x起点,-0.026对应y起点,0.007对应增加的x长度,0.52对应增加的y长度)
%0.16和-0.026是对colorbar位置进行调整,0.007和0.52是对colorbar的长宽进行调整
POS = get(hh,'pos');POS = POS + [0.16 -0.026 0.007 0.52];set(hh,'pos',POS)
set(get(hh,'title'),'string','\mug/m^{3}');

3. 更改colorbar上的刻度、给colorbar加单位

(1) 更改colorbar上的刻度

%0-64是进行不等间距转换后的数值
%level1是自定义的colorbar刻度
hh = colorbar;hh.Ticks = [0:4:64];hh.TickLabels = level1;caxis([0 64]);

(2) 给colorbar加单位

hh = colorbar;
set(get(hh,'title'),'string','\mug/m^{3}');

http://chatgpt.dhexx.cn/article/1AI6vPy6.shtml

相关文章

matlab中的colorbar用法(显示色阶的颜色栏)

原文 matlab画平面分布图时colorbar的设置是非常重要的&#xff0c;好的colorbar不仅使图像更美观&#xff0c;而且能够使人更容易捕捉图上传递的信息。用过matlab的同学都知道matlab默认的colormap是jet, 也就是你画完图后输入“colorbar” 它所显示出来的颜色。此外&#xff…

Matlab的图像操作——colorbar的各项细节操作

最近在论文中用matlab生成高度场,网上搜了很多,自己做一个小小的总结。 首先,如果想在生成的图片中加上colorbar,有两种方式: 1:在生成的Figure图像的菜单栏: Insert—Colorbar, 或者单击上方快捷区添加colorbar,见下图: 2:命令行直接写上 colorbar; 如果想随意指定…

Matplotlib 系列:colorbar 的设置

转载于&#xff1a;Matplotlib 系列&#xff1a;colorbar 的设置 该文为我很及时的解决了我的烦恼&#xff0c;再次向作者致意~ 作者一直在持续更新python系列&#xff0c;请支持原作者&#xff0c;文章来源&#xff1a;炸鸡人博客 0. 前言 承接 Matplotlib 系列&#xff1a…

Chrome谷歌浏览器,清除css或js文件缓存的方法

在写网站首页界面的时候&#xff0c;css文件中给新建的<div>增加了class类的样式&#xff0c;但是无论怎样刷新都没有这个样式的效果。 F12打开开发模式&#xff0c;对比这个<div>与其他的区别&#xff0c;发现右下角的尺寸图中没有position的值&#xff0c;而pos…

浏览器-清理页面中js的缓存

【问题分析】 修改完 js文件中的代码后&#xff0c;页面刷新好几次并没有重新加载 js的文件&#xff0c;开始以为是文件设置没有修改成功&#xff0c;后来想到应该是浏览器对于 js文件的缓存机制引起的。 【解决方案】 清理浏览器的缓存 1.按“F12” 或者 右键单击页面“检查”…

js 浏览器缓存机制

什么是浏览器缓存 Web缓存是指一个Web资源&#xff08;如html页面&#xff0c;图片&#xff0c;js&#xff0c;数据等&#xff09;存在于Web服务器和客户端&#xff08;浏览器&#xff09;之间的副本。缓存会根据进来的请求保存输出内容的副本&#xff1b;当下一个请求来到的时…

哈希表和红黑树

哈希表 哈希表顾名思义是一张表&#xff0c;可以用它来存储键值对这种对应的数据&#xff0c;大家都知道&#xff0c;哈希表的查找速度很快&#xff0c;时间复杂度伪O(1)&#xff0c;那么它的查找速度为什么很快呢&#xff1f;   实际上&#xff0c;哈希表将键值变为数组的下…

3.1 哈希算法

哈希算法在区块链系统中的应用很广泛&#xff1a;比特币使用哈希算法通过公钥计算出了钱包地址、区块头以及交易事务的哈希值&#xff0c;梅克尔树结构本身就是一棵哈希树&#xff0c;就连 挖矿算法都是使用的哈希值难度匹配&#xff1b;以太坊中的挖矿计算也使用了哈希算法&am…

高效的搜索方式:哈希

前言 顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关系&#xff0c;因此在查找一个元素时&#xff0c;必须要经过关键码的多次比较。顺序结构查找时间复杂度为O(N)&#xff0c;平衡树查找时间复杂度为O(logN)&#xff0c;搜索的效率取决于搜索过程中…

默克尔树入门

目录 什么是默克尔树构建默克尔树的过程默克尔树验证的原理参考 什么是默克尔树 默克尔树&#xff08;Merkle tree&#xff09;是一种数据结构&#xff0c;以它的提出者默克尔命名&#xff0c;根据默克尔树的性质也可以叫哈希树&#xff0c;是一种典型的二叉树。 默克尔树由根…

java merkle树,使用Merkle树检测数据不一致(翻译)

背景 Cassandra的逆熵功能使用Merkle树来检测副本之间的数据不一致。 定义 Merkle树是一种哈希树&#xff0c;其中的叶子包含各个数据块的哈希值&#xff0c;父节点包含其各自的子节点的哈希值。它提供了一种有效的方法来查找副本上存储的数据块中的差异&#xff0c;并减少了传…

区块链 — 默克尔树

文章目录 默克尔树生成过程应用场景在区块链中的应用 默克尔树 默克尔树&#xff08;又叫哈希树&#xff09;是一种典型的二叉树结构&#xff0c;有一个根节点、一组中间节点和一组叶节点组成。默克尔树最早由 Merkle Ralf 在 1980 年提出&#xff0c;曾广泛用于文件系统和P2P…

哈希算法的原理以及代码实现

哈希函数&#xff1a; 简单来说就是把红框内的数字根据 一定规律 存放到下方白色的数组中 &#xff08;称为哈希表&#xff09; 这里它的一定规律是 取余法 H&#xff08;key&#xff09;key%p &#xff08;还有其他方法&#xff0c;这里采用的是取余法&#xff09;,p为这个…

二、哈希算法和Merkle Tree

章节系列目录&#xff1a;点击跳转 文章目录 哈希算法哈希函数的定义可靠哈希函数需满足的要求哈希函数的主要作用哈希实际例子 Merkle Tree默克尔树完整性校验的方法哈希列表 Hash ListMerkle Tree 哈希树总结 哈希算法 哈希函数的定义 哈希函数&#xff1a;给一个任意大小的…

Android安全启动学习(四):device-mapper-verity (dm-verity)和哈希树

上一篇说AVB内存装不下的较大分区&#xff08;如文件系统&#xff09;可能会使用哈希树&#xff0c;还提到了dm-verity。这篇来看看这两个是啥&#xff1f; dm-verity 1、dm-verity 1、能不能将多个硬盘&#xff0c;映射成一个逻辑的硬盘&#xff0c;那样我们程序就不用关心复…

哈希表与树的介绍

前言 该篇文章&#xff0c;主要带我们认识什么哈希表和树&#xff0c;为我们在研究各个数据结构的实现及扩展算法&#xff0c;有个基本的认识。 哈希表 特点 数组 &#xff1a;寻址容易 &#xff1b;数据连续存储空间链表&#xff1a;插入与删除容易 &#xff1b;放在堆内…

简单哈希树

哈希树 在各种介绍里的都比较抽象&#xff0c;其实没有那么难&#xff0c;这里进行一个最简单的说明。 在将一个数进行哈希的时候&#xff0c;我曾经写过关于哈希的这么些东西&#xff1a;对于数&#xff0c;当一个质数不够用的时候&#xff0c;可以加上第二个质数&#xff0c;…

查找——图文翔解HashTree(哈希树)

引 在各种数据结构&#xff08;线性表、树等&#xff09;中&#xff0c;记录在结构中的相对位置是随机的。因此在机构中查找记录的时需要进行一系列和关键字的比较。这一类的查找方法建立在“比较”的基础上。查找的效率依赖于查找过程中所进行的比较次数。 之前我们介绍的各种…

图文详解哈希树-Merkle Tree(默克尔树)算法解析

2019独角兽企业重金招聘Python工程师标准>>> Merkle Tree概念 Merkle Tree,通常也被称作Hash Tree,顾名思义,就是存储hash值的一棵树。Merkle树的叶子是数据块(例如,文件或者文件的集合)的hash值。非叶节点是其对应子节点串联字符串的hash。[1] 1、Hash Hash是…