我想知道如何将每一行的信息添加到图中,例如,红色的虚线是指90%的CI,男性是绿色的是双线,黑色的是女性的90%CI,黑色的是90%的CI,对所有的人群来说是90%的CI。
ggplot(mtcars, aes(mpg, disp)) +
geom_point(aes(colour=factor(vs),
fill = factor(vs)), shape=21, size = 4) +
scale_fill_manual(values=c("blue", "pink")) +
scale_colour_manual(values=c("black", "black"))+
geom_hline(yintercept=200, linetype="dashed", color = "darkred")+
geom_hline(yintercept=250, linetype="dashed", color = "darkred")+
geom_hline(yintercept=210, linetype="twodash", color = "green")+
geom_hline(yintercept=215, linetype="twodash", color = "green")+
geom_hline(yintercept=279, linetype="longdash", color = "black")+
geom_hline(yintercept=280, linetype="longdash", color = "black")
发布于 2017-12-06 17:50:23
阿克斯曼的建议很贴切。使用所需的data.frame和行分组的因素构建一个yintercept
。对geom_hline
的单次调用将生成所需的aes
,生成情节和有意义的图例。
library(ggplot2)
lt <- data.frame(yint = c(200, 250, 210, 215, 279, 280),
grp = factor(c(1, 1, 2, 2, 3, 3),
levels = 1:3,
labels = c("Group 1", "Group 2", "Group 3")))
ggplot(mtcars, aes(mpg, disp)) +
geom_point(aes(colour=factor(vs),
fill = factor(vs)), shape=21, size = 4) +
scale_fill_manual(values=c("blue", "pink")) +
scale_colour_manual(values=c("black", "black"))+
geom_hline(data = lt,
mapping = aes(yintercept = yint, linetype = grp))
https://stackoverflow.com/questions/47679997
复制相似问题