Географические пузырьковые диаграммы являются способом визуализировать данные, наложенные на карте. Для данных с географическими характеристиками эти графики могут обеспечить весьма необходимый контекст. В этом примере вы импортируете файл в 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
. geobubble
отображает данные по основной карте по умолчанию. Чтобы использовать другую основную карту, у вас должно быть Интернет-соединение, или вы, должно быть, ранее загрузили basemaps с MathWorks.
Используйте пузырьковый размер (диаметр), чтобы указать на относительное население различных округов. Задайте переменную Population2010
в таблице как значение параметра SizeVariable
. В результирующей географической пузырьковой диаграмме пузыри имеют различные размеры, чтобы указать на генеральную совокупность. График включает легенду, которая описывает, как диаметр выражает размер.
figure gb = geobubble(counties,'Latitude','Longitude',... 'SizeVariable','Population2010');
geobubble
масштабирует диаметры пузыря линейно между значениями, заданными свойством SizeLimits
.
Используйте пузырьковый цвет, чтобы показать количество случаев болезни Лайма в графстве в течение данного года. Чтобы отобразить этот тип данных, функция geobubble
требует, чтобы данные были значением categorical
. Первоначально, ни один из столбцов в таблице не является категориальным, но можно создать тот. Например, можно использовать функцию discretize
, чтобы создать категориальную переменную из данных в переменной Cases2010
. Новая переменная, именованная Серьезность, группирует данные в три категории: Низко, Носитель, и Высоко. Используйте эту новую переменную в качестве параметра ColorVariable
. Эти изменения изменяют таблицу, хранимую в свойстве SourceTable
, которое является копией исходной таблицы в рабочей области, counties
. Внесение изменений в таблицу, хранимую в объекте GeographicBubbleChart
старается не влиять на исходные данные.
gb.SourceTable.Severity = discretize(counties.Cases2010,[0 50 100 500],... 'categorical', {'Low', 'Medium', 'High'}); gb.ColorVariable = 'Severity';
Когда вы строите информацию о серьезности, четвертая категория появляется в цветной легенде: undefined
. Эта категория может появиться, когда данные, которые вы бросаете к categorical
, содержат пустые значения или значения, которые являются вне осциллографа для категорий, которые вы задали. Чтобы определить, что вызвало это неопределенное значение Серьезности, просмотрите всплывающую подсказку для неопределенного пузыря. Вы видите, что это представляет значения в 33-й строке таблицы болезни Лайма.
Проверяйте значение переменной, используемой для Серьезности, Cases2010, который является 12-й переменной в 33-й строке таблицы болезни Лайма.
gb.SourceTable(33,12)
ans=1×1 table
Cases2010
_________
514
Категория High
задана как значения между 100 и 500. Однако значение переменной Cases2010 514. Чтобы устранить это неопределенное значение, сбросьте верхний предел Высокой категории, чтобы включать это значение. Например, используйте 5000.
gb.SourceTable.Severity = discretize(counties.Cases2010,[0 50 100 5000],... 'categorical', {'Low', 'Medium', 'High'});
В отличие от цветной переменной, когда geobubble
сталкивается с неопределенным номером (NaN) в размере, широте или переменных долготы, это игнорирует значение.
Используйте цветовой градиент, чтобы представлять Низкую Среднюю Высокую классификацию. geobubble
хранит цвета как m-3 список значений RGB в свойстве BubbleColorList
.
gb.BubbleColorList = autumn(3);
Измените цвет, указывающий на высокую серьезность, чтобы быть красными, а не желтыми. Чтобы изменить последовательность цветов, можно изменить упорядоченное расположение или категорий или цветов, перечисленных в свойстве BubbleColorList
. Например, первоначально категории упорядочены "Низкий Носитель Высоко". Используйте функцию reordercats
, чтобы изменить категории на "Высокий Носитель Низко". Категории изменяются в цветной легенде.
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';
Смотря на данные о болезни Лайма, тренд, кажется, что больше случаев происходит в более плотно населенных районах. Рассмотрение местоположений с большинством случаев сила на душу населения быть более интересным. Вычислите случаи на 1 000 человек и отобразите его на графике.
gb.SourceTable.CasesPer1000 = gb.SourceTable.Cases2010 ./ gb.SourceTable.Population2010 * 1000; gb.SizeVariable = 'CasesPer1000'; gb.SizeLegendTitle = 'Cases Per 1000';
Пузырьковые размеры теперь рассказывают другую историю, чем прежде. Области с самым многочисленным населением, прослеженным относительно хорошо с различными уровнями серьезности. Однако при рассмотрении количества случаев, нормированных генеральной совокупностью, кажется, что самый высокий риск на душу населения имеет различное географическое распределение.
GeographicBubbleChart Properties | categorical
| discretize
| geobubble
| readtable
| reordercats
| table