Filter löschen
Filter löschen

Reverse y Coordinate Obtained Using get(handles.axesImage, 'CurrentPoint')

1 Ansicht (letzte 30 Tage)
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

Akzeptierte Antwort

Jan
Jan am 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.
  1 Kommentar
Jeff
Jeff am 10 Sep. 2011
Thanks Jan, the XLim and YLim properties did the job.
I tried changing YDir to normal and it doesn't help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by