Set xaxis of imagesc with scaled values

19 vues (au cours des 30 derniers jours)
Ahmet Hakan UYANIK
Ahmet Hakan UYANIK le 4 Mai 2022
Modifié(e) : Adam Danz le 4 Mai 2022
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 commentaire
DGM
DGM le 4 Mai 2022
Are you just wanting to set the spacing for the ticks, or are you actually wanting a nonuniform spatial scaling?

Connectez-vous pour commenter.

Réponse acceptée

Adam Danz
Adam Danz le 4 Mai 2022
Modifié(e) : Adam Danz le 4 Mai 2022
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 commentaires
Ahmet Hakan UYANIK
Ahmet Hakan UYANIK le 4 Mai 2022
Excellent, thanks!
Adam Danz
Adam Danz le 4 Mai 2022
Glad it worked out. I'll add the imresize suggestion to the main answer for better visibility.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by