Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >matlab中的colorbar用法(显示色阶的颜色栏)

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

作者头像
全栈程序员站长
发布于 2022-09-02 10:18:53
发布于 2022-09-02 10:18:53
24.3K0
举报

大家好,又见面了,我是你们的朋友全栈君。

原文

matlab画平面分布图时colorbar的设置是非常重要的,好的colorbar不仅使图像更美观,而且能够使人更容易捕捉图上传递的信息。用过matlab的同学都知道matlab默认的colormap是jet, 也就是你画完图后输入“colorbar” 它所显示出来的颜色。此外,matlab还自带了很多colormap, 如hsv, autumn, bone, colorcube等等。我们直接在命令窗口输入例如”colormap(hsv)” 就可以是平面图的颜色显示相应的colormap。

下面教大家如何自定义自己想要的colormap,方法十分简单。

以中国海的海面温度图为例:

这是一张有m_pcolor画出来的图,之后colormap是matlab默认的jet(即直接输入命令‘colorbar’显示的colormap)。

如果我们这是在命令窗口输入‘colormap(hsv)’,则会变成下面这张图:

(请忽视图标题,截图很麻烦,见谅)

如果我们这是想定义一种新的colormap,颜色从赤,橙,白,蓝,紫依次传递的话(如下图),应该怎么做?

这就要用到matlab的colormap Editor了。

如下图:点击figrue窗口的Edit-colormap

出现colormap Editor窗口:

我们可以利用这个窗口直接设置自定义colormap。

colormap Editor中有是一个色标尺,色标尺下方有一些滑块,其中两端的矩形滑块是固定的,不能删除;而中间的矩形+三角形滑块是可以添加,删除,或滑动的。在色标尺低端单击鼠标左键添加,选择某块滑块按Deletei键删除,鼠标按住某个滑块可左右滑动。

为了达到上述所说的“颜色从赤,橙,白,蓝,紫依次传递”的效果,我们先把中间的两个矩形+三角形滑块删除,如下图:

由于上一张图colormap的两端都是红色,所以中间两块滑块删除后整个colormap只剩下红色一种颜色了。

我们先从白色添加起,标尺上一共有64个格,为了左右平衡,我们先挑中间两格添加白色,具体步骤为:

1、点击标尺中间色格的下方,出现滑块(如下图)。

2、双击出现的滑块,出现颜色选择窗口,选择白色(如下图)。

选完后图像就变成下面这样了:

相同的方法选择“赤,橙,蓝,紫”,如下图:

但这时我们发现colormap并不能如我们所愿,因为中间出现了黄色跟绿色。我们注意在colormap Editor中有个Interpolating colorspace选项,由于刚刚我们是以colormap(hsv)为根本的,所以这里的颜色插值方式是hsv的,我们这是应该选择RGB。如下图:

好了,大功告成。

下面就是要保存自己设置的colormap以便今后画图时可以直接用了。

在命令传控输入:

mycolor=colormap;%mycolor名称任意

save mycolor mycolor;

下次画图时,只要先load mycolor; 再输入colormap(mycolor) 就可以直接用这个colorbar了。

还有一种colorbar不是渐变的,如下图:

这种colorbar的设置方式也大同小异。图中colorbar有5中颜色,那么我们就在colormap Editor中将头五种颜色设成图中颜色,再将其余颜色设成白色(不一定白色,其它颜色也可,主要是为了方便辨认)

这是我们在命令窗口中输入“colormap”,就会出现一个64*3的数组。

注意的数组前五行就代表上面5种颜色,其余[1 1 1]代表白色。这是只要把前5行复制出来,写入新数组中。

