Я пытаюсь сделать что-то похожее на то, что описано в этом сообщении: MATLAB, Filling in the area between two sets of data, lines in one figure но работает в блокпост. Я пытаюсь затенять область графика, представляющую среднее +/- стандартное отклонение. Определения переменных немного сложнее, но она сводится к этому коду, и при построении графика без затенения, я получаю скриншот ниже:MATLAB заполняет область между линиями
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--')
Но когда я пытаюсь реализовать затенение только на нижнем половина графика (между средним и meanMinusSTD) путем добавления кода ниже, я получаю сюжет, который выглядит следующим образом:
fill([x fliplr(x)], [mean fliplr(meanMinusSTD)], 'y', 'LineStyle','--');
Это, очевидно, не затенение правильной области графика, а новые почти горизонтальные линии создаются рядом с 0, которые воюют с затенением.
Любые мысли? Я в тупике.
Привет, я предлагаю вам отправить свое полное решение и принять ответ на принятый ответ. Таким образом, если люди с тем же вопросом сталкиваются с вашим постом, они могут легко найти правильный ответ. –
Хорошо, это говорит, что мне нужно подождать 2 дня, чтобы отметить мой собственный, как принятый ответ, но я выложу полный код в среднее время. – dustynrobots