MATLAB设置颜色图颜色范围

开尔文S

我有一个使用patch的3D图,默认的色彩图是我使用R2014a时的喷射图,所以我使用

cMap=hsv(250);
colormap(cMap);
caxis([min(M(:)) max(M(:))]);

但是,当值增加时,颜色从深蓝色变为浅蓝色,然后变为深红色。对我来说这是不理想的,因为当值增加时,我希望颜色从浅色变为深色。因此,如何调整颜色图,使其随着值的增加从浅蓝色或白色变为深红色?谢谢你。

布莱恩·林奇

有很多不同的颜色图,您也可以创建自己的自定义颜色图。用于doc colormap更详细地查看它们:

MATLAB颜色图

如果您使用的是HSV色图,并且只能看到蓝色到红色,那是因为您的色轴限制使得仅对色图的那一部分进行了采样。因此,如果您的数据范围从0.5到1.0,但您将色轴设置为,caxis([0.0 1.0])则您只会在色图中看到一半的颜色。

为了获得如您所描述的颜色图,您可以使用这种方法指定最小和最大颜色,并创建一个从一种颜色过渡到另一种颜色的颜色图。请注意,您将必须根据绘图的限制适当设置色轴值(命令会surf自动拉伸以包括所有颜色)。

% number of map indices
Nmap = 64;

% colormap from cyan to red
cMin1 = [0 1 1];
cMax1 = [1 0 0];
cMap1 = zeros(Nmap,3);
for i = 1:Nmap;
    cMap1(i,:) = cMin1*(Nmap - i)/(Nmap - 1) + cMax1*(i - 1)/(Nmap - 1);
end

% colormap from white to red
cMin2 = [1 1 1];
cMax2 = [1 0 0];
cMap2 = zeros(Nmap,3);
for i = 1:Nmap;
    cMap2(i,:) = cMin2*(Nmap - i)/(Nmap - 1) + cMax2*(i - 1)/(Nmap - 1);
end

% make up some data
Z = linspace(0,1,100)'*ones(1,100);

% plot with HSV colormap
figure
surf(Z,'edgealpha',0);
colormap('hsv');

% plot with cyan-to-red colormap
figure
surf(Z,'edgealpha',0);
colormap(cMap1);

% plot with white-to-red colormap
figure
surf(Z,'edgealpha',0);
colormap(cMap2);

哪个应该产生:

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用offsetbox的颜色图范围

来自分类Dev

带有浮点范围的自定义颜色图,可用于Matlab中的颜色

来自分类Dev

根据颜色图设置线条颜色

来自分类Dev

在Matlab中绘制颜色图

来自分类Dev

三列的matlab颜色图

来自分类Dev

在图表下设置颜色图

来自分类Dev

如何分配热图颜色范围

来自分类Dev

Matlab颜色图-如何仅更改一个特定值,而不更改某个值范围?

来自分类Dev

在MATLAB中显示多个颜色图的颜色条

来自分类Dev

Matlab:如何控制流图的颜色?

来自分类Dev

Matlab轮廓图平滑颜色

来自分类Dev

Matlab调整热图轴和颜色

来自分类Dev

Matlab颜色图对称约1

来自分类Dev

Matlab调整热图轴和颜色

来自分类Dev

通过段值定义的MATLAB颜色图

来自分类Dev

在MPAndroidChart中设置饼图的颜色

来自分类Dev

如何设置饼图的特定颜色?

来自分类Dev

在 plt 外设置 matplotlib 颜色图的限制

来自分类Dev

在Matlab / Octave中创建颜色图/热图

来自分类Dev

Matlab:历史,图和网格的相同颜色图

来自分类Dev

具有用户定义的颜色范围和静态颜色图的2D颜色编码散点图

来自分类Dev

将颜色更改为条形图Matlab

来自分类Dev

Matlab R2014问题与从colormapeditor保存颜色图

来自分类Dev

Matlab:明确指定饼图切片颜色

来自分类Dev

MATLAB-使用回调更新表面图的颜色

来自分类Dev

如何在Matlab中更改子图的单个条形颜色

来自分类Dev

使用CBfit Matlab自定义颜色图

来自分类Dev

MATLAB:imagesc()和image()以不同的方式显示相同的颜色图

来自分类Dev

设置饼图切片和图例的颜色