Matlab 在使用imagesc创建的绘图上覆盖半透明矩形?

Matlab 在使用imagesc创建的绘图上覆盖半透明矩形?,matlab,matlab-figure,Matlab,Matlab Figure,我在MatLab中使用了imagesc来绘制声场。现在我想在图像的某个位置覆盖一个半透明的填充矩形。理想情况下,我希望能够做到以下几点: imagesc(g,g,field); hold on plotRectangle([100,100,200,200], 'b', 0.5) hold off 其中b是矩形的颜色,0.5是透明度。可以这样做吗?您可以使用创建一个矩形对象,然后使用指定为RGBA的颜色来包含透明度 rectangle('Position', [100 100 200 200],

我在MatLab中使用了
imagesc
来绘制声场。现在我想在图像的某个位置覆盖一个半透明的填充矩形。理想情况下,我希望能够做到以下几点:

imagesc(g,g,field);
hold on
plotRectangle([100,100,200,200], 'b', 0.5)
hold off
其中b是矩形的颜色,0.5是透明度。可以这样做吗?

您可以使用创建一个矩形对象,然后使用指定为RGBA的颜色来包含透明度

rectangle('Position', [100 100 200 200], 'FaceColor', [0 0 1 0.5])
或者,您可以只使用一个对象


非常感谢。我忘了有一个阿尔法通道
p = patch('vertices', [100, 100; 100, 200; 200, 200; 200 100], ...
          'faces', [1, 2, 3, 4], ...
          'FaceColor', 'b', ...
          'FaceAlpha', 0.5)