shading plots between one standard deviation

I am trying to shade the region between two standard deviation. So i write code like the below :
plot(datenum(monthly_mean.mytime),monthly_mean.PM_2_5+15.6538,datenum(monthly_mean.mytime),monthly_mean.PM_2_5-15.6538)
datetick('x', 'mmm','keeplimits')
xlim([737791 737943])
date_std = [datenum(monthly_mean.mytime),fliplr(datenum(monthly_mean.mytime))];
inbetween = [monthly_mean.PM_2_5-15.6538,fliplr(monthly_mean.PM_2_5+15.6538)];
fill(date_std,inbetween,'g')
hold on
plot(datenum(monthly_mean.mytime),monthly_mean.PM_2_5)
datetick('x', 'mmm','keeplimits')
xlim([737791 737943])
I have used also function 'patch' for doing that part. I have uploaded the figure, so i want to shade the region between the top and bottom curve, but somehow a straightline appears and fill those parts(in the figure). How to overcome this problem? I have taken those parts also from mathworks. Please guide me. Thank you

댓글 수: 2

VBBV
VBBV 2020년 12월 14일
Can you attach the data or coorindates if plot shown in fig ?
I have submitted data. please guide me. Thank you.

댓글을 달려면 로그인하십시오.

답변 (2개)

KSSV
KSSV 2020년 12월 15일

0 개 추천

If (x1,y1) and (x1,y2) are tow data, with x1 increasing montonically. I assume they are column arrays. I assumed both of them are of same size (offcourse they x1 common). To fill color beteen these two curves. Follow:
x = [x1 ; flipud(x1)] ;
y = [y1 ; flipud(y2)] ;
patch(x,y,'r')
You need to arrange the data such that, the data form a closed region.

질문:

2020년 12월 14일

답변:

2020년 12월 17일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by