MATLAB: Is the text function not showing the text for this figure

figuregeoshapelabel;MATLABpolygontext;

Here is my sample code:
colormap parula
cm = colormap;
latZone1 = [25, 25, 50, 50, 25];
lonZone1 = [-105, -125, -125, -105, -105];
zone1Poly = geoshape(latZone1, lonZone1);
zone1Poly.Geometry = 'polygon';
zone1Color = cm(33,:);
states = geoshape(shaperead('usastatehi', 'UseGeoCoords', true));
figure('Visible','on');
hold on
ax = usamap([25 50],[-125 -65]);
geoshow(states,'FaceColor', 'w')
geoshow(zone1Poly, 'LineWidth', 1,'FaceColor',zone1Color,'FaceAlpha',.5)
text(37.5,-115,'Zone 1')
When I run it, the text does not show. Do I need to get the handle and change the font size? I figured it would scale to the figure but I could be wrong. Any help is greatly appreciated!

Best Answer

The problem is that the coordinates you are using to put text do not correspond to the ones in the axes. If you try using normalized coordinates, it will work:
Use
text(.5,.5,'Zone 1','FontSize',30,'Units','normalized');
Instad of
text(37.5,-115,'Zone 1');