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

tma*_*urg 2 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)
Run Code Online (Sandbox Code Playgroud)

expt 是一个因素:

data$expt <- factor(data$expt)
Run Code Online (Sandbox Code Playgroud)

当我使用时,一切都按预期工作 geom_point

ggplot(data, aes(expt, value, colour=var)) + geom_point()
Run Code Online (Sandbox Code Playgroud)

但是当我用的时候 geom_line

ggplot(data, aes(expt, value, colour=var)) + geom_line()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息

geom_path: Each group consists of only one observation. Do you need to adjust the group aesthetic?
Run Code Online (Sandbox Code Playgroud)

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

ber*_*roe 7

group除了color... 之外你还需要使用

ggplot(data, aes(expt, value, group=var, color=var)) + geom_line()
Run Code Online (Sandbox Code Playgroud)

给我这个输出:

在此输入图像描述