在Matlab colorbar

时间:2016-03-30 12:45:09

标签: image matlab vector pixels colorbar

在Matlab中考虑 MxN 矩阵 A ,其值为 [ - op] ,其中M,N为整数值,o,p为双重值。 M N 中orig的任意一侧的值数量不一定均为。

使用Matlabs imagesc colorbar 可视化

A

如何强制使用颜色条将 A 中的值设置为接近零作为某种颜色?

请注意,我不希望(例如)'硬代码'零(0)为绿色(0 128 0),而是希望使用默认的rgb或hsv色彩映射并使其适应值在 A 中,同时仍保持绿色调为零(或接近于零)。

2 个答案:

答案 0 :(得分:2)

如果您希望0值实际位于色彩映射的中间,则需要在确定最大值后设置颜色限制(使用轴的caxis属性的CLims)您的数据量:

limit = max(abs(data(:)));
caxis([-limit, limit]);

答案 1 :(得分:0)

这就是我要去的地方。我真的觉得有更快/更好的方法,所以请发布改进。

[minM minMlix] = min(oM(:));
[maxM maxMlix] = max(oM(:));
gr1 = abs( minM );
gr2 = abs (maxM );
if ( gr1 > gr2 )
    maxM = gr1;
elseif (gr1 < gr2 )
    minM = -maxM;
end
caxis([minM maxM])