【问题标题】:plot line behind barplot条形图后面的情节线
【发布时间】:2012-11-28 03:55:30
【问题描述】:

我想创建一个条形图,其中条形图绘制在水平线的顶部。

下面的代码完成了这个:

y <- c(1,2,3,5)
barplot(y)
abline(h=mean(y))
barplot(y, add=T)

但是,我担心barplot() 中的add=T 参数如果重复使用会引入打印伪影。我很好奇上述代码是否有替代方案(尽管上述代码可能是最快的方法)。

【问题讨论】:

    标签: r plot


    【解决方案1】:

    你可以在第一次通话中什么都不做:

    y <- c(1,2,3,5)
    barplot(
      rep(NA, length(y)),
      ylim = pmax(range(y), 0),
      axes = FALSE
    )
    abline(h = mean(y))
    barplot(y, add = TRUE)
    

    【讨论】:

    • 我讨厌plot(barplot(..., plot=FALSE)) 不能“正常工作”。调用barplot() 代码两次感觉特别笨重。
    【解决方案2】:

    如果您使用 ggplot2,则不必担心这一点。您的问题归结为几何顺序:

    ggplot(data.frame(x=1:4, y=y), aes(x=x, y=y)) + 
        geom_bar(stat="identity") + 
        geom_hline(yintercept=mean(y), color="red")
    

    比较:

    ggplot(data.frame(x=1:4, y=y), aes(x=x, y=y)) + 
        geom_hline(yintercept=mean(y), color="red") +
        geom_bar(stat="identity")
    

    【讨论】:

    • 谢谢,知道这很有帮助。我应该再看看ggplot2
    猜你喜欢
    • 2021-12-23
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 2016-11-03
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    相关资源
    最近更新 更多