matlab如何实现不同的值显示不同的颜色 | 您所在的位置:网站首页 › matlabplot线条颜色 › 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 中国 |
CopyRight 2018-2019 实验室设备网 版权所有 |