如何从两种颜色创建插值的颜色图或调色板?

蓝比特

我想在两种颜色之间创建一个调色板。例如,蓝色红色之间有20或50个实例。

在Matlab R2014b中如何实现?

走走

你可以使用任何类型的内插(例如interp1)来创建自己的自定义颜色表两种颜色或多种颜色之间。色图基本上是具有RGB值的3列矩阵。在你的情况下,它很简单,因为你只需要[1 0 0]蓝色 [0 0 1]以及两者之间的线性插值。linspace因此是最佳选择。

n = 50;               %// number of colors

R = linspace(1,0,n);  %// Red from 1 to 0
B = linspace(0,1,n);  %// Blue from 0 to 1
G = zeros(size(R));   %// Green all zero

colormap( [R(:), G(:), B(:)] );  %// create colormap

%// some example figure
figure(1)
surf(peaks)
colorbar

在此处输入图片说明

请注意,您还可以通过键入使用颜色表GUI colormapeditor


另外,您也可以使用2D插值

n = 50;                %// number of colors

cmap(1,:) = [1 0 0];   %// color first row - red
cmap(2,:) = [0 1 0];   %// color 25th row - green
cmap(3,:) = [0 0 1];   %// color 50th row - blue

[X,Y] = meshgrid([1:3],[1:50]);  %// mesh of indices

cmap = interp2(X([1,25,50],:),Y([1,25,50],:),cmap,X,Y); %// interpolate colormap
colormap(cmap) %// set color map

%// some example figure
figure(1)
surf(peaks)
colorbar

在此处输入图片说明


还有另一个使用样条插值法获得蓝色和红色区域的示例

n = 50;                %// number of colors

v = [0,0,0.1,0.5,0.9,1,1];
x = [-5*n,0, 0.45*n, 0.5*n, 0.55*n, n, 5*n]; 
xq = linspace(1,n,n);
vq = interp1(x,v,xq,'spline');
vq = vq - min(vq);
vq = vq./max(vq);

B = vq;  %// Blue from 0 to 1 with spline shape
R = fliplr(B);  %// Red as Blue but mirrored
G = zeros(size(R));   %// Green all zero

colormap( [R(:), G(:), B(:)] );  %// create colormap

%// some example figure
figure(1)
surf(peaks)
colorbar

在此处输入图片说明


或使用您想要的任何数学函数:

n = 50;                %// number of colors

t = linspace(0,4*pi,50);

B = sin(t)*0.5 + 0.5;  %// Blue from 0 to 1 as sine
R = cos(t)*0.5 + 0.5;  %// Red from 0 to 1 as cosine
G = zeros(size(R));   %// Green all zero

colormap( [R(:), G(:), B(:)] );  %// create colormap

%// some example figure
figure(1)
surf(peaks)
colorbar

在此处输入图片说明

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何删除调色板颜色热图

来自分类Dev

Python 对数颜色图/调色板

来自分类Dev

如何计算调色板中所选颜色的颜色?

来自分类Dev

两种颜色订购的热图

来自分类Dev

将调色板分配给图像的图块,以适合每个K种颜色的N个调色板

来自分类Dev

如何创建每个点有两种颜色的散点图?

来自分类Dev

如何创建带有两种颜色的文本的textview?

来自分类Dev

如何创建两种颜色的导航栏?

来自分类Dev

从 RGB 颜色列表创建调色板图像

来自分类Dev

Gnuplot:为绝对值设置调色板颜色

来自分类Dev

创建 vscode 主题时如何自定义命令调色板颜色和键绑定

来自分类Dev

如何将调色板缩小为特定颜色?

来自分类Dev

根据百分比值在两种颜色之间进行插值

来自分类Dev

如何比较两种颜色?

来自分类Dev

错误:必须从色调调色板中请求至少一种颜色

来自分类Dev

Seaborn调色板-防止颜色回收

来自分类Dev

从样式调色板获取matplotlib颜色

来自分类Dev

在R的调色板中保存颜色

来自分类Dev

调色板颜色覆盖轮廓

来自分类Dev

从样式调色板获取matplotlib颜色

来自分类Dev

两种颜色的文字

来自分类Dev

Highcharts两种颜色用于填充面积图

来自分类Dev

R:将颜色分配给值/颜色渐变调色板

来自分类Dev

如何在熊猫中用两种颜色绘制单个图

来自分类Dev

如何在熊猫中绘制具有两种颜色的单个图

来自分类Dev

ggplot2中两个不同颜色美学映射的不同调色板

来自分类Dev

如何创建由两种颜色并排组成的android drawable?

来自分类Dev

如何创建由两种颜色并排组成的android drawable?

来自分类Dev

根据数据文件中z值的范围定义调色板颜色

Related 相关文章

热门标签

归档