matlab绘制带阴影的曲线
%% 使用matlab绘制带阴影区域的曲线;
figure;
n = 50;
x = linspace(40,70,n);
y = .7*x + normrnd(0,5,size(x));
plot(x,y,'bx');
hold on;
[p,s] = polyfit(x,y,1); %多项式曲线拟合
[yfit,dy] = polyconf(p,x,s,'predopt','curve'); % 多项式的置信区间
fill([x, fliplr(x)], [yfit-dy, fliplr(yfit+dy)],[0.8706 0.9216 0.9804]);
% fill([x fliplr(x)], [yu fliplr(yl)], [.9805 .7031 .6797], 'linestyle', 'none', 'FaceAlpha',0.5);
% x从左到右,fliplr从右到左。
% yfit-dy,代表的是下边界;yfit+dy代表的是上边界;上边界的顺序也得修改成从右向左;
% [0.8706 0.9216 0.9804] RGB数组;
line(x,yfit,'color','r');
line(x,yfit-dy,'color','r','linestyle',':');
line(x,yfit+dy,'color','r','linestyle',':');
理解:↓
matlab绘制带阴影的曲线
本质上,把阴影当作是一个由多段线连接而成的封闭区域,然后就该区域进行填充颜色而已
fill语句中,[x fliplr(x)]表示围成一圈的边框的x坐标,yu 表示阴影的上边界,yl表示下边界。
[.9805 .7031 .6797] 表示阴影填充的RGB
linestyle 表示边界线形
FaceAlpha 表示透明度
本质上2:就是确定了一个四边形,然后在四边形里边,进行填充:
% x从左到右,fliplr从右到左。
% yfit-dy,代表的是下边界;yfit+dy代表的是上边界;上边界的顺序也得修改成从右向左;
% [0.8706 0.9216 0.9804] RGB数组;
方案1:
fill([x fliplr(x)], [yu fliplr(yl)], [.9805 .7031 .6797], 'linestyle', 'none', 'FaceAlpha',0.5); hold on
方案2:
fill([x,fliplr(x)],[yfit-dy,fliplr(yfit+dy)],[0.8706 0.9216 0.9804]);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?