Shade between time series lines (log-y scale)

조회 수: 11 (최근 30일)
Ryan Utz
Ryan Utz 2012년 1월 19일
댓글: Walter Roberson 2018년 11월 4일
Hello,
I'm attempting to plot between two lines on a graph that's set to a log-y scale. I've tried almost every iteration of the "fill" command that seems to appear from various sources online, which usually gives me somewhat psychedelic (but useless) results.
Suppose that:
x = 0:100
y1 = rand(1,100)+1.5
y2 = rand(1,100)+0.5
How can I fill just between the y1 and y2 lines??? I want nothing but empty space below the y2 line. Also, this is on a log-y scale, which is why I can't just tweak the "area" commands (like I did for a similar project that was not on a log-y scale.
Please help!!!
Thanks, Ryan

채택된 답변

Walter Roberson
Walter Roberson 2012년 1월 19일
Your x starts from 0 (and is one point longer than y1 or y2.) If you set the axis XScale to log, then you are attempting to take log(0), which leads to problems in drawing the patch.
Without the 0 I had no problem.
x = 1:100;
y1 = rand(1,100)+1.5;
y2 = rand(1,100)+0.5;
fill([x fliplr(x)],[y1 fliplr(y2)],'r')
pause(3)
set(gca,'XScale','log','YScale','log')
drawnow()
  댓글 수: 4
Mireia Fontanet
Mireia Fontanet 2018년 11월 4일
I have this result, why?
Walter Roberson
Walter Roberson 2018년 11월 4일
You did not use my revised code that has the x.' and so on.
To give it again in full:
A = xlsread('TAW_NZ');
x = A(1:100,1);
min1 = A(1:100,6);
max1 = A(1:100,7);
figure
plot(x, min1, x, max1);
fill([x.',fliplr(x.')], [min1.',fliplr(max1.')], 'r')

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

추가 답변 (3개)

Venn Ravichandran
Venn Ravichandran 2012년 1월 19일
Using stem plot might be a quick work around. I don't know why the area plots don't work.

the cyclist
the cyclist 2012년 1월 19일
Will this suffice?
x = 1:100;
y1 = rand(1,100)+1.5;
y2 = rand(1,100)+0.5;
figure
plot(x,y1,x,y2)
fill([x,fliplr(x)],[y1,fliplr(y2)],'r')
set(gca,'YScale','log')
[Edited to include the additional fliplr, in response to Walter's comment.]
  댓글 수: 1
Walter Roberson
Walter Roberson 2012년 1월 19일
I think you have to flip y2 as well.
Amusing that we choose the same color and same basic technique :)

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


Ryan Utz
Ryan Utz 2012년 1월 19일
Thanks Walter and the cyclist! This does work on my more complex data. The command "fliplr" is new to me, and useful...

카테고리

Help CenterFile Exchange에서 Polygons에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by