过去我有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])
代替整个世界专注于long
中lat
和contourf
定义的区域。
知道为什么会发生这种情况以及如何解决这个问题。谢谢。阿诺。
答案 0 :(得分:0)
您可以通过指定the x and y limits of the axes
object手动指定显示的区域。
set(gca, 'XLim', [min(long(:)), max(long(:))], ...
'YLim', [min(lat(:)), max(lat(:))])