how to specity axis using imagesc

30 visualizzazioni (ultimi 30 giorni)
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 ?

Risposta accettata

Honglei Chen
Honglei Chen il 27 Ott 2017
You can just do
imagesc(linspace(0,1,40),linspace(0,1,200),A)
HTH
  1 Commento
Real User
Real User il 19 Gen 2024
Modificato: Real User il 23 Gen 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Mathematics in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by