У меня есть данные для 12 временных точек y1=[.61 .52 .45 .75 .76 .79 .82 .6 .66 .54 .43 .21];
Я хотел бы построить это как линейный график и провести две вертикальные линии в моменты времени 7 и 8 и закрасить область между этими двумя линиями. Эта заштрихованная область должна быть прозрачной, чтобы показать линию. Я также хотел бы иметь легенду, чтобы показать, что заштрихованная область = критический период или имеет «критический период», написанный внутри области под линией. Из этого answer, я пытался:Область тени между двумя вертикальными линиями
y1=[.61 .52 .45 .75 .76 .79 .82 .6 .66 .54 .43 .21];
N=size(y1,2);
sky_blue = [0, 0, 1] ;
x=1:N;
plot([1:N]', y1, 'linewidth', 2.8, 'linestyle', '-', 'color', sky_blue);
hold on
x1=7;
x2=8;
y2=get(gca,'ylim');
plot([x1 x1],y2)
plot([x2 x2],y2)
h1 = fill(x1,x2,'b','EdgeColor','none');
Вопрос заключается в том, что все в порядке до последней строки, с которой я не могу получить затенение между двумя линиями. Может ли кто-нибудь помочь?
Вы можете добавить реальный код для отображения того, что вы пробовали? –
Я согласен с тем, что функция 'fill()' не является явной в своем объяснении, что ей нужны все вершины, образующие многоугольник области, которая должна быть заштрихована между кривыми или строками строго по часовой стрелке или против часовой стрелки. –