Географические пузырьковые диаграммы являются способом визуализации данных, наложенных на карту. Для данных с географическими характеристиками эти графики могут обеспечить столь необходимый контекст. В этом примере вы импортируете файл в 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-й строке таблицы болезни Лайма.
Проверьте значение переменной, используемой для Severity, Cases2010, которая является 12-й переменной в 33-й строке таблицы болезни Лайма.
gb.SourceTable(33,12)
ans=table
Cases2010
_________
514
The High
категория определяется как значения от 100 до 500. Однако значение переменной Cases2010 составляет 514. Чтобы исключить это неопределенное значение, сбросьте верхний предел высокой категории, чтобы включить это значение. Для примера используйте 5000.
gb.SourceTable.Severity = discretize(counties.Cases2010,[0 50 100 5000],... 'categorical', {'Low', 'Medium', 'High'});
В отличие от цветовой переменной, когда geobubble
встречается с неопределенным числом (NaN) в переменных размера, широты или долготы, оно игнорирует значение.
Используйте градиент цвета, чтобы представлять категоризацию Низкая-Средняя-Высокая. geobubble
сохраняет цвета как список значений RGB m на 3 в 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
| Свойства GeographicBubbleChart | readtable
| reordercats
| table