How can I plot datetime as x-axis in pcolor ?
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jeevan Kumar Bodaballa
le 14 Oct 2019
Commenté : Adam Danz
le 15 Oct 2019
Hello Seniors,
I have time(datetime - 6047X1) need to be in x-axis, height(numeric value - 27X1) as y axis, C(27X6047) numeric values.
I am having error(Error using pcolor (line 65) Data inputs must be real.) while I want plot by using pcolor.
4 commentaires
Shubham Gupta
le 14 Oct 2019
One of the way can be:
dt = [datetime('yesterday'),datetime('today'),datetime('tomorrow')];
y = 1:3;
C = [3 4 5; 1 2 5; 5 5 5];
pcolor(datenum(dt),1:3,C)
a = gca;
a.XTick = datenum(dt);
a.XTickLabel = datestr(datenum(dt));
I am not sure if that's what you want but let me know if you have doubts.
Réponse acceptée
Adam Danz
le 14 Oct 2019
Modifié(e) : Adam Danz
le 14 Oct 2019
There must be imaginary data in your inputs. Here's a demo with valid datetime inputs.
dt = [datetime('yesterday'),datetime('today'),datetime('tomorrow')];
y = 1:3;
C = [3 4 5; 1 2 5; 5 5 5];
pcolor(dt,1:3,C)
To determine if imaginary data exist anywhere within a numeric array, use isreal() which will either return a TRUE or FALSE indicating whether all of the data in your array are real numbers. If it returns a false, you can use imag() to find the element that is not real.
Note that pcolor() did not accecpt datetime values prior to r2019b.
In current documentation you can see that datetime is listed as an accepted data type. In r2019a documentation, pcolor does not list datetime as an accepted input. Using datetime as an input to pcolor() in r2019a or earlier will result in the error, "Data inputs must be real."
5 commentaires
Adam Danz
le 15 Oct 2019
Logical indexing would be best. Suppose your date vector is named dt,
idx = dt>=DATE1 & dt <=DATE2;
Then you could set those values to NaN,
x(idx) = NaN;
y(idx) = NaN;
pcolor(x,y,C)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Dates and Time 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!