shade area between two yline
42 次查看(过去 30 天)
显示 更早的评论
I want to shade the area between two yline:
p1 = yline(5,'-','color',[177 177 177]./255,'LineWidth',2);hold on
p2 = yline(4,'-','color',[177 177 177]./255,'LineWidth',2);hold on
x = 0:2200;
x2 = [x, fliplr(x)];
inBetween = [p1, fliplr(p2)];
fill(x2, inBetween, 'gray');hold on;
Since x2 and inbetween are not in the same size, my code does not work. How can I change it to gt the shaded area?
Thank you for any help
0 个评论
采纳的回答
Walter Roberson
2022-8-30
You cannot fill between yline() or xline().
yline() and xline() are reference lines that cross the entire axes and logically continue to +/- infinity. If you pan or zoom, yline() and xline() continue to be shown even if there is no data in the new area.
fill(), however, is always implemented as a closed bounded area -- something that can zoom or pan away.
I suggest you
fill(x([1 end end 1 1]), [4 4 5 5 4], 'gray')
3 个评论
Walter Roberson
2022-8-30
编辑:Walter Roberson
2022-8-30
x = sort(rand(1,20));
fill(x([1 end end 1 1]), [4 4 5 5 4], [.8 .8 .8])
更多回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!