2016-05-25 5 views
1

У меня есть данные для 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'); 

Вопрос заключается в том, что все в порядке до последней строки, с которой я не могу получить затенение между двумя линиями. Может ли кто-нибудь помочь?

+1

Вы можете добавить реальный код для отображения того, что вы пробовали? –

+0

Я согласен с тем, что функция 'fill()' не является явной в своем объяснении, что ей нужны все вершины, образующие многоугольник области, которая должна быть заштрихована между кривыми или строками строго по часовой стрелке или против часовой стрелки. –

ответ

0

У вас его есть почти правый! Просто измените последнюю строку кода в следующем:

h1 = fill([x1 x1 x2 x2], [y2 fliplr(y2)], 'b','EdgeColor','none'); 

fill() функция принимает в качестве входных данных х и у координаты углов (вершин) региона (полигон), чтобы заполнить цвет в либо по часовой стрелке или против часовой стрелки (полигон не обязательно должен быть закрыт (fill может закрыть его для вас)).

Здесь мы прошли в векторных массивах координат x и y четырех вершин многоугольника, ограниченного двумя строками по часовой стрелке, начиная с нижней левой вершины. Примечание: функция fliplr() просто отменяет вектор столбца 1x2, y2 слева направо.

+0

Спасибо, Pacific Стиклер! –

 Смежные вопросы

  • Нет связанных вопросов^_^