ggplot2:使用geom_line的x轴因子不起作用

时间:2016-07-29 23:46:13

标签: r ggplot2

我想要一个折线图,其中value被绘制为expt的函数,var中每个级别有一行:

这是我的数据:

lines <- "
expt,var,value
1,none.p,0.183065327746799
2,none.p,0.254234138384241
3,none.p,0.376477571234912
1,male.p,-1.58289835719949
2,male.p,-1.98591548366901
3,male.p,-2.02814824729229
1,neutral.p,-2.01490302054226
2,neutral.p,-1.88178562088577
3,neutral.p,-1.68089687641625
1,female.p,-3.27294304613848
2,female.p,-3.07711187982237
3,female.p,-2.89652562347054
1,both.p,-2.40011011312792
2,both.p,-2.24495598015741
3,both.p,-2.78501124223834"
con <- textConnection(lines)
data <- read.csv(con)
close(con)

expt是一个因素:

data$expt <- factor(data$expt)

当我使用geom_point

时,一切都按预期工作
ggplot(data, aes(expt, value, colour=var)) + geom_point()

但是当我使用geom_line

ggplot(data, aes(expt, value, colour=var)) + geom_line()

我收到以下错误消息

geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?

和一个空图。当expt是数字时,它可以工作,但我更喜欢使用因子,因为它在x轴上给出了正确的标签。这里的问题是什么?我发现它非常违反直觉,它适用于点而不是线条。

1 个答案:

答案 0 :(得分:7)

除了group ...

之外,您还需要使用color
ggplot(data, aes(expt, value, group=var, color=var)) + geom_line()

给我这个输出:

enter image description here