首页 文章

在ggplot2中使用facet_wrap

提问于
浏览
0

想让facet_wrap为每个绘图设置不同的参数 . 示例如下:

x = c(43,22,53,21,13,53,23,12,32)
y = c(42,65,23,45,12,22,54,32,12)

df = cbind(x,y)

df = as.data.frame(df)  

meany = mean(y)

p = ggplot(df, aes(x=x,y=y, colour=(y > meany))) + 
      geom_point() +
      geom_hline(yintercept = meany)
p

这样可以正常工作,y的平均值有一条线,点的线条上下都有不同的颜色 .

我有一个更大的数据框,我想对每个因子级别执行此操作,并使用facet_wrap显示所有图 . 我不知道如何在ggplot中获取颜色和yintercept以更改facet_wrap中的每个图形 .

此外,我希望绘图具有更多层,即每个绘图将比较不同模型的MSE .

谢谢您的帮助 .

1 回答

  • 2

    像这样的东西?

    DB <- data.frame(F = factor(rep(LETTERS[1:3], each = 20)),
                     x = rnorm(60, 40, 5), 
                     y = rnorm(60, 40, 5))
    
    library(plyr)
    library(ggplot2)
    
    DB <- ddply(DB, "F", mutate, ind = y > mean(y))
    mns <- ddply(DB, "F", summarise, meany = mean(y))
    
    ggplot(DB, aes(x = x, y = y, color = ind)) +
        geom_point() +
        geom_hline(data = mns, aes(yintercept = meany)) +
        facet_wrap(~ F, nrow = 1)
    

    您的上一个请求过于模糊(即缺少上下文) .

相关问题