exponenta event banner

Создать чороплетскую карту плотности населения

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

Импортируйте полигоны границ штатов США с низким разрешением, устанавливая границы карты для региона Новая Англия.

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

NEstates = shaperead('usastatelo', 'UseGeoCoords', true, ...
   'BoundingBox', [MapLonLimit' MapLatLimit']);

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

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

Figure contains an axes. The axes contains 8 objects of type patch.

Определите максимальную плотность населения в штатах Новой Англии.

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

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

fall = flipud(autumn(numel(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. The axes with title Population Density in New England in 2000 in Persons per Square Mile contains 16 objects of type patch.

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

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

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