2017-04-14 133 views
3

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

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

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

回答

3

您可以使用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) 
+0

谢谢!我忘记了有一个alpha通道:-P – patxiska