我在下面的链接中关注了这个问题的最多投票答案,但我没有得到任何结果。 MATLAB, Filling in the area between two sets of data, lines in one figure
我想填充一条水平线y = 6和另一条水平线y = 9
之间的区域x=ones(1,110) %#initialize x array
y1=6*(x); %#create first curve
y2=9*(x); %#create second curve
X=[x,fliplr(x)]; %#create continuous x value array for
Y=[y1,fliplr(y2)]; %#create y values for out and
fill(X,Y,'b'); %#plot filled area
简单地说它不起作用!知道为什么不呢?
答案 0 :(得分:3)
你快到了。
X应该包含x点(1:110)而不是ones(110)
的索引。
X=[1:110,fliplr(1:110)];
给出
答案 1 :(得分:2)
您的代码可以简化:
area([1 110],[9 9],6) % plot a line between (x1,y1) and (x2,y2), then fill down to a baseline (6)
ylim([0 10]) % scale y axis to fit
对于直线,你只需要两个点,而不是110点。