MATLAB: Does the size of the map change when I change the FLatLimit property of the map axes in Mapping Toolbox 2.7.2 (R2009a)

Mapping Toolbox

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

Best Answer

This is expected behavior of the axes when the axes limits are set to 'auto'. In the first map (with radius of 30 degrees), the radius in projected map units is 0.5, and the axes limits are set to match it automatically. In the second map (with radius of 40 degrees), the radius in projected map units is approximately 0.6453 -- which is not a round number - and MATLAB rounds the XLim and YLim properties outward to [-0.8 0.8], so that the map itself occupies a smaller portion of the axes.
If you want the map to fill the axes, then you need to call TIGHTMAP after plotting the map, which will check the limits of the map frame polygon in map X and Y and manually set the axes limits to match.
For more information about the TIGHTMAP function, please refer to the documentation by executing the following in the MATLAB command prompt:
doc tightmap