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

时间:2017-04-14 11:37:44

标签: matlab matlab-figure

我在MatLab中使用imagesc来绘制声场。我现在想要在图像上的某个位置覆盖半透明的填充矩形。理想情况下,我希望能够执行以下操作:

imagesc(g,g,field);
hold on
plotRectangle([100,100,200,200], 'b', 0.5)
hold off

其中b是矩形的颜色0.5是透明度。可以这样做吗?

1 个答案:

答案 0 :(得分:5)

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

rectangle('Position', [100 100 200 200], 'FaceColor', [0 0 1 0.5])

或者,您可以使用patch对象

p = patch('vertices', [100, 100; 100, 200; 200, 200; 200 100], ...
          'faces', [1, 2, 3, 4], ...
          'FaceColor', 'b', ...
          'FaceAlpha', 0.5)