R Highcharter 中的密度图

Density Plot in R Highcharter

我正在尝试在 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)

您似乎需要两条曲线(y = 0 和 y = 1)。只会调用 dt$x 的 hcdensity,首先是 y=0。然后对于 y=1,对 hc_add_series 使用 'density'。使用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())

这很有帮助: