3

我正在尝试绘制一组数据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)

如何使绘图仅对所有数据使用一条回归线?

注意:除此之外,我很困惑为什么这些行中只有一条显示了置信区间,但这不是我当前问题的重点

4

2 回答 2

8

The equivalent of @Roland's answer, using ggplot instead of qplot

ggplot(dframe1, aes(x = a, y = b)) +
    stat_smooth(method = lm) +
    geom_point(aes(color = category))
于 2013-02-21T18:02:41.807 回答
5

Just modify the aesthetics to exclude the grouping factor:

qplot(a, b, data = dframe1, colour = category) + 
  geom_smooth(aes(colour=NA),method = lm)

enter image description here

于 2013-02-21T18:00:49.120 回答