I want to scale each pixel width and height in imagesc but not use pcolor command
10 views (last 30 days)
Show older comments
Hello,
I want to scale each pixel width and height in imagesc but not use pcolor command. The reason I don't want to use pcolor is it plots the center of each (x1-x2) and (y1-y2). Is there any adjustments in imagesc that plot an image with different pixel sizes according to x and y values?
Thanks Farz
0 Comments
Accepted Answer
Walter Roberson
on 17 Aug 2016
imagesc() accepts 'XData' and 'YData' parameter, which together allow you to control the data coordinates of the center of the lower-left and upper-right pixels. The axes properties XLim, YLim, DataAspectRatio, Position, and Units then work together to determine the mapping of data coordinates to physical screen coordinates.
For example if you had arranged for a square plotting box area, and you had a square data array, then using imagesc() 'XData' [0 10], 'YData', [0 20] would place the center of the lower left at [0 0] and the center of the upper right at [10 20] which would have the effect of making the Y scale twice as large as the X scale for the image.
5 Comments
Walter Roberson
on 19 Aug 2016
I = rand(32,32); imagesc(I, 'XData', [.5 32.5], 'YData', [.5 65]); axis image
The pixels that come out will not be square.
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!