在Matlab中绘制曲线下面的着色图

时间:2015-07-28 20:59:58

标签: matlab plot

我想在同一图中绘制各种曲线,并为相应曲线和给定基值之间的区域着色。

以下是我希望工作的代码的玩具示例,但由于某种原因,函数area无法正常工作:

x = 0:1/30:30;
y = sin(x);

figure
hold on
for i = 1:3:10
    area(x,y+i,i)
end

我期望和需要的是这样的: enter image description here

然而,Matlab正在绘制的是: enter image description here

是否为时已晚,我应该去睡觉或者这里有什么问题?

1 个答案:

答案 0 :(得分:2)

只需使用fillpatch代替area

x = linspace(0,10*pi)
y = sin(x);

figure
hold on
for i = 1:3:10
    patch(x,y+i,i);
end

enter image description here

请注意,我更改了x限制,因此y将以与开始时相同的值结束,以获得交叉的垂直线。对于更通用的治疗外观here