Matlab自制Colorbar(一)

article/2025/10/4 17:15:29

目录

前言

一、寻找一张好看的配色图

二、保存待制作的Colorbar

三、利用代码读取并制作ColorMap

四、读入ColorMap画图

前言

        在我们的日常科研生活中,能够用一张让人眼前一亮的图给同行展示自己的成果是非常重要的。而且,往往越高端的期刊对作图的要求也越高。一张好看的配图首先就取决于它的配色。

        本文以Matlab作图为例来展示如何自定义一幅图的配色--自制Colorbar教程


一、寻找一张好看的配色图

        比如下面这张两张图:

335fc9717cf446ae8ef0fea502f32ae1.png

        这是我去年发在Geophysics期刊的一篇文章,左边图是我用Matlab直接画的,参数为默认,Colormap用的jet :

imagesc(x,y,data);colormap(jet)

        右边的图是正式发表之后期刊的配色,感觉看上去高级了不少。那我下次能不能直接画成这样呢?这就需要去扒它的Colorbar,根据它的配色生成一个ColorMap,下次再用。

        如果在平时看文章的时候看到一些好的配色图,也可以把它的Colorbar截下来,根据我下面的操作制作同款ColorMap。 

二、保存待制作的Colorbar

将自己喜欢的Colorbar截图保存到本地(直接截图保存即可)。 

05fb7211264a4976a92fed13b7bdb413.png


 三、利用代码读取并制作ColorMap

 在Matlab中运行下面的代码,并将刚才截图保存的Colorbar的图片读入,即可生成自制的ColorMap

clc;
clear;
%根据一张颜色条的截图读取颜色值来制作自己的颜色条
%选择图片文件
[filename, pathname] = uigetfile({'*.jpg;*.png;*.tif;*.tiff'}, '读取图片文件'); 
if isequal(filename,0)%判断是否选择msgbox('没有选择任何图片');
elsepathfile=fullfile(pathname, filename);%获得图片路径img=imread(pathfile); %将图片读入矩阵
end[a,b,c]=size(img);if a>b  %当颜色条竖着时color=img(:,round(b/2),:);%得到中间一条的颜色信息colorfinal=reshape(color,a,3);% 最后得到中间一条每个点的RGBcolorfinal=double(colorfinal);colorfinal=colorfinal./255; %需要转化成双精度,0-1之间的数值%colorfinal=flipud(colorfinal); %上下翻转colormap(colorfinal); %查看制作好的颜色条%colorbar;ColorMap_me=colorfinal;
else %当颜色条横着时color=img(round(a/2),:,:); %  得到中间一条的颜色信息colorfinal=reshape(color,b,3); %  最后得到中间一条每个点的RGBcolorfinal=double(colorfinal);colorfinal=colorfinal./255; %  需要转化成双精度,0-1之间的数值%colorfinal=flipud(colorfinal); %上下翻转colormap(colorfinal) ; %查看制作好的颜色条%colorbar;ColorMap_me=colorfinal;
end
%保存制作好的颜色条
save ColorMap_me ColorMap_me 
%生成随机相关矩阵
correlation_matrix=corr(rand(10,10)); 
%应用matlab自带颜色条画图测试
figure;
imagesc(correlation_matrix);
colorbar;
title('应用matlab自带颜色条进行显示','FontSize',16,'FontWeight','bold' );
%应用自制的颜色条进行显示
figure;
colormap(ColorMap_me) 
imagesc(correlation_matrix);
colorbar;
title('应用自制的颜色条进行显示','FontSize',16,'FontWeight','bold' )

运行结果如下所示: 

98b06c5f17a240308cea722b76052c02.png

至此,根据别人文章里的Colorbar截图制作自己的Colorbar就成功了! 

 

四、读入ColorMap画图

 上一步的代码中会保存ColorMap_me.mat文件,下次使用时直接读入使用:

load('ColorMap_me.mat', 'ColorMap_me')
figure;
colormap(ColorMap_me)
imagesc(correlation_matrix)

 


http://chatgpt.dhexx.cn/article/7wFjvDNo.shtml

相关文章

python colorbar设置label标签位置

colorbar简单设置方法 关于python中使用colorbar的方法已经有比较好的博文介绍,简单列举个人感觉比较好两个 colorbar方向 https://blog.csdn.net/weixin_43257735/article/details/121831188 colorbar颜色 https://blog.csdn.net/liuchengzimozigreat/article/det…

python 如何实现colorbar的标签位于每个色标中间(正下方)

前言 python实现colorbar标签的多样化显示 大部分文献中colorbar的色标都是如下图所示: 以80~100表示这个范围内数据为最显著的红色,其他范围内的各个色域类似 那么,如果我希望将最右边最红的区域定义为一个字幕,并使这个字母出…

MATLAB 矩阵数据可视化imagesc 以及 如何多图共用一个 colorbar

当遇到需要查看一个二维矩阵数据中值的大小分布情况时可以使用 MATLAB 把矩阵以图像的形式展现出来,这样更直观。MATLAB 的可视化函数之一是 imagesc( ),还有其他的方法,这里只介绍下 imagesc。 目录 1、单一作图 2、同时绘制多图并共用 c…

python 调节colorbar的大小,以及对colorbar的细节调节

参考链接1 这个很nice,对colorbar的调节很到位 添加colorbar的标题

matplotlib 配色之 colorbar 模块详解

matplotlib.colorbar 模块详解 引子 上一篇我们围绕colormap颜色映射,详细介绍了matplotlib.colors 和 matplotlib.cm模块。 使用matplotlib.colors模块可以完成大多数常见的任务。似乎很少需要直接使用matplotlib.cm模块。我们继续使用上一篇最后的例子来看看 m…

如何在matlab中设置colorbar

colorbar是matlab插值填色图的标尺,设置上下限和设置颜色是作图中基础的能力。 例如这张uha图,首先使用函数caxis([-1.2,2.2])编辑colorbar上下限,打开后右键颜色编辑器选择心怡的颜色。然后用下面的代码存储这种配色方式方便下次使用&#x…

matplotlib画图使用python可视化colorbar工具自定义颜色

python matplotlib画图使用colorbar工具自定义颜色 colorbar(draw colorbar without any mapple/plot) 自定义colorbar可以画出任何自己想要的colorbar,自由自在、不受约束,不依赖于任何已有的图(plot/mappable)。这里使用的是mp…

matplotlib 合理设置colorbar和子图的对应关系

matplotlib 合理设置colorbar和子图的对应关系 文章目录 matplotlib 合理设置colorbar和子图的对应关系1. 介绍2 plt.contourf ()2.1 错误示范2.2 使用 norm实现颜色和数值之间的对应关系2.3 只显示最后一个的colorbar2.4 使用 levels 参数设置 3. 使用plt.imshow()4 单独设置c…

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

matlab关于colorbar的整理(绘制不等间距colorbar, colorbar的大小位置调节等 1. 绘制不等间距colorbar2. colorbar的大小位置调节3. 更改colorbar上的刻度、给colorbar加单位 对matlab关于colorbar的一些小细节进行整理,希望对一些人能够有所帮助~ 1. 绘制不等间距c…

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

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

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

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

Matplotlib 系列:colorbar 的设置

转载于:Matplotlib 系列:colorbar 的设置 该文为我很及时的解决了我的烦恼,再次向作者致意~ 作者一直在持续更新python系列,请支持原作者,文章来源:炸鸡人博客 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;是一种典型的二叉树。 默克尔树由根…