在MATLAB中在3D Globe上叠加3D曲面图

时间:2012-08-29 16:12:13

标签: matlab plot

我想在MATLAB中在地球上放置一个三维表面图。我无法让它发挥作用。

以下是代码:

% Sampele Data
longitude = [1 2 3]
latitude = [3 2 1]
elevation = [12 21 13; 15 14 15; 12 16 15]

% Create Globe
figure
axesm('globe')
gridm('GLineStyle','-','Gcolor',[.8 .7 .6],'Galtitude', .02)
load coast
plot3m(lat,long,'k')
view(3)
axis off; zoom(2)

% Overlay Surface Plot
mesh(longitude,latitude,elevation)
surfm(longitude,latitude,elevation)

1 个答案:

答案 0 :(得分:1)

虽然不明显,但您的代码实际上似乎工作正常。

要查看它,首先删除行mesh(longitude,latitude,elevation),因为它不会在经度 - 纬度坐标中绘制。

现在的问题是surfm(longitude,latitude,elevation)只能画出一个很难发现的小区域。找到它,注释掉行plot3m(lat,long,'k'),运行脚本并注意地球右半部分的微小表面。

为了证明您的脚本正在运行,您还可以用

替换最后一行
surfm(lat(1:200),long(1:200), rand(200,200))

随机为南极的一部分着色。

顺便说一下,你的最后一行不应该是surfm(latitude,longitude,elevation)吗?