Filter löschen
Filter löschen

Adding date and time on x axes in a plot

9 Ansichten (letzte 30 Tage)
sc
sc am 7 Apr. 2021
Beantwortet: Star Strider am 7 Apr. 2021
Good morning,
is it possible to create a plot on Matlab, inserting on the x-axis both the date and time coming from two different columns of a table, and on the y-axis another variable?
Thank you!

Antworten (1)

Star Strider
Star Strider am 7 Apr. 2021
There are (at least) two options, depending on what the dates and time are, specifically with respect to the type of arrays they are.
Using datetime arrays:
dates = repmat(datetime([2021 04 08]),12,1);
times = datetime('00:00:00','Format','HH:mm:ss')+hours(0:11).';
datestimes = dates + timeofday(times);
figure
plot(datestimes, sin(0:numel(datestimes)-1)*2*pi/numel(datestimes))
grid
Or, using essentially the same data (for comparison) using datenum arrays:
dndates = datenum(dates);
dntimes = datenum(times);
dndatestimes = fix(dndates) + rem(dntimes,1);
figure
plot(dndatestimes, sin(0:numel(datestimes)-1)*2*pi/numel(datestimes))
grid
set(gca, 'XTick',dndatestimes)
datetick('x', 'yyyy/mm/dd HH:MM:SS', 'keepticks')
Extracting the original datetime variables from a table array is straightforward, so I left that part out.

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by