如何制作颜色条与单一颜色与变化的强度?

9次浏览(过去30天)
我有一个最大值为1.5,最小值为-0.5的数据。这是二维数据。我想为等高线图制作一个单色色条。Min_scale_colorbar=浅蓝色;Max_Scale_colorbar =强烈的蓝色。

答案(2)

Bjorn Gustavsson
Bjorn Gustavsson 2021年8月9日
也许 colormap从 cmocean-perceptually-uniform-colormaps (或该工具提供的任何其他颜色映射的部分或修改),或从您在文件交换中找到的任何颜色映射工具范围中的任何东西:
crameri-perceptually-uniform-scientific-colormaps pycolormap4matlab cubehelix-colormap-generator-beautiful-and-versatile pridemap colorbrewer-attractive-and-distinctive-colormaps custom-colormap 为例。或者,您可以简单地制作自己的颜色图,作为一个合适的亮蓝色到深蓝色的n × 3数组,其中前两列为红色和绿色rgb值,低于第三个蓝色通道(所有值都在0到1之间,您知道最适合您的灵敏度…)
HTH
2的评论
Bjorn Gustavsson
Bjorn Gustavsson 2021年8月9日
好吧,但这只是一个例子来让你理解,而不是我说要做一个漂亮的蓝-蓝配色图…
Cmap_blue = 1-gray;%(灰度由低端的白色到高端的黑色)
subbplot (1:2)
显示亮度图像(峰(234))、colorbar只是用来说明颜色图的东西。
colormap (cmap_blue)
次要情节(3、1,3)
rgbplot (cmap_blue)
Cmap_blue (:,3) = 0.5* Cmap_blue (:,3) + 0.5;
colormap (cmap_blue)
rgbplot (cmap_blue)
Cmap_blue (:,1:2) = Cmap_blue (:,1:2).^2*0.8;
colormap (cmap_blue)
次要情节(3、1,3)
rgbplot (cmap_blue)
然后你可以继续摆弄三个(r, g和b)颜色图曲线来调整它到你的内心的内容-这是一个冒险的事情,因为一个人可能会有点被创建“他们所有人中最漂亮的”所消耗,这将花费更多的时间来改进它…
...这就是为什么我发现在文件交换的工具箱中使用一些已经设计好的颜色地图或从默认的matlab-colormaps中使用更可取。

登录评论。


大卫Goodmanson
大卫Goodmanson 2021年8月10日
嗨Subhodh,
我同意Bjorn的观点,这是有可能陷入其中的,并且需要一些工作来让它看起来更好
冲浪(峰值(40))
colormap (“酷”
colorbar
但这里有一种方法,至少可以在更短的时间内搞得乱七八糟。使用下面的色轮函数,您可以显示一个色轮,然后使用图上的数据提示功能来选择边缘附近的一些rgb点。然后将rgb转换为色相、饱和度和值。对于边缘上的点,每种颜色都有饱和度= 1,色调是你喜欢的。为了简单起见,我一直使用value(即亮度)= 1,并且没有改变它。
下面的代码使用恒定的色调并改变饱和度(在本例中从。1到1)来制作颜色地图。显然,你可以用很多不同的方法在色轮上选择两个点,并在它们之间进行插值来制作颜色地图。
colorwheel(1、2)
%使用数据提示功能选择颜色
Rgbcols = [0.5 1];%例如
H = rgb2hsv(rgbcols);%转到hue, sat, val
N = 64;
Satmin = .1;
地图= hsv2rgb ([h (1) * (n, 1) linspace (satmin 1 n)”的(n - 1))
图(1)
colormap(地图)
colorbar
函数fignum colorwheel (val)
%颜色轮的值val(色相,饱和度,值),显示在
%数字数字。如果没有输入,value = 1 figum = 1。
%色相和饱和度变化。饱和度从中心的0开始运行
%到1。Hue从右边x轴上的0开始
%,并在右x轴上逆时针旋转到值1
如果Nargin == 0
Val = 1;
figure = 1;
结束
N = 400;
Nn = (-n:n)/n;
[x y] = meshgrid(nn,nn);
Huu =角(-x+i*y)/(2*pi) + 1/2;
Sat = abs(x+i*y);
Val = Val *ones(size(huu));
%背景灰色
Ind = sat>1;
Huu (ind) = 1;
Sat (ind) = 0;
Val (ind) = .8;
HSV = [huu(:) sat(:) val(:)];
RGB = hsv2rgb(hsv);
RGB =重塑(RGB,2*n+1,2*n+1,3);
无花果(fignum)
显示亮度图像(rgb)
广场
网格
结束

s manbetx 845

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!