Color the area between two plots
121 次查看(过去 30 天)
显示 更早的评论
I'm trying to color the area between two plots with the "fill" function. I was actually able to do it, but for some reasons the area is just filled with some vertical black lines instead of being colored as it should. How can I fix this?
4 个评论
dpb
2023-9-11
Looks like your areas are between points sequentially between the two curves, not along the horizontal axes...
We need the full code to regenerate the figure in order to tell...pictures and incomplete code with undefined variables aren't enough to go on without a lot of extra work..."Help us help you!"
回答(1 个)
Nathan Hardenberg
2023-9-11
One way to achive this is like this:
x1 = 1:0.05:2; % graph 1
y1 = exp(x1) + 1;
x2 = 1:0.05:2; % graph 2
y2 = exp(x2);
figure(1); hold on
fill([x1, flip(x2)], [y1, flip(y2)],'y') % plot filled area
plot(x1,y1,x1,y2, "LineWidth",3) % plot both graphs
Note that the second graph is flipped while plotting the area to continue the polygon in the other direction. For more Info please check the fill() function documentation.
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!