我正在尝试做类似于这篇文章中概述的内容:
MATLAB, Filling in the area between two sets of data, lines in one figure
但遇到了障碍.我试图遮蔽代表平均值/标准差的图形区域.变量定义有点复杂,但归结为此代码,并且在没有着色的情况下绘制时,我得到如下截图:
x = linspace(0, 100, 101)';
mean = torqueRnormMean(:,1);
meanPlusSTD = torqueRnormMean(:,1) + torqueRnormStd(:,1);
meanMinusSTD = torqueRnormMean(:,1) - torqueRnormStd(:,1);
plot(x, mean, 'k', 'LineWidth', 2)
plot(x, meanPlusSTD, 'k--')
plot(x, meanMinusSTD, 'k--')
但是当我尝试通过添加下面的代码在图的下半部分(在mean和meanMinusSTD之间)实现着色时,我得到一个如下图:
fill( [x fliplr(x)], [mean fliplr(meanMinusSTD)], 'y', 'LineStyle','--');
显然没有遮挡图形的正确区域,并且正在创建接近0的新近水平线,这些线条正在弄乱阴影.
有什么想法吗?我很难过.