我正在尝试使用ggplot2
绘制一组数据。数据分为两类。我想用一条线性回归线将它们绘制在一起。但是,我想让两组中的每一组都以不同的颜色绘制。这是我得到的:
以下是我如何得到它:
library(ggplot2)
dframe1 <- structure(list(a = 1:6, b = c(5, 7, 9, 10.5, 11.7, 17), category = structure(c(1L,
1L, 1L, 2L, 2L, 2L), .Label = c("a", "b"), class = "factor")), .Names = c("a",
"b", "category"), class = "data.frame", row.names = c(NA, -6L
))
qplot(a, b, data = dframe1, colour = category) + geom_smooth(method = lm)
如何使绘图仅对所有数据使用一条回归线?
注意:除此之外,我很困惑为什么这些行中只有一行显示了置信区间,但这不是我当前问题的重点。
答案 0 :(得分:8)
相当于@ Roland的答案,使用ggplot
代替qplot
ggplot(dframe1, aes(x = a, y = b)) +
stat_smooth(method = lm) +
geom_point(aes(color = category))
答案 1 :(得分:5)
只需修改美学以排除分组因素:
qplot(a, b, data = dframe1, colour = category) +
geom_smooth(aes(colour=NA),method = lm)