matlab中如何对一条曲线和X轴之间的区域进行颜色的填充,比如一个高斯曲线下对应不同X段范围填充不同的颜

matlab中如何对一条曲线和X轴之间的区域进行颜色的填充,比如一个高斯曲线下对应不同X段范围填充不同的颜

t=0:0.01:2*pi;

y=sin(t);

y2=y+2;

plot(t,y,t,y2,'r');

hold on% 如果t的维数较小,可以加细。

n=length(t);

for i=1:nx1=[t(i),t(i)];

y1=[y(i),y2(i)];

plot(x1,y1,'k');

end


这个没有一次性的办法,只能用area分段拼凑出来了:
close all
x = 0:0.1:pi;
y = sin(x);
area(x,y,'FaceColor','r');
hold on
x = pi:0.1:2*pi;
y = sin(x);
area(x,y,'FaceColor','g');
x = 2*pi:0.1:3*pi;
y = sin(x);
area(x,y,'FaceColor','b');
axis([0,3*pi,-1,1])

注意最后x轴坐标一定要设置,否则图像显示不完全。
颜色的设置可以自己任意差团,将‘b’,‘r’等换成[a b c]格式贺坦的RGB色就可以。

如果你有一条虚拍橘高斯曲线的x,y数据,就把它分成上图中的三段,用三次area命令就好了。
← 上一篇: 下一篇: →