How to interpret ButtonDownFcn event data for axis which limit is datetime?
17 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Scott Senften
am 19 Sep. 2017
Kommentiert: Joris Brouwer
am 12 Sep. 2022
This seems like something obvious but I've searched for this all afternoon and can't come up with anything that addresses my issue. I've been struggling with my buttondownfcn callback on an axes which xaxis is defined in datetime.
K>> ax.XAxis
ans =
DatetimeRuler with properties:
Limits: [Aug 21, 2017, 21:00 Aug 21, 2017, 22:45]
TickValues: [Aug 21, 2017, 21:00 Aug 21, 2017, 21:15 Aug 21, 2017, 21:30 Aug 21, 2017, 21:45 Aug 21, 2017, 22:00 Aug 21, 2017, 22:15 Aug 21, 2017, 22:30 Aug 21, 2017, 22:45]
TickLabelFormat: 'HH:mm'
Show all properties
The eventinformation comes in as
K>> eventdata
eventdata =
Hit with properties:
Button: 1
IntersectionPoint: [0.927083313465118 5.139902343750000e+02 -1]
Source: [1×1 Axes]
EventName: 'Hit'
I've read that is the "location of last button click, in axes data units", but the x value doesn't look like a datenum. I thought it might be an offset from the axis limit but
K>> ax.XLim(1)+eventdata.IntersectionPoint(1)
ans =
datetime
Aug 22, 2017, 19:14
is not where I picked. I picked as closed to the 22:15 tick mark (in the attached image) as I could. It's close but there's an origin somewhere that I seem to be missing.
Can anyone shed some light on this?
6 Kommentare
Campion Loong
am 22 Sep. 2017
You're welcome Scott. Hope it does solve your needs at the end.
On a side note, since you have a datetime coming out of num2ruler, you can directly convert it to text using char(...) or, if you have 16b or later, string(...)
Walter Roberson
am 22 Sep. 2017
Campion Loong, I suggest you copy your responses to be an Answer so they can be Accepted.
Akzeptierte Antwort
Campion Loong
am 22 Sep. 2017
2 Kommentare
Joris Brouwer
am 12 Sep. 2022
Thanks! This was not trivial once I zoomed in or panned the figure. Should be in Matlab documentation itself for the ButtonDownFcn. But this works exactly as intended.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graphics Object Programming finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!