我不明白为什么补丁命令用红色填充我功能上方的区域而不是下面的区域;我的意思是我的功能图和横坐标轴之间的区域。
x = linspace(0, 4);
f = x.^2;
plot(x, f)
patch(x, f, [1 0 0])
答案 0 :(得分:3)
因为patch
绘制了一个闭合的多边形。在你的最后一点之后,它会以最短的方式回到第一点。您需要在结尾添加一个额外的点,并从最后/第一个参数开始,但f = 0
。
就像那样:
x = linspace(0, 4);
f = x.^2;
plot(x, f)
%adjust data
x = [x(1) x x(end)];
f = [0 f 0];
patch(x, f, [1 0 0])
会给:
或者按照路易斯·门多的建议使用area
:
area(x, f,'FaceColor',[1 0 0])