對於問題1和問題2,原因是軸總是在圖的後面。因此,一種解決方案是在當前的軸上添加新軸並顯示網格,框和自定義刻度。
對於問題3,我使用regexprep以取代S後綴負緯度(同上爲經度)。我唯一的問題是經度0將是0E,緯度0,0N。
這裏是代碼:
figure;
axes;
geoshow(cntry02, 'FaceColor', [1 1 1]);
axis([minx-1 maxx+1 miny-1 maxy+1]);
axis off;
hold on; %hold to add new axes
axes('Color','none'); %specify no background, else default is here white
axis([minx-1 maxx+1 miny-1 maxy+1]);
grid on;
box on;
set(gca,'XTick', minx-1:2:maxx+1);
%compute x tick labels
xticks = num2str(minx-1:2:maxx+1);
xticks = regexprep(regexprep(xticks,'-([\d.]+)','$1W'), '\b[\d\.]+','$0E');
xticks_cell = cellstr(regexp(xticks,'\s+','split'));
set(gca,'XTickLabel',xticks_cell)
set(gca,'YTick', miny-1:2:maxy+1);
% compute y tick labels
yticks = num2str(miny-1:2:maxy+1);
yticks = regexprep(regexprep(yticks,'-([\d.]+)','$1S'), '\b[\d\.]+','$0N');
yticks_cell = cellstr(regexp(yticks,'\s+','split'));
set(gca,'YTickLabel',yticks_cell)