Color background between two ylines patch (datetime)

8 vues (au cours des 30 derniers jours)
Lieke Numan
Lieke Numan le 15 Mar 2019
Commenté : Star Strider le 18 Mar 2019
I have a plot with heartrate over time, using a datetime function. In addition I have two ylines (y=60 and y=100). Now I want to color the area (background) between those y-lines, for my whole timeline using datetime. The function patch does not work, as it cannot deal with datetime functions. How can I do this?
  1 commentaire
Geoff Hayes
Geoff Hayes le 15 Mar 2019
Lieke - can you provide a screen shot of what you have and what you want coloured in? I don't understand how the datetime function is an issue since you just want to color the area between those y-lines. Aren't the y-lines just y=60 and y=100?

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 15 Mar 2019
The error is:
Error using patch
Non-numeric data is not supported in 'patch'
So you can’t use it with datetime objects.
If you want a single vertical line, just use plot:
datetime1=datetime('18-Aug-2017 22:56:00');
datetime2=datetime('18-Aug-2017 23:56:00');
figure
plot([datetime1 datetime1],[50 100],'red')
ylim([40 150])
set(gca, 'XTickLabelRotation',45)
Experiment to get the result you want.
  6 commentaires
Lieke Numan
Lieke Numan le 18 Mar 2019
That works perfectly, thanks!
Star Strider
Star Strider le 18 Mar 2019
My pleasure.
If my Answer helped solve your problem, please Accept it!

Connectez-vous pour commenter.

Plus de réponses (1)

Lieke Numan
Lieke Numan le 15 Mar 2019
I want to color the space between y=60 and y=100
datetime1=18-Aug-2017 22:56:00
datetime2=18-Aug-2017 23:56:00
This is what I wanted to do:
patch([datetime1 datetime2 datetime2 datetime1],[50 50 100 100],'red')
It also doesn't work when I use datenum(datetime1) within the patch function.

Catégories

En savoir plus sur Data Distribution Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by