ploting a 2D matrix and adjusting axes
古いコメントを表示
Hello, I have the following code:
M = zeros(50)
for x = [20,30]
M(x,:) = 1
end
for y = [13,25,37]
for x = [1:20, 30:50]
M(x,y) = 1
end
end
imagesc(M)
when i get the plot, i see the y-axis is in reverse order i-e starting from 50 at the bottom. In my overall simulation this affects my results. You can see the attached picture .Figure 1 is what i want and figure 2 is what this code gives me. I need to know how can i get.
採用された回答
その他の回答 (1 件)
hAx=gca; % handle to the axes
hAx.YDir='normal'; % set Y axis direction--imagesc uses 'reverse' Y
See link to Axes Properties at
doc axes
or the higher level info under Graphics/Formatting and Annotation/Axes Appearance
ADDENDUM
xlim([0 50]), ylim([0 50])
to get the 0 origin to show, maybe??? Your array is 1,50 each direction which are the coordinates imagesc uses; by default it pads a fraction on either direction.
Without more explanation of just what it is you're really after, we're just guessing what the actual problem you perceive is...
8 件のコメント
Sohaib Bin Altaf
2018 年 7 月 8 日
Sohaib Bin Altaf
2018 年 7 月 8 日
dpb
2018 年 7 月 8 日
I forgot; imagesc uses YDir='reverse' by default; it's
hAx.YDir='normal';
or, as you discovered, that's what axis xy will do as well.
I fail to see how either of these two don't leave you with precisely the axis orientation desired; what do you need that isn't ok.
Sohaib Bin Altaf
2018 年 7 月 9 日
Sohaib Bin Altaf
2018 年 7 月 9 日
編集済み: dpb
2018 年 7 月 9 日
Sohaib Bin Altaf
2018 年 7 月 9 日
That's the documented behavior of imagesc -- from the doc:
"imagesc(C) displays the data in array C as an image ... Each element of C specifies the color for 1 pixel of the image. The resulting image is an m-by-n grid of pixels where m is the number of columns and n is the number of rows in C. The row and column indices of the elements determine the centers of the corresponding pixels."
To use imagesc in Cartesian coordinates with the origin at lower left you need to transpose the C array as well as set the Y-axis 'YDir' property to 'normal'.
I don't know the basis for this convention, specifically.
Sohaib Bin Altaf
2018 年 7 月 10 日
カテゴリ
ヘルプ センター および File Exchange で Graphics Object Properties についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!