Add background color for some values in a plot of two two variables

1 view (last 30 days)
Hi everyone. I have two variables av1 and av2. Each variables have 114 data points. I want to draw it in same figure but at same time and point I also want to calculate p value from ttest between av1 and av2. So if the significance difference is less then 0.05 at that data point it should draw a background colour. I attached the figure.
  1 Comment
Ben
Ben on 23 Sep 2022
Remember to mark the question as answered or post follow-up comments.

Sign in to comment.

Answers (1)

Ben
Ben on 14 Sep 2022
Edited: Ben on 16 Sep 2022
You can plot a bar graph and then set the FaceAlpha to less than 1.
x = [0 1 2 2 3 4 4 6 7 7];
y = [1 2 2 3 4.5 4.5 6 7];
p = [2.15e-12 2.72e-11 2.397e-10 0.0600 5.613e-09 1.803e-08 4.831e-08...
8.945e-08 1.874e-07 2.894e-07];
plot(x,'b')
hold on;
plot(y, 'k')
ax = gca; %Get axis size info
ylimVals = ax.YLim; %Y limits
scaleFact = max(ylimVals);
b1 = bar(scaleFact*(p < 0.05),'b'); %plot blue bar graph
b1.FaceAlpha = 0.5; %Set transparency to 50%
b1.EdgeAlpha = 0; %Maybe you want no outline on the bar
ylim(ylimVals); %Set ylim correctly
uistack(b1, 'bottom') %Move background below other elements
  5 Comments

Sign in to comment.

Categories

Find more on Line Plots 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!

Translated by