再“save mycolor5 mycolor1”保存起来。这是在命令窗口输入“colormap(mycolor5)”就出现下图了:

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138437.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
matlab二维彩图colormap调色_matlab如何自定义颜色
这个博客是自己的第一篇博客,瞎写实验中。。。 (2020年2月第一次更新,调整了一下格式,增加了常用的颜色图形式)
全栈程序员站长
2022/11/07
6.3K1
matlab二维彩图colormap调色_matlab如何自定义颜色
一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色
本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还是智能计算中日常使用的,非常重要的软件。也许最近其带来的一些负面消息对国内各个高校和业界影响很大。但是我们作为技术人员,更是要奋发努力,拼搏上进,学好技术,才能师夷长技以制夷,为中华之崛起而读书!
演化计算与人工智能
2020/08/14
2.9K0
一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色
气象绘图cmap、cbar超详细版(附示例)
在matplotlib和cartopy中,其常见的绘图命令,若是带有颜色映射的collection(s)类,则基本都可以引入cmap与colorbar功能来分析数据。cmap即是颜色映射表,colorbar即是颜色分析色条,前者只起到对绘图对象上色的功能,后者实现色阶与数值的对应。
自学气象人
2022/11/02
21K0
气象绘图cmap、cbar超详细版(附示例)
Matlab绘图方法整理(超完整版)
二维图像是我们在学习过程中经常会接触到的图像,比如在做数学题目时随手画出的一个正弦曲线,这个图像往往是我们根据它的函数做出来的,事实确是这样,在我们学习过程中画出来的每一个图像几乎都是函数,反过来说,每一个函数都对应着它自己的图像,我们能画出来的二维图像往往是一个一元函数即二元方程,在Matlab中做二维图像也是这样,我们根据一个函数来画出它的图像,不过要注意的一点是,在Matlab画图的过程中,它并不认识你给出的那个函数,它要做的仅仅是把你给出的函数上的点连成线而已。
全栈程序员站长
2022/09/07
2.8K0
Matlab绘图方法整理(超完整版)
【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析 | 自定义 colormap 颜色图 | 生成 64 x 3 的 colormap 颜色图矩阵 )
imagesc 函数参考文档 : https://ww2.mathworks.cn/help/matlab/ref/imagesc.html
韩曙亮
2023/03/29
3.9K0
【MATLAB】进阶绘图 ( colormap 颜色图矩阵分析 | 自定义 colormap 颜色图 | 生成 64 x 3 的 colormap 颜色图矩阵 )
【MATLAB 从零到进阶】day7制作三维图形
>> plot3(20*sin(t), 20*cos(t), t, 'r', 'linewidth', 2);
Ai学习的老章
2019/04/10
1K0
【MATLAB 从零到进阶】day7制作三维图形
【MATLAB】进阶绘图 ( imagesc 缩放颜色显示图像 | imagesc 函数 | Colormaps 颜色图 )
imagesc 函数参考文档 : https://ww2.mathworks.cn/help/matlab/ref/imagesc.html
韩曙亮
2023/03/29
5.1K0
【MATLAB】进阶绘图 ( imagesc 缩放颜色显示图像 | imagesc 函数 | Colormaps 颜色图 )
matlab中plot画图的颜色线型「建议收藏」
(matlab)plot画图的颜色线型 y 黄色 · 点线 m 粉红 ○ 圈线 c 亮蓝 × ×线 r 大红 + +字线 g 绿色 - 实线 b 蓝色 * 星形线 w 白色 : 虚线 k 黑色 -. – 点划线 matlab6.1线形: [ + | o | * | . | x | square | diamond | v | ^ | > | < | pentagram | hexagram ] square 正方形 diamond 菱形 pentagram 五角星 hexagram 六角星用法grid 打开网格线 – 虚线 hold on 命令用于在已画好的图形上添加新的图形 1 x=0:0.001:10; % 0到10的1000个点(每隔0.001画一个点)的x座标 y=sin(x); % 对应的y座标 plot(x,y); % 绘图 注:matlab画图实际上就是描点连线,因此如果点取得不密,画出来就成了折线图,请试验之 2 Y=sin(10x); plot(x,y,‘r:’,x,Y,‘b’) % 同时画两个函数 3 若要改变颜色,在座标对后面加上相关字串即可: x=0:0.01:10; plot(x,sin(x),‘r’) 4 若要同时改变颜色及图线型态(Line style),也是在坐标对后面加上相关字串即可: plot(x,sin(x),’r’) 5 用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围 axis([0,6,-1.5,1]) 6 MATLAB也可对图形加上各种注解与处理:(见上表) xlabel(‘x轴’); % x轴注解 ylabel(‘y轴’); % y轴注解 title(‘余弦函数’); % 图形标题 legend(‘y = cos(x)’); % 图形注解 gtext(‘y = cos(x)’); % 图形注解 ,用鼠标定位注解位置 grid on; % 显示格线 7画椭圆 a = [0:pi/50:2pi]’; %角度 X = cos(a)3; %参数方程 Y = sin(a)2; plot(X,Y); xlabel(‘x’), ylabel(‘y’); title(‘椭圆’) 8 绘制函数 在0 ≤ x ≤ 1时的曲线。 x=0:0.1:1 y=x.exp(-x) %为什么用点运算?若不用会怎样 plot(x,y),xlabel(‘x’),ylabel(‘y’),title(‘y=xexp(-x)’) 9 画出衰减振荡曲线 与它的包络线 及 。t 的取值范围是[0, 4π] 。 t=0:pi/50:4pi; y0=exp(-t/3); y=exp(-t/3).sin(3t); plot(t,y,’-r’,t,y0,’:b’,t,-y0,’:b’) % -r表示红色实线,:b表示蓝色点线,看上表 grid 10 在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;把一个画面分成m×n个图形区域, p代表当前的区域号,在每个区域中分别画一个图,如 x=linspace(0,2pi,30); y=sin(x); z=cos(x); u=2sin(x).cos(x); v=sin(x)./cos(x); subplot(2,2,1),plot(x,y),axis([0 2pi -1 1]),title(‘sin(x)’) subplot(2,2,2),plot(x,z),axis([0 2pi -1 1]),title(‘cos(x)’) subplot(2,2,3),plot(x,u),axis([0 2pi -1 1]),title(‘2sin(x)cos(x)’) subplot(2,2,4),plot(x,v),axis([0 2*pi -20 20]),title(‘sin(x)/cos(x)’)
全栈程序员站长
2022/09/27
4.9K0
Matlab画图-非常具体,非常全面
强大的画图功能是Matlab的特点之中的一个,Matlab提供了一系列的画图函数,用户不须要过多的考虑画图的细节,仅仅须要给出一些基本參数就能得到所需图形,这类函数称为高层画图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层画图操作。这类操作将图形的每一个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每一个对象分配一个句柄,能够通过句柄对该图形元素进行操作,而不影响其它部分。
全栈程序员站长
2021/11/18
2.5K0
Matlab画图常用的线条符号、颜色
4 、若要同时改变颜色及图线型态(Line style),也是在坐标对后面加上相关字串即可
全栈程序员站长
2022/07/01
3.3K0
matlab命令,应该很全了!「建议收藏」
1、!dir 可以查看当前工作目录的文件。 !dir& 可以在dos状态下查看。
全栈程序员站长
2022/11/10
7.6K0
Matlab系列之三维图形
在Matlab中,三维图形有:三维曲线、三维网格以及三维曲面,分别对应函数:plot3、mesh和surf,本篇将介绍些常规使用以及一些三维图形的处理。
狂人V
2021/06/29
1.8K0
MATLAB中meshgrid函数用法
涉及到x、y、z三组数据,而x、y这两组数据可以看做是在Oxy平面内对坐标进行采样得到的坐标对(x,y)。表中一共有7*7=49个数据,我们分别标出来,得到下图
全栈程序员站长
2022/09/06
2.3K0
MATLAB中meshgrid函数用法
机器学习:MATLAB语法
MATLAB中定义函数需要新建一个 ‘xxx.m’ 的文件,然后将函数的定义写在文件中,该文件要放在MATLAB打开的文件夹下,某函数定义如下,返回平方数。
Here_SDUT
2022/09/19
1.7K0
机器学习:MATLAB语法
MATLAB绘图总结
二维图像是在不同的平面坐标上将数据点连接起来的平面图像。常用的平面坐标有,直角坐标、极坐标、对数坐标等,MATLAB有很多常用的指令来绘制不同的二维图像。
全栈程序员站长
2022/09/07
2.1K0
Matlab绘图(一二三维)
强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。
全栈程序员站长
2022/07/15
2.6K0
如何利用matlab画三维图_平面图怎么画
本人是一位数学科研工作者,平时的文章采用的是latex编写,里面图形的生成主要来自于Matlab(个人对Matlab非常喜欢,感觉上手比较容易,更亲民)。对于图形的处理比较频繁,而且总会有一些特殊的需求,每次都要上网搜查,或者查以前用过的命令,经常花了很多时间,实现了一点小要求,事后回想有点得不偿失。因此借助这个平台,记录自己在Matlab使用过程中碰到的一些问题,给出我找到或者知道的解决办法,不过方法不是唯一的,也希望广大网友能有更好的思路提供。后续碰到的问题我也会继续更新(如果我有时间的话哈)。
全栈程序员站长
2022/11/10
4.2K0
如何利用matlab画三维图_平面图怎么画
Matlab学习
此 MATLAB 函数 清除命令行窗口中的所有文本,让屏幕变得干净。运行 clc
裴来凡
2022/05/29
1.4K0
Matlab学习
matlab做图像_matlab语言基础
也可以将一个图像写入当前目录下: l1=imread(‘E:\a_matlab_file\picture***.jpg’); img=rgb2gray(l1); imshow(img); imwrite(img,‘gray.jpg’);
全栈程序员站长
2022/11/09
1.5K0
matlab做图像_matlab语言基础
matlab语法 axis on,matlabaxis
axis( [xmin xmax ymin ymax] ):可以设置当前坐标轴 x轴 和 y轴的限制范围
全栈程序员站长
2022/07/01
1.8K0
matlab语法 axis on,matlabaxis
推荐阅读
相关推荐
matlab二维彩图colormap调色_matlab如何自定义颜色
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档