Plot two areas of logarithmic plots

1 次查看(过去 30 天)
Hello there,
I have two parameters that I want to plot them in one graph with area (transparent/alpha mode) for each of them as follow:
Here is my initial script (line plots):
load('data_x.mat')
figure;
plot(x1,y,'b','Linewidth',1);
hold on;
plot(x2,y,'r','Linewidth',1);
set(gca,'xscale','log','Ydir','reverse')
Warning: Negative data ignored
Does anyone know how to do that? Please find attached my data.
Thank you

采纳的回答

Voss
Voss 2024-5-14
load('data_x.mat')
figure;
plot(x1,y,'b','Linewidth',1);
hold on;
plot(x2,y,'r','Linewidth',1);
set(gca,'xscale','log','Ydir','reverse')
x_lim = xlim();
Warning: Negative data ignored
x_p = x1;
x_p(~isfinite(x1) | x1 <= 0) = x_lim(1);
patch([x_p x_lim([1 1])],[y y([end 1])],'b','EdgeColor','none','FaceAlpha',0.25)
x_p = x2;
x_p(~isfinite(x2) | x2 <= 0) = x_lim(1);
patch([x_p x_lim([1 1])],[y y([end 1])],'r','EdgeColor','none','FaceAlpha',0.25)
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Object Properties 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by