Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Интерактивная визуализация
Интерактивная визуализация – это способ графического представления информации, позволяющий пользователю взаимодействовать с системой отображения информации и наблюдать ответную реакцию системы. Интерактивность является ключом к повышению способности получать информацию человеком из графической визуализации. Под интерактивной визуализацией подразумевается интерфейс, поддерживающий следующий принципы:
1. Внесение изменений производится легко, быстро и с возможностью возврата к предыдущему состоянию.
2. Множество диаграмм и таблицы можно легко совместить и показать на одном экране одновременно.
3. Набор визуализаций можно связать, чтобы операции на одном дисплее отражались и на других.
Рассмотрим несколько примеров, где будет сравниваться генератор статических графиков с интерактивным интерфейсом визуализации.
- Изменение количества интервалов гистограммы. Статическая гистограмма требует нового построения для каждого нового выбора количества интервалов. Интерактивная визуализация, напротив, обеспечивает простой и легкий способ интерактивного изменения количества интервалов гистограммы и его графических параметров, таких как ширина колонок, расстояние между ними и т. д. Агрегация и Масштабирование. Рассмотрим задачу прогнозирования временных рядов, учитывая длинный ряд данных. Временная агрегация на нескольких уровнях необходима для определения краткосрочных и долгосрочных моделей. Масштабирование используются для определения необычных периодов. Статическое программное обеспечение для построения графиков требует от пользователя вычислить новые переменные для каждого временного агрегирования (например, агрегировать ежедневные данные для получения еженедельных агрегатов). Для изменения масштаба требуется ручное изменение минимальных и максимальных значений шкалы оси интереса (тем самым теряя возможность быстрого перемещения между различными областями без создания нескольких графиков). Интерактивная визуализация, в данном случае, обеспечивает быстрое изменения временных иерархии, между которыми пользователь может легко переключаться. Масштабирование включается в виде ползунка вблизи оси (см., например, ползунки на левой верхней панели на рис.1), что позволяет осуществлять прямое управление и быструю перемещение. Объединение нескольких связанных участков, которые помещаются в одном экране. Для облегчения задачи классификации часто создаются наборы графиков переменной результата по отношению к потенциальными категориальными или численными факторами. Они могут включать side-by-side boxplots, цветные точечные диаграммы и другие. Пользователю требуется обнаружить возможные многомерные отношения (или определить возможные выбросы), выбрав определенное подмножество данных (например, одну категорию некоторой переменной) и расположить наблюдения на разных графиках. В статическом интерфейсе пользователю придется вручную организовать участки интереса и изменить их размер, чтобы поместиться в одном экране. Статический интерфейс, как правило, не поддерживает компоновку между участками, и даже если это так, весь набор участков должен быть восстановлен при каждом выборе. В отличие от этого, интерактивная визуализация обеспечивает простой способ автоматической организации изменения размера набора участков в соответствии с экраном. Связывание набора графиков будет простым, и в ответ на выбор пользователей на одном участке соответствующий выбор будет автоматически выделен и на других.

Рисунок 1. НАБОР ИНТЕРАКТИВНЫХ ГРАФИКОВ (С ИСПОЛЬЗОВАНИЕМ SPOTFIRE).
Возможность взаимодействовать пользователю с графиками и их взаимосвязь между собой превращает этот процесс в аналитический инструмент для непрерывного исследование данных. Несколько коммерческих инструментов визуализации открывают большие возможности по этим направлениям. Примеры наиболее популярных:
Spotfire |
|
Tableau |
|
Интерактивная визуализация в среде R
Пакет htmlwidgets, позволяет создавать интерактивные статистические графики на основе JavaScript-библиотек буквально двумя-тремя строками R-кода. Эта разработка была выполнена в сотрудничестве с Ramnath Vaidyanathan – автором таких известных пакетов, как rcharts и slidify. Пакет htmlwidgets легко интегрируется с RMarkdown и Shiny, открывая огромные возможности для создания интерактивных отчетов и других динамически изменяющихся документов. Данная библиотека послужила основой таким пакетам для интерактивной визуализации графики как Highcharter, Plotly (которые будут рассмотрены далее) и множества других.
Библиотека Highcharter
Highcharter предоставляет богатый интерфейс R для популярной графической библиотеки JavaScript Highcharts.
Основные функции пакета:
- highchart(): создает объект диаграммы Highchart с использованием библиотеки htmlwidgets. Виджет может отображаться на HTML-страницах, созданных с помощью R Markdown, Shiny или других приложений. hchart(): использует highchart() для рисования графиков для разных классов объектов в R с помощью удобных одиночной команды. В частности, он может отображать графики, числовые данные, гистограммы, символы, плотность, факторы, ts, mts, xts, stl, ohlc, acf, прогноз, mforecast, ets, igraph, dist, dendrogram, phylo и survifit.
Дополнительные возможности пакета:
- Theming: Можно настроить сюжеты с предварительно реализованными темами, такими как Economist, Financial Times, Google, FiveThirtyEight и многие другие. Плагины: движение, точки перетаскивания, fontawesome, url-шаблон, аннотации.
Установка пакета:
install. packages("highcharter")
Подключение библиотеки:
library(highcharter)
Далее будут рассмотрены несколько примеров использования данного пакета.
1. Построение облака точек с использованием hchart().
Воспользуемся данными о потреблении топлива в период с 1999 по 2008 годы для 38 популярных моделей автомобилей из пакета ggplot.
data(mpg, package = "ggplot2")
Построим график зависимости объема двигателя от расхода топлива (количество миль на галлон).
library("highcharter")
data(mpg, package = "ggplot2")
hchart(mpg, "scatter", hcaes(x = displ, y = hwy, group = class))
В результате выполнения данного кода должен получиться следующий график:

