How to plot waterfall for datetime array
Show older comments
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
on 22 Jun 2018
YOu have to plot with indices first and then use datetick
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
Answers (1)
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!