shadow in mulitple line plot
9 views (last 30 days)
Show older comments
I want my figure in matlab too look more alike the one I have attached as a picture. Therefore I where wondering if some could show me how I get shadow on the three lines plot. Wil also attached my plot in matlab.

0 Comments
Answers (2)
Les Beckham
on 4 Mar 2022
I would recommend reading the documentation for the fill command: https://www.mathworks.com/help/matlab/ref/fill.html
I think it will allow you to do what you want.
Here is a simple example:
x = 0:11;
y = [0 2 3 5 6 7 7 6 5 3 2 0];
fill([x x(1)], [y y(1)], 'blue', 'FaceAlpha', 0.4)
hold on
fill([x x(1)], 0.6*[y y(1)], 'green', 'FaceAlpha', 0.4)
1 Comment
Voss
on 4 Mar 2022
With this method, if the y values don't start and end at 0 (which is the case in the example image), then the fills don't go all the way down to the x-axis:
x = 0:11;
y = [1 2 3 5 6 7 7 6 5 3 2 1];
fill([x x(1)], [y y(1)], 'blue', 'FaceAlpha', 0.4)
hold on
fill([x x(1)], 0.6*[y y(1)], 'green', 'FaceAlpha', 0.4)
Voss
on 4 Mar 2022
Building on @Les Beckham's answer a little bit (introduce zeros in y to make the patches fill all the way down to the x-axis):
x = 0:11;
y = [1 2 3 5 6 7 7 6 5 3 2 1];
patch(x([1 1:end end]),[0 y 0], 'blue', 'FaceAlpha', 0.4)
hold on
patch(x([1 1:end end]),0.6*[0 y 0], 'green', 'FaceAlpha', 0.4)
1 Comment
Les Beckham
on 4 Mar 2022
@_ Good catch. Thanks.
My example was pretty simplified. Just intended to show what fill can do.
See Also
Categories
Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

