2015-04-01 4 views
2

У меня есть данные, где X (время), Y1 (медианные значения), Y2 (25-й процентиль) и Y3 (75-й процентиль). Теперь я хочу построить все это в одном и том же сюжете и затенять область между срединной кривой и верхней квартильной кривой и снова затенять область между срединной кривой и нижней квартильной кривой. Есть ли простой способ сделать это?график между двумя изогнутыми линиями

Я попробовал вариант xx = [X, X]; yy = [Y1, Y2]; fill (xx, yy, 'b');

.. Но я не доволен приведенным выше кодом, так как он не дает мне сюжет, который я ищу. Пожалуйста, помогите мне. !! Большое спасибо SSR

+0

FEX всегда хорошее место, чтобы начать поиск [такие вещи, как это] (http://www.mathworks.com/matlabcentral/fileexchange/?term=tag%3A%22confidence + интервал% 22). – knedlsepp

ответ

2

Это то, что вы хотите?

x = 0:.01:1; 
y1 = 5+sin(2*pi*x); 
y2 = y1-1; 
y3 = y1+1; %// example values 
fill([x x(end:-1:1)],[y3 y1(end:-1:1)],[.6 .6 .6]) %// light grey 
hold on 
fill([x x(end:-1:1)],[y2 y1(end:-1:1)],[.4 .4 .4]) %// dark grey 

enter image description here

+0

да, это вид сюжета, который я ищу, но, к сожалению, когда я использую тот же код, что и выше, для построения для моих данных, тогда я не получаю ожидаемых результатов. То, что я получаю, - это область под срединной кривой, полностью затененная, а область под кривой верхнего квартиля затенена. Я хочу затенение только между двумя изогнутыми линиями. – user3876557

+1

Опубликуйте миниатюрный пример, чтобы воспроизвести вашу проблему. Без этого трудно понять, что не так –

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