GCA CurrentPoint with the DateTime Ticks on the X Axis
Mostra commenti meno recenti
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
Risposta accettata
Più risposte (1)
Sebastian Hölz
il 28 Feb 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 Commento
abhay kaul
il 19 Apr 2018
Categorie
Scopri di più su Axes Appearance in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!