Я пытаюсь построить большие наборы данных на диаграммах рассеяния, используя пакет highcharter (> 50 тыс. Строк данных), после некоторого чтения я обнаружил, что функция highchart2()
включает модуль повышения из highcharts, который должен значительно улучшить производительность при построении больших объемов данных. Возьмем следующий пример:
library(highcharter) # I'm using the latest version from github (0.5.0.9999)
x <- data.frame(a = rnorm(5000),
b = rnorm(5000),
cat = c(rep("Yes", 2500), rep("No",2500)))
highchart() %>%
hc_add_series(data = x, type = "scatter", hcaes(x=a, y=b, group=cat))
Это должно правильно создать диаграмму рассеяния, но уже с некоторыми проблемами производительности из-за объема данных. Вот почему я переключился на highchart2()
, но, к моему удивлению, график не показывает никаких точек данных при попытке:
highchart2() %>%
hc_add_series(data = x, type = "scatter", hcaes(x=a, y=b, group=cat))
И после еще нескольких поисков и прочтения я обнаружил, что при использовании list_parse2()
график рендерится намного быстрее, поэтому я попробовал следующее:
highchart2() %>%
hc_add_series(data = list_parse2(x), type = "scatter", hcaes(x=a, y=b, group=cat))
И, конечно, это не работает, потому что я изменил структуру входных данных и удалил имена переменных, которые давал hcaes()
. Затем, когда я попробовал это:
highchart2() %>%
hc_add_series(data = list_parse2(x), type = "scatter")
Я получил очень быструю визуализацию сюжета, НО я не могу заставить работать группировку, которая будет различать «Да» и «Нет» в каждой точке, поэтому все точки теперь одного цвета.
Итак, мой вопрос: как я могу эффективно строить большие наборы данных с помощью highcharter, сохраняя при этом возможность назначать переменную параметру "group" в hcaes()
?
Заранее спасибо за помощь.