matlab如何实现不同的值显示不同的颜色

举例一

一、视图

二、代码

作者:CoderMan
链接:https://www.zhihu.com/question/503639152/answer/2257427351
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

clear;clc;
[x, y, z] = peaks(30);
min_z = min(z(:));
max_z = max(z(:));
% 映射到 0 - 1
z = (z - min_z) ./ (max_z - min_z);
% 映射到 0 - 1000
z = z * 1000;
% 颜色 简单起见 设置成数据范围大小的数组
c_map = zeros(1000, 3);
% 绿色
c_map(1:160, :) = repmat([0, 1, 0], 160, 1);
% 蓝色
c_map(161:260, :) = repmat([0, 1, 1], 100, 1);
% 黄色
c_map(261:530, :) = repmat([1, 1, 0], 270, 1);
% 红色
c_map(530:end, :) = repmat([1, 0, 0], 471, 1);
subplot(1, 2, 1)
surf(x, y, z);
colormap(c_map)
colorbar
shading interp
subplot(1, 2, 2)
contourf(x, y, z);
colormap(c_map)
colorbar

举例二、MATLAB画二维线条渐变颜色

x = -5:0.1:5;
y = x.^2;
z = x.^2;
patch([x,nan],[y,nan],[z,nan],'EdgeColor','flat','LineWidth',1,'MarkerFaceColor','flat','FaceColor','none')
colorbar

效果如下所示:

% 加载保存为mat变量的矩阵
load circRNA_ss cirRNA_ss
% 分别执行下面语句
imagesc(circRNA_ss);
colormap jet
colorbar

color的域值为0—1 
plot(x,y,'Color',[1 0 0]);代表红色
plot(x,y,'Color',[0 1 0]);代表绿色
plot(x,y,'Color',[0 0 1]);代表蓝色 
plot(x,y,'Color',[0.3 0.8 0.9]);则是三种颜色组成的新颜色。

显示色阶的颜色栏 - MATLAB colorbar - MathWorks 中国

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值