Reverse y Coordinate Obtained Using get(handles.axesImage, 'CurrentPoint')
1 view (last 30 days)
Show older comments
Hi everyone,
I have code that obtains the [x,y] coordinates of a mouse click from an axes plot (get(handles.axesImage, 'CurrentPoint')). The problem is, the origin for the get coordinates is the top left corner of the axes plot, but I want the origin to be the bottom left corner. I've tried setting the YDir property to reverse, but this doesn't work. Alternatively, how do I get the length of the axes in units of coordinates? I could reverse the y coordinate in brute force fashion if I knew how to do this. Why on earth would the origin be set to the top left to begin with? I understand that it's conducive to plotting matrices, but from a graphical standpoint it's more intuitive thinking that the bottom left is the origin.
Jeff
0 Comments
Accepted Answer
Jan
on 9 Sep 2011
It is the other way around in MATLAB: Plotting matrices start in the bottom left corner, while images get the reverse order and start in the top left corner. Therefore you need to set the YDir to 'normal', not to 'reverse'.
You can get the length of the axes by reading the XLim and YLim properties.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!