Clear Filters
Clear Filters

How to plot waterfall for datetime array

4 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));

Community Treasure Hunt

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

Start Hunting!