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