4
我想绘制纽约州地图上的不同位置。我现在的代码绘制了整个北美,因为我找不到如何绘制一个状态。我试图设置纽约州的经度和纬度限制,但它仍然给我整个国家。此外,当我做hold all
(或hold on
)并尝试绘制点时,我得到另一个弹出与我指定的标题,但只是一个空白的白色正方形的数字。在MATLAB中的地图上绘制点
另一个相关的问题是,一旦我得到了积分点,我必须知道他们是什么点。如果我在单独的单元格数组中存在名称,那么如何根据哪些坐标(存储在单独列中)与哪个名称(如果名称存储在另一列中)对应,让MATLAB标记点?
%% Plot map
latlim = [39 47];
lonlim = [-81 -70];
ax = worldmap('USA');
load coast
geoshow(ax, lat, long,...
'DisplayType', 'polygon', 'FaceColor', [.45 .60 .30])
states = shaperead('usastatelo', 'UseGeoCoords', true, 'BoundingBox', [lonlim' latlim']);
axesm('lambert', 'MapLatLimit', latlim, 'MapLonLimit', lonlim);
faceColors = makesymbolspec('Polygon',...
{'INDEX', [1 numel(states)], 'FaceColor', ...
polcmap(numel(states))}); % NOTE - colors are random
geoshow(ax, states, 'DisplayType', 'polygon', ...
'SymbolSpec', faceColors);
figure('Color', 'white')
title('PM2.5 Site in New York State in 2012');
hold all
% Plot points
axesm('lambert', 'MapLatLimit', latlim', 'MapLonLimit', lonlim');
datalat = str2double(datalat);
datalon = str2double(datalon);
scatterm(datalat, datalon)
产生你能解释一下在你标记点的一部分吗?我有一个单元格阵列中的名称。 – shizishan
正如文档所述:_string可能是一个单元格数组,其元素数与lat和lon相同。 (为了向后兼容,字符串也可以是二维字符数组,使size(string,1)与numel(lat))匹配。如果你在命令窗口中运行'num2str((1:nb_point)'),你会看到文本的结构,就这么简单! – marsei