how to specity axis using imagesc
18 次查看(过去 30 天)
显示 更早的评论
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 ?
0 个评论
采纳的回答
Honglei Chen
2017-10-27
You can just do
imagesc(linspace(0,1,40),linspace(0,1,200),A)
HTH
1 个评论
Real User
2024-1-19
编辑:Real User
2024-1-23
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.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!