ニューヨーク州の地図にさまざまな場所をプロットしたいと考えています。現在のコードでは、1 つの州だけをプロットする方法が見つからなかったため、北米全体をプロットしています。緯度と経度の制限をニューヨーク州に設定しようとしていますが、それでも国全体が表示されます。
さらに、hold all
(またはhold on
) を実行して点をプロットしようとすると、指定したタイトルでポップアップする別の図が表示されますが、空白の白い四角だけです。
関連するもう 1 つの質問は、ポイントをプロットしたら、それらがどのポイントであるかを知る必要があるということです。別のセル配列に名前がある場合、どの座標 (別の列に格納されている) がどの名前 (名前がさらに別の列に格納されている場合) に対応するかに基づいて、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)