Plotting axis in the correct position
Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Ältere Kommentare anzeigen
Context: I am coding a scanner, and one of the features is to take an ROI scan atop a larger scan. The end result should be the ROI scan pasted on top of the original, in the place of the selected ROI. One thing I noticed is that the position property of the rectangle is relative to the axis, but the position property of the axis is relative to the figure (the axis range could be for example -12 to 12 in the x and -12 to 12 in the y, and [x,y] = ginput(1) gives the correct coordinate. I want an ROI image between 3 and 5 in the x, and 3 and 5 in the y. But using axes('Position', [3 3 2 2] does not give the correct position for the ROI, it's somewhere offscreen.)
3 Kommentare
Adam Danz
am 23 Jun. 2020
I'm not sure what it means, "I am coding a scanner".
When you say "I want an ROI image between 3 and 5 in the x, and 3 and 5 in the y", is that in data coordinates? If so, then you would specify the position of the ROI within the axes. Why would the axes position relative to the figure come into play?
Also, the position of the axes relative to the figure depends on the axes units. If the axes units are normalized and you're setting the axes position to 3 3 2 2 then it's not a surprise that the axes moves off of the figure. But I don't think you want to move the axes, anyway.
Scott Feltman
am 23 Jun. 2020
Adam Danz
am 23 Jun. 2020
Just to clear up some terminology, the data units are mm. The axis units are normalized. The ROI is plotted on the axes; it's a child of the axes. So you cannot place the axes within the ROI but you could place the ROI within the axes.
It sounds like you just need to use xlim() and ylim() and perhaps axis equal or axis tight.
Antworten (0)
Diese Frage ist geschlossen.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
