how to specity axis using imagesc
169 次查看(过去 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 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!