希望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。
感谢您的帮助。
答案 0 :(得分: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)
您的上一个请求过于模糊(即缺少上下文)。