filling between two curve by patch
28 次查看(过去 30 天)
显示 更早的评论
Hi every one,
I'm trying to use the patch function to fill the gap between two curves with differing X values. However, it seems the function connects first and last values (please see attached image) . also, it doesn't change the color of each curve (to green and black indicated in the code ) when using patch function. could you please to help me with solving this ? (I'm using Matlab 2020b)
Thanks in advance
figure; hold on;
plot(X1,Y, 'g');
plot(X2,Y, 'K');
patch([X1; X2], [Y ;Y], 'B');
axis ij
hold off
0 个评论
采纳的回答
Voss
2021-12-11
Change your patch command to this:
patch([X1; X2(end:-1:1)], [Y ;Y(end:-1:1)], 'B', 'EdgeColor', 'none');
Reversing the X2 and second Y makes the second half of the patch vertices start at the end and go up for the second curve, rather than starting at the top and going down. Setting the EdgeColor to 'none' will not draw black edges for the patch, allowing the curves beneath the patch to be seen.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Polygons 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!