How do I define the y axis of imagesc as integers and not fractions?

6 views (last 30 days)
I have 2x1e7 data but imagesc makes the y axis range from 0.5 to 2.5. How can I make it 0 to 2? And what is the reason the default is 0.5 to 2.5 when there are 2 data?
  2 Comments
Simon Chan
Simon Chan on 11 Mar 2022
imagesc(C) displays the data in array C as an image that uses the full range of colors in the colormap. Each element of C specifies the color for one pixel of the image. The resulting image is an m-by-n grid of pixels where m is the number of rows and n is the number of columns in C. The row and column indices of the elements determine the centers of the corresponding pixels.
The center of the pixels in your case are 1.0 and 2.0 and the width of each pixel is 1 pixel (0.5 pixels on each side). So it starts from 0.5 to 1.5 for the first pixel and 1.5 to 2.5 for the second one.

Sign in to comment.

Accepted Answer

DGM
DGM on 11 Mar 2022
What Simon says is correct. If you only want the center ticks, you can specify them explicitly:
A = rand(2,6);
imagesc(A);
yticks([1 2])

More Answers (0)

Categories

Find more on Images in Help Center and File Exchange

Tags

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!