Why does the size of the map change when I change the FLatLimit property of the map axes in Mapping Toolbox 2.7.2 (R2009a)? I am plotting a map in azimuthal projection and I am changing the FLatLimit from [-Inf 30](minimum latitude of 60) to [-Inf 40](minimum latitude of 50N ). I have noticed that the second plot is of a smaller size. When a minimum latitude of 60N is used, the plots (the figure area covered by the circle) are big. When a minimum latitude of 50N is used, the plot gets smaller. I would like the plot size - the circle in the figure showing the data - to remain constant regardless of the minimum latitude I choose for the north polar stereographic plot. load topo; [meshlat,meshlon] = meshgrat(topo,topolegend,[90 180]); % plot the first map with FLatLimit=[-Inf 30] subplot(2,1,1) axesm('MapProjection','ortho', 'Origin',[90 0 0], ... 'FLatLimit',[-Inf 30]); title(sprintf('FLatLimit [-Inf 30]')); axis off; surfm(meshlat,meshlon,topo); demcmap(topo); hold off % plot the second map with FLatLimit=[-Inf 40] subplot(2,1,2) axesm('MapProjection','ortho','Origin',[90 0 0], ... 'FLatLimit',[-Inf 40]); title(sprintf('FLatLimit [-Inf 40]')); axis off; surfm(meshlat,meshlon,topo); demcmap(topo); hold off
Kshitij Singh answered .
2025-11-20
When MATLAB axes limits are set to 'auto', they adjust automatically based on the map's radius. For a map with a 30-degree radius, the projected map unit radius is 0.5, and the axes limits adjust accordingly. For a 40-degree radius, the projected map unit radius is approximately 0.6453, causing MATLAB to round the XLim and YLim properties outward to [-0.8, 0.8]. This results in the map occupying a smaller portion of the axes.
To make the map fill the axes, call TIGHTMAP after plotting. This function checks the map frame polygon limits in the map's X and Y dimensions and manually adjusts the axes limits to match.