ggplot2:指定密度图的形状

时间:2014-12-01 05:51:11

标签: r ggplot2

为了提高密度图的可见度,如果以黑白打印,我想添加标记:

foo <- data.frame(
  v2=sample(c(1,2,3),size=10,rep=T),
  v3=as.factor(sample(2,10,rep=T))
)

p <- ggplot(foo, aes(x=foo$v2, colour=foo$v3, shape=foo$v3))
p <- p + geom_line(stat="density")
p

我知道密度曲线是一条连续的线,但在给定的点上放置标记会很好。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

这应该这样做:

p <- ggplot(foo, aes(x=v2))
p <- p + geom_line(aes(linetype=v3,colour=v3),stat="density",size=2)
p

enter image description here

现在差异应该很明显。

答案 1 :(得分:1)

修改@LyzandeR的答案可能你可以通过使用group参数获得类似于你所要求的东西:

p <- ggplot(foo, aes(x = v2, colour = v3, group = v3))
p <- p + 
    geom_line(stat='density', aes(linetype = v3), size = 3) +
    geom_line(stat='density', size = 1) +
    scale_linetype_manual(values=c("dashed", "dotted"))    
p

enter image description here

例如,您可以浏览不同的线型here