Создайте карту Choropleth плотности населения

В этом примере показано, как создать choropleth карту плотности населения для шести состояний Новой Англии в году 2000.

Импортируйте Американские Государственные граничные многоугольники с низкой разрешающей способностью, установив пределы карты для области Новой Англии.

MapLatLimit = [41 48];
MapLonLimit = [-74 -66];

states = readgeotable('usastatelo.shp');
n = ["Maine" "New Hampshire" "Vermont" "Massachusetts" "Connecticut" "Rhode Island" "New York"];
rows = ismember(states.Name,n);
NEstates = states(rows,:);

Настройте оси карты с проекцией, подходящей, чтобы отобразить состояния Новой Англии.

figure
axesm('MapProjection', 'eqaconic', 'MapParallels', [],...
  'MapLatLimit', MapLatLimit, 'MapLonLimit', MapLonLimit,...
  'GLineStyle', '-')
geoshow(NEstates, 'DisplayType', 'polygon', 'FaceColor','green')

Figure contains an axes object. The axes object contains 7 objects of type patch.

Идентифицируйте максимальную плотность населения для состояний Новой Англии.

maxdensity = max([NEstates.PopDens2000])
maxdensity = 1.0032e+03

Создайте осеннюю палитру для шести состояний Новой Англии, и затем используйте flipud команда, чтобы инвертировать матрицу.

fall = flipud(autumn(height(NEstates)));

Сделайте структуру спецификации символа, symbolspec, это присваивает осенний цвет каждому многоугольнику согласно плотности населения.

densityColors = makesymbolspec('Polygon', {'PopDens2000', ...
   [0 maxdensity], 'FaceColor', fall});

Отобразите карту.

geoshow(NEstates, 'DisplayType', 'polygon', ...
   'SymbolSpec', densityColors)
title ({'Population Density in New England in 2000', ...
   'in Persons per Square Mile'})

Figure contains an axes object. The axes object with title Population Density in New England in 2000 in Persons per Square Mile contains 14 objects of type patch.

Добавьте шкалу палитры. Можно также экспериментировать с другими палитрами.

caxis([0 maxdensity])
colormap(fall)
colorbar

Figure contains an axes object. The axes object with title Population Density in New England in 2000 in Persons per Square Mile contains 14 objects of type patch.

Для просмотра документации необходимо авторизоваться на сайте