Je veux tracer des emplacements différents sur une carte de l'état de NY. Mon code actuel trace l'ensemble de l'Amérique du Nord parce que je ne pouvais pas trouver comment tracer un seul état. J'essaye de fixer les limites de latitude et de longitude à l'état de NY, mais cela me donne toujours le pays entier.Points de tracé sur une carte dans MATLAB
En outre, quand je fais hold all
(ou hold on
) et essaye de tracer les points, j'obtiens une autre figure qui apparaît avec le titre que j'ai spécifié, mais juste un blanc, carré blanc.
Une autre question connexe est qu'une fois que j'ai obtenu les points tracés, je dois savoir quels points ils sont. Si j'ai les noms dans un tableau de cellules séparé, comment puis-je avoir MATLAB étiqueter les points en fonction des coordonnées (qui sont stockées dans une colonne séparée) correspondent avec quel nom (si les noms sont stockés dans une autre colonne)?
%% 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)
Pouvez-vous expliquer la partie dans laquelle vous étiquetez les points? J'ai les noms dans un tableau de cellules. – shizishan
Comme le dit le document: _string peut être un tableau de chaînes de caractères ayant le même nombre d'éléments que lat et lon. (Pour la rétrocompatibilité, la chaîne peut aussi être un tableau de caractères à deux dimensions tel que size (string, 1) correspond à numel (lat)) _. Si vous exécutez 'num2str ((1: nb_point) '' dans la fenêtre de commande, vous verrez la structure du texte, aussi simple que cela! – marsei