在图中

时间:2017-11-30 06:49:55

标签: r plot ggplot2 plotly

我有一个包含两列的数据集。

每行都是frequency的用户(1~31,显示用户每月玩游戏的频率)和is_consumed(0,1用户是否曾在游戏中消费)。

我想为frequency绘制两个由is_consumed的值分隔的密度图。

我在ggplot2中完成了它,但我想使用plotly。 ggplot2 code:

p2 <- p_plot %>%
  ggplot(aes(frequency, fill = is_consumed)) +
  geom_density(alpha = 0.5) 
p2

输出

红色是is_consumed == 1的密度图。绿色是is_consumed == 0

enter image description here

1 个答案:

答案 0 :(得分:0)

在名为ggplotly()的绘图库中有一个很酷的函数,它将ggplot对象转换为一个绘图对象:https://plot.ly/ggplot2/geom_density/

所以你可以这样做:

library(plotly)
library(ggplot2)

p_plot <- data.frame(frequency = c(rnorm(31, 1), rnorm(31)),
                     is_consumed = factor(round(runif(62))))
p2 <- p_plot %>%
  ggplot(aes(frequency, fill = is_consumed)) +
  geom_density(alpha = 0.5)     
ggplotly(p2)