Географические пузырьковые диаграммы - это способ визуализации данных, наложенных на карту. Для данных с географическими характеристиками эти диаграммы могут обеспечить столь необходимый контекст. В этом примере выполняется импорт файла в MATLAB ® в виде таблицы и создание географической пузырьковой диаграммы из табличных переменных (столбцов). Затем вы работаете с данными в таблице, чтобы визуализировать аспекты данных, такие как размер населения.
Загрузить образец файла counties.xlsx, который содержит записи населения и случаев болезни Лайма по графству в Новой Англии. Считывание данных в таблицу с помощью readtable.
counties = readtable('counties.xlsx');Создайте географическую пузырьковую диаграмму, показывающую расположение округов в Новой Англии. Укажите таблицу в качестве первого аргумента, counties. Географическая пузырьковая диаграмма хранит таблицу в своей SourceTable собственность. В примере показаны первые пять строк таблицы. Используйте 'Latitude' и 'Longitude' столбцов таблицы для указания расположений. Диаграмма автоматически устанавливает пределы широты и долготы базовой карты, называемые базовой картой, для включения только тех областей, которые представлены данными. Назначить GeographicBubbleChart объект к переменной gb. Использовать gb для изменения диаграммы после ее создания.
figure gb = geobubble(counties,'Latitude','Longitude');

head(gb.SourceTable, 5)
ans=5×19 table
FIPS ANSICODE Latitude Longitude CountyName State StateName Population2010 HousingUnits2010 LandArea WaterArea Cases2010 Cases2011 Cases2012 Cases2013 Cases2014 Cases2015 Cases2014_1 Cases2015_1
____ __________ ________ _________ _____________________ ______ _______________ ______________ ________________ __________ __________ _________ _________ _________ _________ _________ _________ ___________ ___________
9001 2.1279e+05 41.228 -73.367 {'Fairfield County' } {'CT'} {'Connecticut'} 9.1683e+05 3.6122e+05 1.6185e+09 5.4916e+08 331 305 225 443 437 427 437 427
9003 2.1234e+05 41.806 -72.733 {'Hartford County' } {'CT'} {'Connecticut'} 8.9401e+05 3.7425e+05 1.9039e+09 4.0213e+07 187 167 143 288 291 335 291 335
9005 2.128e+05 41.792 -73.235 {'Litchfield County'} {'CT'} {'Connecticut'} 1.8993e+05 87550 2.3842e+09 6.2166e+07 88 118 67 187 168 202 168 202
9007 2.128e+05 41.435 -72.524 {'Middlesex County' } {'CT'} {'Connecticut'} 1.6568e+05 74837 9.5649e+08 1.8068e+08 125 109 93 181 155 241 155 241
9009 2.128e+05 41.35 -72.9 {'New Haven County' } {'CT'} {'Connecticut'} 8.6248e+05 3.62e+05 1.5657e+09 6.6705e+08 240 249 213 388 459 474 459 474
Можно панорамировать и увеличивать и уменьшать базовую карту, отображаемую с помощью geobubble функция.
Используйте размер пузыря (диаметр), чтобы указать относительные популяции различных округов. Укажите Population2010 переменная в таблице как значение SizeVariable параметр. На результирующей географической диаграмме пузырьки имеют различные размеры для обозначения популяции. Диаграмма содержит легенду, описывающую, как диаметр выражает размер. Корректировка пределов диаграммы с помощью geolimits.
gb = geobubble(counties,'Latitude','Longitude',... 'SizeVariable','Population2010'); geolimits([39.50 47.17],[-74.94 -65.40])

