在Matlab中考虑 MxN 矩阵 A ,其值为 [ - op] ,其中M,N为整数值,o,p为双重值。 M 和 N 中orig的任意一侧的值数量不一定均为。
使用Matlabs imagesc 和 colorbar 可视化A 。
如何强制使用颜色条将 A 中的值设置为接近零作为某种颜色?
请注意,我不希望(例如)'硬代码'零(0)为绿色(0 128 0),而是希望使用默认的rgb或hsv色彩映射并使其适应值在 A 中,同时仍保持绿色调为零(或接近于零)。
答案 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])