MATLAB中垂直线之间的着色

时间:2011-01-15 08:32:35

标签: matlab area

我确信这是一个简单的问题,但我似乎无法弄明白。我有这个情节 alt text

我希望添加垂直线并遮蔽其间的区域以突出显示数据区域。我觉得我应该能够使用区域功能来做到这一点,但似乎无法弄明白。日期和值都是双倍的,并且是两个单独的向量,如果这有所不同。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:12)

关于在图中着色区域的非常基本的示例。 Shading an area boundered by a curve也可能是有趣的。

figure;
ha = area([4 6], [10 10]);
hold on
plot(1:10, 1:10,'r')
axis([1 10 1 10])
hold off

shaded area

答案 1 :(得分:0)

您也可以使用area代替fill,这在使用方面可能更直观一些。

figure;
plot(1:10, 1:10,'r');

% Define the "shading"
% Note how each x_points(i) corresponds to y_points(i)
x_points = [5, 5, 7, 7];  
y_points = [0, 10, 10, 0];
color = [0, 0, 1];

hold on;
a = fill(x_points, y_points, color);
a.FaceAlpha = 0.1;

a matlab figure