Set xaxis of imagesc with scaled values
72 次查看(过去 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!