shadow in mulitple line plot

9 ビュー (過去 30 日間)
Leander Eikås
Leander Eikås 2022 年 3 月 4 日
コメント済み: Les Beckham 2022 年 3 月 4 日
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.

回答 (2 件)

Les Beckham
Les Beckham 2022 年 3 月 4 日
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 件のコメント
Voss
Voss 2022 年 3 月 4 日
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
Voss 2022 年 3 月 4 日
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 件のコメント
Les Beckham
Les Beckham 2022 年 3 月 4 日
@_ Good catch. Thanks.
My example was pretty simplified. Just intended to show what fill can do.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCreating, Deleting, and Querying Graphics Objects についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by