hot to add time label to a plot of coordinate

Hi I have lat and log with time (mm:ss) I would like to make 2d plot(lat,long) and add a time label to each point (in mm:ss format). Any idea how to get it? thank you

 Accepted Answer

scatter(X,Y);
labstr=datestr(T,'hh:mm:ss');
text(X,Y,labstr,'HorizontalAlignment','right');

More Answers (1)

text() the time label giving the coordinates of the point.
For example, with HH and MM being the vectors of the hours and minutes,
labstr = arrayfun( @(hh, mm) sprintf( '%02d:%02d', hh, mm), HH, MM, 'uniform', 0);
text( lat(:), long(:), labstr, 'HorizontalAlignment', 'right')
That should draw all of the labels at the same time.

3 Comments

Sorry I am new on Matlab...
suppose I have the vector T that contain time(MM:SS) vector (X) the lat and vector Y the long...the code should be:
plot(X,Y)
labstr = arrayfun( @(hh, mm) sprintf( '%02d:%02d6', hh,mm), T,T 'uniform', 0);
text( T, labstr, 'HorizontalAlignment', 'right')
?
The problem with saying that the vector T contains time(MM:SS) is that you did not describe the datatype of T. Is it a cell array of character vectors? Is it a string array (R2016b or later)? Is it a vector of datetime() objects? Is it a vector of datenum? Is it a vector where the integer portion is the number of hours and the decimal part is fraction of hours?
Sorry I will be more precise next time

Sign in to comment.

Tags

Asked:

on 29 Jan 2017

Commented:

on 30 Jan 2017

Community Treasure Hunt

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

Start Hunting!