2. Построение гистограммы с помощью highchart().
Попробуем воспользоваться функцией highchart(), для связи ее параметров используется набор знаков “%>%”. Определим параметр типа диаграммы:
highchart() %>%
hc_chart(type = "column")
Добавим название диаграммы
%>% hc_title(text = "A highcharter chart")
Диапазон значений по X
%>% hc_xAxis(categories = 2012:2016)
И данные
%>% hc_add_series(data = c(3900, 4200, 5700, 8500, 11900), name = "Downloads")
Итоговый код:
highchart() %>%
hc_chart(type = "column") %>%
hc_title(text = "A highcharter chart") %>%
hc_xAxis(categories = 2012:2016) %>%
hc_add_series(data = c(3900, 4200, 5700, 8500, 11900),
name = "Downloads")
В результате выполнения данного кода должен получиться следующий график:

3. Построение гистограммы с возможностью рассмотрения определенного участка.
Воспользуемся данными об 54 тысячах алмазах из пакета ggplot.
data(diamonds, package = "ggplot2")
Для построения гистограммы с возможностью зуммирования определенного участка достаточно просто вызвать функцию hchart().
hchart(diamonds$price, color = "#B71C1C", name = "Price") %>% hc_title(text = "You can zoom me")
В результате выполнения данного кода должен получиться следующий график:

4. Пример отображения графических карт.
Одной из возможностей пакета Highcharter является отображение карт с помощью модуля highmaps. Выберите карту (url) из коллекции highmaps https://code. /mapdata/ и воспользуйтесь url как аргументом функции hcmap(). Это загрузит карту и создаст объект, используя информацию в качестве аргумента mapData. Для примера отобразим карту Новой Зеландии:
hcmap("countries/nz/nz-all")
В результате выполнения данного кода должен получиться следующий график:

Более полный функционал доступен на сайте: http:///highcharter/index. html
Библиотека Plotly
Графическая библиотека Plotly R делает интерактивные и качественные диаграммы онлайн. Данный пакет может создавать линейные графики, диаграмм рассеяния, диаграмм областей, гистограмм, диаграмм ошибок, boxplots, гистограмм, тепловых карт, subplots, многоосевых и трехмерных (основанных на WebGL) графиков.
Установка пакета:
install. packages("plotly")
Подключение библиотеки:
library(plotly)
Примеров работы с данным пакетом:
1. Построение облака точек.
Для построения облака точек достаточно вызвать функцию plot_ly() и в параметрах указать данные. Для примера построим график для встроенных данных об ирисах.
library(plotly)
plot_ly(data = iris, x = ~Sepal. Length, y = ~Petal. Length)
В результате выполнения данного кода должен получиться следующий график:

2. Построение двумерной гистограммы и отображение нескольких графиков.
Воспользуемся теми же данными об ирисах, а также облаком точек и присвоим их новой переменной p.
p <- plot_ly(data = iris, x = ~Sepal. Length, y = ~Petal. Length)
Для создания двумерной гистограммы достаточно добавить атрибут add_histogram2d() к переменной p.
p %>% add_histogram2d())
А для отображения нескольких графиков используется команда subplot().Где через запятую перечисляются графики, которые необходимо отобразить.
Полный код:
library(plotly)
p <- plot_ly(data = iris, x = ~Sepal. Length, y = ~Petal. Length)
subplot(p, p %>% add_histogram2d())
В результате выполнения данного кода должен получиться следующий график:

Ссылки на источники
Интерактивная визуализация:
- Galit Shmueli, э Peter C. Bruce, э Inbal Yahav, Nitin R. Patel, Kenneth C. Lichtendahl. Книга “Data mining for business analytics. Concepts, techniques and applications in R”.
Библиотека Htmlwidgets:
- http://www. htmlwidgets. org/index. html
Библиотека Highcharter:
- https://rviews. /2016/10/19/creating-interactive-plots-with-r-and-highcharts/ http:///highcharter/index. html
Библиотека Potly:
- https://plot. ly/r/




