【发布时间】:2013-11-23 12:40:16
【问题描述】:
我正在尝试做一些类似于这篇文章中概述的事情: 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--')
但是,当我尝试通过添加下面的代码在图表的下半部分(在均值和均值减标准之间)实现阴影时,我得到的图如下所示:
fill( [x fliplr(x)], [mean fliplr(meanMinusSTD)], 'y', 'LineStyle','--');
显然没有对图形的正确区域进行着色,并且正在创建接近 0 的新近水平线,这些线与阴影混淆。
有什么想法吗?我被难住了。
【问题讨论】: