【问题标题】:ggplot2: specify shape for density plotggplot2:指定密度图的形状
【发布时间】:2014-12-01 05:51:10
【问题描述】:

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

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

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

【问题讨论】:

  • 你想在哪里添加标记?
  • @jazurro:要么告诉N 等间距标记,要么提供一个带有x 坐标的向量。
  • 谢谢你。我可以再澄清一件事吗?说标记,你的意思是要在图形中添加点吗?
  • @jazurro:我想要有圆圈、方框就行。在 ggplot2 中,它使用 shape 关键字设置。我实际上将它包含在我上面的代码中,但当然 int 这样它就没有效果了。

标签: r ggplot2


【解决方案1】:

稍微修改一下@LyzanderR 的答案,也许您可​​以通过使用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

例如,您可以探索不同的线型here

【讨论】:

    【解决方案2】:

    然后应该这样做:

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

    现在区别应该很明显了。

    【讨论】:

    • @beginneR 谢谢。我只是复制粘贴了 OP 发布的代码。谢谢指正。
    • 谢谢,但这个解决方案并不能解决我的问题:为了方便区分黑白线条,我需要为不同的线条使用不同的标记。
    猜你喜欢
    • 1970-01-01
    • 2014-11-19
    • 2012-11-07
    • 2016-07-15
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多