Effacer les filtres
Effacer les filtres

how to specity axis using imagesc

143 vues (au cours des 30 derniers jours)
Sudharsan Srinivasan
Sudharsan Srinivasan le 27 Oct 2017
Modifié(e) : Real User le 23 Jan 2024
Hi. I have a matrix A of size 200*40. I have to generate image for every 200 time steps for which i am using imagesc(A). By default matlab takes the x and y axis as the size of the matrix. But I want to force both the axis between 0 and 1. Any suggestions ?

Réponse acceptée

Honglei Chen
Honglei Chen le 27 Oct 2017
You can just do
imagesc(linspace(0,1,40),linspace(0,1,200),A)
HTH
  1 commentaire
Real User
Real User le 19 Jan 2024
Modifié(e) : Real User le 23 Jan 2024
Thank you. Indeed: imagesc plots the matrix "in the matrix order".
That is, y-axis top-to-bottom = rows of A from 1 to 200, and x-axis left-to-right = columns of A from 1 to 40.
In particular, A(1) = top left, A(200) = bottom left, etc. Axis values have first x, then y (i.e., first "column values", then "row values"). Therefore, indeed, linspace(0,1,40) must be first, although it is a 200x40 matrix.
imagesc(xAxisValues,yAxisValues,reshape(B,nY,nX))
when B is to have nY rows (y-axis top-to-bottom in imagesc) and nX columns (x-axis). Otherwise, it is hard to remember that we have xAxisValues before yAxisValues but nY before nX.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graphics Object Properties dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by