我想在颜色图中定义一种透明颜色,该怎么做?
我需要这个的原因是我的axes
中有多层(由imagesc
和plot
产生)。我知道我可以简单地先使用 imagesc
然后plot
但我想在imagesc
表示的非零值后面画线。
为了将零着色为白色,我使用
jet = colormap('jet');
jet(1:2,:) = 1;
colormap(jet);
现在我想让白色透明。
colormap
没有用于 alpha 的第四个元素,它只有 RGB,所以我做这种事情的方法是制作所需透明度层的蒙版 - 二进制或灰度将起作用 - 然后将其应用于图像。为此,您需要存储图像的句柄
% make random image
im = rand(100,100);
% make example alphamask
alphamask = im<0.3;
% store handle
hnd = imagesc(im);
% apply mask
set(hnd, 'AlphaData', alphamask);