Set xaxis of imagesc with scaled values

조회 수: 71 (최근 30일)
Ahmet Hakan UYANIK
Ahmet Hakan UYANIK 2022년 5월 4일
편집: Adam Danz 2022년 5월 4일
Hi everybody,
I have a matrix(20x400) and I am plotting it with imagesc where y axis having 20 values and xaxis having 400 values.
However, I would like to know how can I scale this xaxis 400 to intervals like between 0:20 = 1, 20:40 = 2 until 380:400 = 20; and setting x axis of imagesc in 0-20 scale with the values of 0-20.
I hope it is clear what I am intended to do.
  댓글 수: 1
DGM
DGM 2022년 5월 4일
Are you just wanting to set the spacing for the ticks, or are you actually wanting a nonuniform spatial scaling?

댓글을 달려면 로그인하십시오.

채택된 답변

Adam Danz
Adam Danz 2022년 5월 4일
편집: Adam Danz 2022년 5월 4일
Specify x and y values using imagesc(x,y,C)
I think this is what you're looking for
C = rand(20,400); % Replace this with your matrix
x = linspace(1,height(C),width(C));
y = 1:height(C);
imagesc(x,y,C)
axis equal % optional
axis tight % optional
Alternatively, use imresize
figure
I = imresize(C,[20,20]);
imagesc(I)
axis equal
axis tight
  댓글 수: 6
Ahmet Hakan UYANIK
Ahmet Hakan UYANIK 2022년 5월 4일
Excellent, thanks!
Adam Danz
Adam Danz 2022년 5월 4일
Glad it worked out. I'll add the imresize suggestion to the main answer for better visibility.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Graphics Object Programming에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by