How to plot waterfall for datetime array

15 views (last 30 days)
Hyeon Jun Kim
Hyeon Jun Kim on 22 Jun 2018
Edited: Chenghao on 12 Mar 2023
I would like to plot waterfall, r, as a function of datetime. The waterfall code is:
waterfall(frequency, datetime, value)
where 'datetime' have format 'HH:mm:ss'
But, Running this code, plotting error message Doesn't waterfall function support "datetime" format?
  2 Comments
KSSV
KSSV on 22 Jun 2018
YOu have to plot with indices first and then use datetick
KAE
KAE on 15 May 2020
Edited: KAE on 15 May 2020
KSSV, can you please show how to do this starting with the code below?
% Make a time vector for x-axis
t1 = datetime(2020,1,1);
t2 = datetime(2020,12,31);
t = t1:t2;
nTime = length(t);
dayOfYear = day(t,'dayofyear');
% Make a y vector for y-axis
y = 1:100;
nY = length(y);
% Get z values at x and y from peaks function
z = peaks(nTime);
z = z(1:nTime, 1:nY,:)'; % Trim so dimensions are correct
f1 = figure;
w = waterfall(1:nTime, y, z);
datetick('x'); % Seems to assume the tick spacings are days
% How to get x-tick labels to correspond to actual date values in vector t?
% Should we plot with dayOfYear instead of 1:nTime

Sign in to comment.

Answers (1)

Chenghao
Chenghao on 9 Mar 2023
Edited: Chenghao on 12 Mar 2023
Please try the follwoing code:
waterfall(frequency, 1:numel(datetime), value)
yticklabels(categorical(datetime));

Categories

Find more on Dates and Time 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!