MATLAB: How to change imshow position to another monitor

figureimageimshowplot

Hi, I am working with to monitors I used the set(0,'defaultFigurePosition',[desired position]) to change the position of the figures. This does work when I do a plot or an image after, but not for the imshow function. What can I do?

Best Answer

imshow() will test to see if the current axes is in the default position that an axes would be placed in if it were the only axes in the figure. If the current axes position is something different, it will delete all of the axes in the figure and create an new axes to draw into, which should get you into a position according to the current figure position. However it would not astonish me at all if the position calculations it used were wrong for the case of figures on alternate monitors.
So... Don't use imshow() for anything other than quick-and-dirty displays. If you care about details of your image size and position, then use image() or imagesc() instead.
Related Question