How to plot the difference between two plots (using shade)

7 vues (au cours des 30 derniers jours)
BN
BN le 3 Oct 2021
Commenté : Star Strider le 5 Oct 2021
Hello everyone, I have two plots like this:
plot(OBS,'Color','#007aa5')
hold on
plot(Modeled,'Color','#ff55a3')
xlabel('time step')
Now I want to illustrate the difference between these two plots by shade like the following example:
Where plot 2 is less than plot1, the difference determines by yellow sahde and where plot 2 is greater than plot1difference determine using green shade.
I attached my datasets,
Thank you in advance
  1 commentaire
Ravi Narasimhan
Ravi Narasimhan le 4 Oct 2021
Modifié(e) : Ravi Narasimhan le 4 Oct 2021
You may need to adapt it for your case to get the different colors.

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 4 Oct 2021
LD1 = load('OBS[1].mat');
OBS = rmmissing(LD1.OBS);
LD2 = load('Modeled[1].mat');
Modeled = rmmissing(LD2.Modeled);
x = 1:numel(OBS);
figure
plot(OBS,'Color','#007aa5')
hold on
plot(Modeled,'Color','#ff55a3')
patch([x(:); flip(x(:))], [OBS; flip(Modeled)], 'b', 'FaceAlpha',0.25, 'EdgeColor','none')
xlabel('time step')
xlim([min(x) max(x)])
I am not certain what the ‘y’ axis is supposed to be. If the intent is that in increases from the top to the bottom (instead of the default shown here),. provide the appropriate axis tick values, then add:
set(gca, 'YDir','reverse')
.
  4 commentaires
BN
BN le 4 Oct 2021
I really appreciate you.
Star Strider
Star Strider le 5 Oct 2021
Thank you!
.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Tags

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by