geobubble линейно масштабирует диаметры пузырьков между значениями, заданными SizeLimits собственность.
Используйте цвет пузыря, чтобы показать количество случаев болезни Лайма в округе для данного года. Для отображения данных этого типа, geobubble функция требует, чтобы данные были categorical значение. Первоначально ни один из столбцов в таблице не является категориальным, но его можно создать. Например, можно использовать discretize для создания категориальной переменной из данных в Cases2010 переменная. Новая переменная с именем Severity, группирует данные по трем категориям: Низкий, Средний и Высокий. Использовать эту новую переменную в качестве ColorVariable параметр. Эти изменения изменяют таблицу, сохраненную в SourceTable свойство, которое является копией исходной таблицы в рабочей области, counties. Внесение изменений в таблицу, сохраненную в GeographicBubbleChart объект позволяет избежать влияния на исходные данные.
gb.SourceTable.Severity = discretize(counties.Cases2010,[0 50 100 500],... 'categorical', {'Low', 'Medium', 'High'}); gb.ColorVariable = 'Severity';

При печати информации о степени серьезности в легенде цвета появляется четвертая категория: undefined. Эта категория может отображаться при приведении данных к categorical содержит пустые значения или значения, которые выходят за рамки определенных категорий. Определите причину неопределенного Severity путем наведения курсора на неопределенный пузырь. Совет данных показывает, что пузырь представляет значения в 33-й строке таблицы болезни Лайма.
Проверьте значение переменной, используемой для серьезности, Cases2010, которая является 12-й переменной в 33-й строке таблицы болезни Лайма.
gb.SourceTable(33,12)
ans=table
Cases2010
_________
514
High категория определяется как значения от 100 до 500. Однако значение переменной Cases2010 равно 514. Чтобы исключить это неопределенное значение, сбросьте верхний предел категории High, чтобы включить это значение. Например, используйте 5000.
gb.SourceTable.Severity = discretize(counties.Cases2010,[0 50 100 5000],... 'categorical', {'Low', 'Medium', 'High'});

В отличие от цветовой переменной, когда geobubble обнаруживает неопределенное число (NaN) в переменных размера, широты или долготы, оно игнорирует значение.
Используйте градиент цвета для представления категории «Низкий-средний-высокий». geobubble сохраняет цвета в виде списка m-by-3 значений RGB в BubbleColorList собственность.
gb.BubbleColorList = autumn(3);

Измените цвет, указывающий на высокую степень серьезности, на красный, а не желтый. Чтобы изменить порядок цветов, можно изменить порядок категорий или цветов, перечисленных в BubbleColorList собственность. Например, первоначально категории упорядочены как Low-Medium-High. Используйте reordercats для изменения категорий на High-Medium-Low. Категории изменяются в цветовой легенде.
neworder = {'High','Medium','Low'};
gb.SourceTable.Severity = reordercats(gb.SourceTable.Severity,neworder);
При отображении географической пузырьковой диаграммы с переменными размера и цвета на диаграмме отображаются легенда размера и легенда цвета для указания относительных размеров и цветов. При указании таблицы в качестве аргумента geobubble автоматически использует имена табличных переменных в качестве заголовков условных обозначений, но с помощью свойств можно указать другие заголовки.
title 'Lyme Disease in New England, 2010' gb.SizeLegendTitle = 'County Population'; gb.ColorLegendTitle = 'Lyme Disease Severity';

Глядя на данные болезни Лайма, тенденция, по-видимому, что больше случаев происходят в более густонаселенных районах. Взгляд на места с наибольшим количеством случаев на душу населения может быть более интересным. Вычислите обращения на 1000 человек и выведите их на график.
gb.SourceTable.CasesPer1000 = gb.SourceTable.Cases2010 ./ gb.SourceTable.Population2010 * 1000; gb.SizeVariable = 'CasesPer1000'; gb.SizeLegendTitle = 'Cases Per 1000';

Размеры пузырей теперь рассказывают другую историю, чем раньше. Районы с наибольшим населением отслеживались относительно хорошо с различными уровнями тяжести. Однако при рассмотрении числа случаев, нормализованных по численности населения, представляется, что наибольший риск на душу населения имеет различное географическое распределение.
categorical | discretize | geobubble | Свойства BubureChart | readtable | reordercats | table