График плотности в R Highcharter - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь построить аналогичный график плотности в highcharter R.Я довольно новичок в highcharter, любые рекомендации будут по достоинству оценены.

dt <- data.frame(x=rnorm(1000),y=sample(c(0,1),size = 1000,replace = T))
library(ggplot2)
ggplot(data = dt) +
  aes(x = x,fill=factor(y)) +
  geom_density(adjust = 1,alpha=0.5) 

Мои попытки:

library(highcharter)
library(dplyr)
hcdensity(density(dt$x), area = TRUE) %>% 
  hc_add_series(density(dt$y), area = TRUE)

1 Ответ

1 голос
/ 08 июля 2019

Похоже, вы хотите две кривые (у = 0 и у = 1).Просто назвал бы hcdensity dt $ x, сначала для y = 0.Тогда для y = 1 используйте «плотность» для hc_add_series.Используйте type = 'area' для заполнения.

hcdensity(dt$x[dt$y==0]) %>% 
  hc_add_series(density(dt$x[dt$y==1]), type='area')

Если вы хотите включить несколько кривых или более обобщенное решение, попробуйте это:

library(purrr)
tapply(dt$x, dt$y, density) %>%
  reduce(.f = hc_add_series, type='area', .init=highchart())

Это было полезно:

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

...