MATLAB Answers

Changing pixel figure coordinates when using imshow

10 views (last 30 days)
James Usevitch
James Usevitch on 31 Jul 2020
Commented: James Usevitch on 2 Aug 2020
When I use imshow to plot the pixels represented by a matrix, each pixel is centered in the figure at its matrix coordinates (e.g. the pixel on row 1, column 1 is centered at figure coordinates (1,1)).
Is it possible to change this so that a specific corner of each pixel is positioned at its matrix coordinates? For example, can the pixel on row 1, column 1 be plotted with its lower right corner at figure coordinates (1,1), and so on for all the remaining pixels?

Answers (1)

Image Analyst
Image Analyst on 31 Jul 2020
After you call it, try this:
axis xy
  • xy — Default direction. For axes in a 2-D view, the y-axis is vertical with values increasing from bottom to top.
  • ij — Reverse direction. For axes in a 2-D view, the y-axis is vertical with values increasing from top to bottom.
  1 Comment
James Usevitch
James Usevitch on 2 Aug 2020
Thanks for this tip! This is much more compact than using set(gca,'Ydir','reverse').
I actually discovered that using the command image(x,y,C) answers my question--it lets you control the figure coordinates of the plotted image pixels. Sorry if the original question wasn't clear.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by