Changing pixel figure coordinates when using imshow

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)

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

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.

Categories

Products

Release

R2020a

Asked:

on 31 Jul 2020

Commented:

on 2 Aug 2020

Community Treasure Hunt

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

Start Hunting!