Упражнение. Визуализация данных с помощью оператора отрисовки
Мы использовали метеорологический набор данных для статистической обработки и сравнения количества определенных видов событий шторма в разных штатах США в течение 2007 года. Теперь визуализируем эти результаты с помощью графиков с временными интервалами.
Использовать оператор render
.
Держите в уме, что вы использовали оператор summarize
для группировки событий по такому общему полю, как State (Штат). В предыдущем уроке вы использовали различные версии оператора count
, чтобы сравнить количество и типы событий по штатам. Визуализация этих результатов может помочь сравнить явления в разных штатах.
Чтобы визуализировать результаты, воспользуемся оператором render
. Он ставится в конце запроса. Укажите в операторе render
, какой тип визуализации нужно использовать, например, columnchart
, barchart
, piechart
, scatterchart
, pivotchart
и другие. Также при необходимости можно задать другие свойства визуализации, такие как ось X или ось Y.
В этом примере вы визуализируете предыдущий запрос в виде линейчатой диаграммы.
Выполните следующий запрос.
StormEvents | summarize count(), EventsWithDamageToCrops = countif(DamageCrops > 0), dcount(EventType) by State | sort by count_ | render barchart
Вы должны получить результаты, аналогичные приведенным на следующем рисунке:
Обратите внимание на легенду справа от линейчатой диаграммы. Каждое значение в условных обозначениях представляет собой другой столбец данных, которые были обобщены состоянием в запросе. Попробуйте выбрать одно из значений, например count_, чтобы включить отображение этих данных на линейчатой диаграмме. Отключив отображение count_, вы уберете общее количество событий, и на диаграмме останется количество событий, причинивших ущерб, и количество событий с определенными условиями. Получившаяся диаграмма должна напоминать следующее изображение:
Посмотрите на итоговую линейчатую диаграмму. Какие выводы можно сделать из этих данных? Вы можете заметить, например, что Техас имел самые отдельные события шторма, но Айова имела самую высокую частоту повреждения штормовых событий.
Группировка значений с помощью функции bin()
Ранее вы использовали статистические функции, чтобы группировать события по столбцу State (Штат). Теперь давайте посмотрим на распределение погодных явлений в течение года, сгруппировав данные по времени. Значения времени, имеющиеся в каждой записи, представляют собой начало и окончание явления. Давайте сгруппируем начала явлений по неделям, чтобы понять, сколько погодных явлений происходило на каждой неделе 2007 года.
Для этого воспользуемся функцией bin()
, которая группирует значения по заданным интервалам. Например, у вас могут быть данные из каждого дня года, и вы хотите сгруппировать эти даты по неделям. Или вы хотите сгруппировать данные о населении по возрастным категориям. Синтаксис этого оператора выглядит так:
bin(
value,
roundTo)
Значение интервала может быть числом, датой или временным промежутком. Вы объедините количество с помощью функции bin()
, чтобы получить количество событий по неделям. Необходимо сгруппировать данные по значению в столбце StartTime (Время начала) с размером интервала roundTo, составляющим 7days или 7d для краткости. Наконец, выведите данные как columnchart, чтобы создать гистограмму.
Выполните приведенный ниже запрос:
StormEvents | summarize count() by bin(StartTime, 7d) | render columnchart
Вы должны получить результаты, аналогичные приведенным на следующем рисунке:
Посмотрите на итоговую гистограмму. Наведите указатель мыши на один из столбцов, чтобы увидеть время начала интервала (значение по оси X) и количество событий (значение по оси Y).
Использовать оператор sum
.
В предыдущем запросе вы рассмотрели изменение количества погодных явлений с течением времени. Теперь давайте рассмотрим ущерб, вызванный этими штормами. Для этого вы воспользуетесь статистической функцией sum
, потому что нам нужно увидеть общий объем ущерба, причиненного за каждый интервал времени. В наборе данных, которым вы пользуетесь, с ущербом связаны два столбца: DamageProperty (Ущерб имуществу) и DamageCrops (Ущерб урожаю).
В следующем запросе вы сначала создадите вычисляемый столбец, который складывает эти два источника ущерба. Затем вы создадите агрегирование общего ущерба на неделю. Наконец, вы выведете гистограмму, представляющую еженедельный ущерб, причиненный всеми видами погодных явлений.
Выполните приведенный ниже запрос:
StormEvents | extend damage = DamageProperty + DamageCrops | summarize sum(damage) by bin(StartTime, 7d) | render columnchart
Вы должны получить результаты, аналогичные приведенным на следующем рисунке:
В предыдущем запросе ущерб проанализирован с помощью функции времени. Его также можно сравнить по типу события. Выполните следующий запрос, чтобы создать круговую диаграмму для сравнения ущерба, причиненного различными типами событий.
StormEvents | extend damage = DamageProperty + DamageCrops | summarize sum(damage) by EventType | render piechart
Вы должны получить результаты, аналогичные приведенным на следующем рисунке:
Наведите указатель мыши на один из сегментов круговой диаграммы. Вы увидите абсолютную величину (общий объем ущерба, причиненного этим типом события) и соответствующий процент от общего ущерба.