获取与数组值对应的颜色映射值

5次浏览(最近30天)
汉娜疯了
汉娜疯了 2021年8月13日
评论: 汉娜疯了2021年8月13日
亲爱的Matlab社区,
目前,我正在尝试可视化神经成像数据,因此遇到以下问题:
我有一个1990个值的数组,我想在一个连续的色条上用不同的颜色绘制。因此,我所需要的只是关于如何获得一个矩阵的信息,该矩阵包含与数组中的数据相对应的RGB三元组。我已经尝试了以下方法:
c=喷射(cvals)
这将产生以下代码:
错误使用/
矩阵尺寸必须一致。
错误喷射(第23行)
u=[(1:1:n)/n个(1,n-1)(n:-1:1)/n];
任何帮助都将不胜感激。
非常感谢。

公认的答案

春如
春如 2021年8月13日
%兰特cvars
cvars=randi([10450],[128,1]);
%您需要指定表示这些CVAR的颜色数
n=512;
cmap=射流(n);
%cvars的范围与cmap范围(1:512)不同,因此必须映射
%它。(与imagesc类似)
cvars_map=(cvars-最小值(cvars))/(最大值(cvars)-最小值(cvars))*(n-1)+1;
%现在找到第i个CVAR的颜色
i=10;
cvars(我)
ans=136
cvars_map(我)%映射CVaR
ans=147
提出(cvars_map(我):)%相应颜色
ans= 1×3
0 0.6484 1.0000
3评论
汉娜疯了
汉娜疯了 2021年8月13日
非常感谢你!它起作用了。最后一个问题:如果我有异常值(即值在1-35之间)并且一个值高得多(即70),有没有办法更改颜色贴图的限制?我只找到了caxis,但我不认为它能胜任这里的工作。

登录以发表评论。

更多答案(0)

标签

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!