Географические пузырьковые диаграммы являются способом визуализировать данные, наложенные на карте. Для данных с географическими характеристиками эти графики могут обеспечить весьма необходимый контекст. В этом примере вы импортируете файл в MATLAB® как таблица и создаете географическую пузырьковую диаграмму из табличных переменных (столбцы). Затем вы работаете с данными в таблице, чтобы визуализировать аспекты данных, такие как численность населения.
Загрузите файл примера counties.xlsx
, который содержит записи населения и случаев болезни Лайма графством в Новой Англии. Считайте данные в таблицу с помощью readtable
.
counties = readtable('counties.xlsx');
Создайте географическую пузырьковую диаграмму, которая показывает местоположения округов в Новой Англии. Задайте таблицу в качестве первого аргумента, counties
. Географическая пузырьковая диаграмма хранит таблицу в своем SourceTable
свойство. Используйте 'Latitude'
и 'Longitude'
столбцы таблицы, чтобы задать местоположения. График автоматически устанавливает пределы широты и долготы базовой карты, названной основной картой, чтобы включать только те области, представленные по условию. Присвойте GeographicBubbleChart
возразите против переменной gb
. Используйте gb
изменить график после того, как это создается.
figure gb = geobubble(counties,'Latitude','Longitude');
Можно панорамировать и увеличить и уменьшить масштаб на основной карте, отображенной 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. Чтобы устранить это неопределенное значение, сбросьте верхний предел Высокой категории, чтобы включать это значение. Например, используйте 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';
Пузырьковые размеры теперь рассказывают другую историю, чем прежде. Области с самыми многочисленными популяциями, прослеженными относительно хорошо с различными уровнями серьезности. Однако при рассмотрении количества случаев, нормированных на население, кажется, что самый высокий риск на душу населения имеет различное географическое распределение.
geobubble
| table
| readtable
| reordercats
| categorical
| discretize
| GeographicBubbleChart Properties