MATLAB中如何在垂直线之间进行着色

9
我相信这是一个简单的问题,但我似乎无法解决它。我有这个绘图alt text并且我想添加垂直线和阴影区域以突出数据的特定区域。我感觉应该能够使用area函数来完成,但却无法解决它。日期和值都是双精度浮点数,并且是两个不同的向量,如果这有任何区别的话。非常感谢任何帮助。
2个回答

13

关于在图形中着色区域的非常基础的示例。可能也会对边界由曲线形成的区域着色感兴趣。

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

阴影区域


非常感谢。关于area的文档太令人困惑了。 - jefflovejapan

2

除了使用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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接