Set xaxis of imagesc with scaled values
조회 수: 71 (최근 30일)
이전 댓글 표시
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
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
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
figure
I = imresize(C,[20,20]);
imagesc(I)
axis equal
axis tight
댓글 수: 6
Adam Danz
2022년 5월 4일
Glad it worked out. I'll add the imresize suggestion to the main answer for better visibility.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Graphics Object Programming에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!