Создание географической пузырьковой диаграммы из табличных данных

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

Выбор Bubble Colors

Используйте цветовой градиент, чтобы представлять Низкую Среднюю Высокую классификацию. 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';

Пузырьковые размеры теперь рассказывают другую историю, чем прежде. Области с самыми многочисленными популяциями, прослеженными относительно хорошо с различными уровнями серьезности. Однако при рассмотрении количества случаев, нормированных на население, кажется, что самый высокий риск на душу населения имеет различное географическое распределение.

Смотрите также

| | | | | |

Похожие темы