R - 如何使用ggvis绘制多个密度图

时间:2016-01-16 13:56:41

标签: r ggvis density-plot

如何在同一组轴上绘制多个密度图?我理解如何绘制多个线图和散点图,但是密度图共享一个共同的x轴的问题让我感到沮丧。我的数据目前设置如下:

name  x1   x2   x3
a     123  123  123
b     123  123  123
c     123  123  123

感谢您的帮助!

编辑:以下是我遗漏的一些细节,可能有助于使我的问题更加清晰。

我的数据框attr_gains与上面的示例类似,其变量名称为StrAgiInt。到目前为止,我已经能够使用以下代码获得Str变量的密度图:

  attr_gains %>%
  ggvis(x=~Str)%>%
  layer_densities(fill :="red", stroke := "red")

我想要做的是再叠加两个密度图,每个密度图一个用于AgiInt,因此我在同一组轴上有三个密度图。

1 个答案:

答案 0 :(得分:3)

直接来自文档:

PlantGrowth %>% 
  ggvis(~weight, fill = ~group) %>% 
  group_by(group) %>%
  layer_densities()

Link

你的案子:

set.seed(1000)
library('ggvis')
library('reshape2')

#############################################

df = data.frame(matrix(nrow = 3, ncol = 5))
colnames(df) <- c('names', 'x1', 'x2', 'x3', 'colors')

df['names'] <- c('a','b','c')    
df['x1'] <- runif(3, 100.0, 150.0)
df['x2'] <- runif(3, 100.0, 150.0)
df['x3'] <- runif(3, 100.0, 150.0)
df['colors'] <- c("blue","orange","green")

df <- melt(df)

#############################################

df %>% 
  ggvis( ~value, fill = ~colors ) %>% 
  group_by(names) %>%
  layer_densities()

有关控制ggvis颜色的信息,请参阅this SE page

看起来像这样:

Density Plot