MATLAB R2016a - 在contourf之后的geoshow(用于与R2012a一起工作)

时间:2016-12-06 15:02:22

标签: matlab

过去我有Matlab R2012a版本,我使用geoshow在我使用下面代码制作的contourf图上绘制土地:

contourf(long,lat,conf(:,:,i),[valoneS(i) valtwoS(i)])

其中i只是一个时间索引,而valoneS和valtwoS是定义我想要放置2个轮廓的位置的两个值。 在contourf之后我会像那样使用geoshow:

load coastline.mat; levels = [S.Level]; terre = (levels==1);
geoshow(S(terre),'FaceColor', [0.65,0.65,0.65])

这曾经工作过。问题是,由于我切换到Matlab R2016a,当我使用geoshow绘制土地“S(terre)”时,地图会延伸到整个北美洲,或者如果我使用geoshow('landareas.shp', 'FaceColor', [0.65 0.65 0.65])代替整个世界专注于longlatcontourf定义的区域。

知道为什么会发生这种情况以及如何解决这个问题。谢谢。阿诺。

1 个答案:

答案 0 :(得分:0)

您可以通过指定the x and y limits of the axes object手动指定显示的区域。

set(gca, 'XLim', [min(long(:)), max(long(:))], ...
         'YLim', [min(lat(:)), max(lat(:))])