GCA CurrentPoint with the DateTime Ticks on the X Axis
Afficher commentaires plus anciens
I am making a plot where the data is plotted vs Time (HH:MM:SS, for example). I want to be able to click on the plot and display the value of Y. I don't want to use the Data Cursor. I have in the past used the CurrentPoint property of the axes.
This usually returns the actual X and Y values from a mouse click but with the datetime ticks it does not return the actual X. I have tried searching the documentation but I am failing to find what it is outputting. I would like current point to output the value of X in datetime format.
Any ideas?
Thanks
Abhay
Réponse acceptée
Plus de réponses (1)
Sebastian Hölz
le 28 Fév 2018
Hi,
all data is plotted with respect to a reference date, which is stored as property of the axis.
To get the true datetime value, you will need to add this reference-value, e.g.:
figure
ax(1) = subplot(121);
DT = datetime(2001:2010, 1:10,1);
plot(DT, rand(length(DT),1)); grid on
ax(2) = subplot(122); grid on
DT = datetime(2018,2,3,4,5,12:.2:15);
plot(DT, rand(length(DT),1)); grid on
set(ax(1), 'ButtonDownFcn',@(hax,e)disp(hax.XAxis.ReferenceDate + hax.CurrentPoint(1)))
set(ax(2), 'ButtonDownFcn',@(hax,e)disp(second(hax.XAxis.ReferenceDate + hax.CurrentPoint(1))))
Cheers
Sebastian
1 commentaire
abhay kaul
le 19 Avr 2018
Catégories
En savoir plus sur Axes Appearance dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!