Hi. I have a question about converting time data
I have time data in double and Thickness data of water mass I calculated.
Attached TDD(TDD(:,1)=Thick, TDD(:,2)=time data )
So I draw plot using them.
I want to convert xlabelstick to months.ex) 01 02 03 04 --- 11 12
Thank you for your help.

 Réponse acceptée

Chunru
Chunru le 22 Juil 2022
Modifié(e) : Chunru le 22 Juil 2022
load("TDD.mat")
%TDD
subplot(121);
plot(datetime(TDD(:,2),'ConvertFrom','datenum'), TDD(:,1), '.');
datetick('x', "mm/dd"); % doc datetick for more options
subplot(122);
plot(datetime(TDD(:,2),'ConvertFrom','datenum', 'Format', 'MM/dd'), TDD(:,1), '.');
%datetick('x', "MM/dd"); % doc datetick for more options

7 commentaires

주희 박
주희 박 le 22 Juil 2022
Thanks, but i got an error .
Did you multiply 1.0e+05 *?
Walter Roberson
Walter Roberson le 22 Juil 2022
You should not use datetick() together with datetime() objects. Instead you should use 'Format' when you construct the datetime() object.
Chunru
Chunru le 22 Juil 2022
@Walter Roberson Updated. See the difference.
Chunru
Chunru le 22 Juil 2022
@주희 박 No multiplication by 1.0e+05.
Walter Roberson
Walter Roberson le 22 Juil 2022
The odd 04/01 has to do with the automatic range selection rounding to "nice" numbers, together with the fact that you asked for month and day number (not for month and year). So the 01/01 is month january (1) day 1 of 2000, and the 04/1 is month april (4) day 1 of 2000.
Chunru
Chunru le 22 Juil 2022
I would like to point out that with "datetick('x', "mm/dd")" we can explicitly choose the data format as month/day. With datetime(TDD(:,2),'ConvertFrom','datenum', 'Format', 'MM/dd'), the format is changed to "Jan" and so on. It seems that datetick('x', "mm/dd") should be the command to change the tick setting. The datetime format command seems failed to do so.
주희 박
주희 박 le 23 Juil 2022
you both so genious. And I can get right answer when I use Matlab2022. (I used 2021 yesterday). Thank you so much. Thanks.

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 22 Juil 2022
load TDD
thick = TDD(:,1);
dt = datetime(TDD(:,2),'ConvertFrom', 'datenum', 'Format', 'MM');
scatter(dt, thick, '.')

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by