在Matlab colorbar中将值设置为某种颜色
Set value to a certain color in Matlab colorbar
在 Matlab 中考虑一个 MxN 矩阵 A 其值在 [-o p] 中M,N 作为整数值,o,p 作为双精度值。 M和N中origo两边的值个数不一定是偶数。
A 使用 Matlabs imagesc 和 colorbar.
可视化
如何强制颜色条将 A 中接近于零的值设置为某种颜色?
请注意,我不希望(例如)'hard code' 零 (0) 为绿色 (0 128 0),而是我希望使用默认的 rgb 或 hsv 颜色图并进行调整A 中的值,同时仍保持绿色调为零(或接近零)。
这就是我要做的。我真的觉得有一种 faster/better 方法可以做到这一点,所以请 post 改进。
[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])
如果您希望 0 值实际位于颜色图的中间,则需要在确定最大幅度后设置颜色限制(使用轴的 caxis
of the CLims
属性)您的数据:
limit = max(abs(data(:)));
caxis([-limit, limit]);
在 Matlab 中考虑一个 MxN 矩阵 A 其值在 [-o p] 中M,N 作为整数值,o,p 作为双精度值。 M和N中origo两边的值个数不一定是偶数。
A 使用 Matlabs imagesc 和 colorbar.
可视化如何强制颜色条将 A 中接近于零的值设置为某种颜色?
请注意,我不希望(例如)'hard code' 零 (0) 为绿色 (0 128 0),而是我希望使用默认的 rgb 或 hsv 颜色图并进行调整A 中的值,同时仍保持绿色调为零(或接近零)。
这就是我要做的。我真的觉得有一种 faster/better 方法可以做到这一点,所以请 post 改进。
[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])
如果您希望 0 值实际位于颜色图的中间,则需要在确定最大幅度后设置颜色限制(使用轴的 caxis
of the CLims
属性)您的数据:
limit = max(abs(data(:)));
caxis([-limit, limit]);