Я хочу линейный график, где value
строится как функция expt
с одной линии на уровне var
:ggplot2: Фактор оси х с geom_line не работает
Вот мои данные:
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. В чем проблема? Я считаю, что это очень противоречиво, что это работает с точками, но не с линиями.
Спасибо. Теперь я понимаю, почему это правильное решение, но я не понимаю, почему он работает, когда expt является числовым. Похоже, этого не должно быть. Также сообщение об ошибке, вероятно, неверно. – tmalsburg
@tmalsburg некоторые объяснения здесь: [plotting-lines-and-the-group-aesthetic-in-ggplot2] (http://stackoverflow.com/questions/10357768/plotting-lines-and-the-group-aesthetic-in -ggplot2) –