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?

回答(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 个评论

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.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Spline Postprocessing 的更多信息

产品

版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by