Matlab绘制95%置信区间图

在平时绘图中,常会绘制95%置信区间图:

Matlab绘制95%置信区间图_第1张图片

主要使用到patch函数,绘制时需要先对x进行排序,方便绘制区间图,参考代码如下:

x = data(:, 1);
y = data(:, 2);

% 给x进行排序,方便绘制区间图
[X, I] = sort(x);
Y = y(I);
    
x = X;
y = Y;
    
[p, s] = polyfit(x, y, 1);
y1 = polyval(p, x);
[yfit, dy] = polyconf(p, x, s, 'predopt', 'curve');
    
patch([x; flipud(x)], [yfit - dy; flipud(yfit + dy)], [231 231 231] / 255, 'FaceA', 0.95, 'EdgeA', 0);
hold on;
    
s = scatter(x, y, 'r');
s.LineWidth = 1.25;
plot(x, y1, 'Color', [63 63 63] / 255, 'linewidth', 2.5);
hold on;

欢迎大家批评指正!

你可能感兴趣的:(matlab,1024程序员节,matlab,置信区间)