R - 如何使用 ggvis 绘制多重密度图
R - How to Plot Multiple Density Plots With ggvis
如何在同一组轴上绘制多个密度图?我了解如何一起绘制多个折线图和散点图,但是让密度图共享一个公共 x 轴的问题让我很困惑。我的数据目前是这样设置的:
name x1 x2 x3
a 123 123 123
b 123 123 123
c 123 123 123
感谢您的帮助!
编辑:这里有一些我遗漏的细节,可能有助于使我的问题更清楚。
我有一个数据框 attr_gains
,它看起来像上面的示例,其变量名称是 Str
、Agi
和 Int
。到目前为止,我已经能够使用以下代码单独获得 Str
变量的密度图:
attr_gains %>%
ggvis(x=~Str)%>%
layer_densities(fill :="red", stroke := "red")
我想做的是再叠加两个密度图,一个用于 Agi
和 Int
,这样我在同一组轴上就有了三个密度图。
直接来自文档:
PlantGrowth %>%
ggvis(~weight, fill = ~group) %>%
group_by(group) %>%
layer_densities()
您的案例:
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。
看起来像这样:
如何在同一组轴上绘制多个密度图?我了解如何一起绘制多个折线图和散点图,但是让密度图共享一个公共 x 轴的问题让我很困惑。我的数据目前是这样设置的:
name x1 x2 x3
a 123 123 123
b 123 123 123
c 123 123 123
感谢您的帮助!
编辑:这里有一些我遗漏的细节,可能有助于使我的问题更清楚。
我有一个数据框 attr_gains
,它看起来像上面的示例,其变量名称是 Str
、Agi
和 Int
。到目前为止,我已经能够使用以下代码单独获得 Str
变量的密度图:
attr_gains %>%
ggvis(x=~Str)%>%
layer_densities(fill :="red", stroke := "red")
我想做的是再叠加两个密度图,一个用于 Agi
和 Int
,这样我在同一组轴上就有了三个密度图。
直接来自文档:
PlantGrowth %>%
ggvis(~weight, fill = ~group) %>%
group_by(group) %>%
layer_densities()
您的案例:
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。
看起来像这样: