Географические пузырьковые диаграммы являются способом визуализировать данные, наложенные на карте. Для данных с географическими характеристиками эти графики могут обеспечить весьма необходимый контекст. В этом примере вы импортируете файл в 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
переменная. Новая переменная, именованная Серьезность, группирует данные в три категории: Низко, Носитель, и Высоко. Используйте эту новую переменную в качестве 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=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