Clear Filters
Clear Filters

Plot two areas of logarithmic plots

3 views (last 30 days)
Adi Purwandana
Adi Purwandana on 14 May 2024
Commented: Voss on 14 May 2024
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

Accepted Answer

Voss
Voss on 14 May 2024
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 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Object Properties in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!