# How to change Y-axis coordinates of meshgrid

17 views (last 30 days)
Med Future on 20 Mar 2022
Answered: Image Analyst on 22 Mar 2022
Hello Everyone, i hope you are doing well. I am creating binary Image in which background is black and forground is white
when i create grid of 1000x1000. The X-axis start from 0 to 1000 but Y axis is upper side 0 to 1000 as you can see in the following image , but i want Y axis to be start from Lower 0 to 1000
How can i do that in MATLAB
imSz = 1000; % assuming images are 1000x1000
imbg = false(imSz); % background "color"
imfg = ~imbg(1,1);
[~,Y] = meshgrid(1:imSz); % make a grid
% black and white image
BW = imbg;
imshow(BW)
axis on;

KSSV on 20 Mar 2022
>> hax = gca;
hax.YTickLabel = flipud(hax.YTickLabel);
Med Future on 20 Mar 2022
@KSSV Still not working. same result as above

yanqi liu on 21 Mar 2022
imSz = 1000; % assuming images are 1000x1000
imbg = false(imSz); % background "color"
imfg = ~imbg(1,1);
[~,Y] = meshgrid(1:imSz); % make a grid
% black and white image
BW = imbg;
imshow(BW)
axis on;
axis xy
##### 2 CommentsShowHide 1 older comment
yanqi liu on 22 Mar 2022
yes，sir，use axis xy to make the coordinate as norma xy axis， not use image axis

Image Analyst on 22 Mar 2022
That's the convention for matrixes and images - the y=1 value is at the top. If you want to reverse it use "axis xy" like
[rows, columns, numberOfColorChannels] = size(grayImage);
subplot(2, 1, 1);
imshow(grayImage);
axis('on', 'xy');
subplot(2, 1, 2);
imshow(flipud(grayImage));
axis('on', 'xy');

### Categories

Find more on Lighting, Transparency, and Shading in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by