您可以尝试使用ggplot2 和facet_wrap() 的分面方法。我们将使用geom_density() 来获取密度。代码如下:
library(ggplot2)
library(dplyr)
数据
#Data
df <- structure(list(v1 = c("t1", "t1", "t1", "t1", "t1", "t2", "t2",
"t2", "t2", "t2"), v2 = c(2.2, 3.2, 2.2, 2.2, 4, 3.8, 2, 2.1,
2, 3)), class = "data.frame", row.names = c(NA, -10L))
代码
#Code for plot
df %>%
ggplot(aes(x=v2,color=v1))+
geom_density()+
facet_wrap(.~v1)
输出
或者如果你只想要一个情节,这里的代码:
#Code for plot 2
df %>%
ggplot(aes(x=v2,color=v1,group=v2))+
geom_density()
输出
或者,也许同时使用geom_histogram() 和geom_density():
#Code for plot 3
df %>%
ggplot(aes(x=v2,color=v1,fill=v1))+
geom_histogram()+
geom_density(alpha=0.5)+
facet_wrap(.~v1)
输出
或者如果你想要一个情节:
#Code for plot 4
df %>%
ggplot(aes(x=v2,color=v1,fill=v1,group=v1))+
geom_histogram()+
geom_density(alpha=0.5)
输出