这是我用ggplot绘制多行的示例。它会产生
以下的错误library(ggplot2)
test_df <-data.frame(dates= c('12/12/2011', '12/12/2011', '12/13/2011','12/13/2011'),
cat = c('a','b','a','b'), value = c(5,6,8,9))
ggplot(data= test_df, aes(x=dates, y = value, colour = cat)) + geom_line()
错误:
geom_path: Each group consists of only one observation. Do you
need to adjust the group aesthetic?
我错过了什么?我使用了以下示例:Stackoverflow
答案 0 :(得分:1)
由于dates
中的test_df
是分类变量
str(test_df)
'data.frame': 4 obs. of 3 variables:
$ dates: Factor w/ 2 levels "12/12/2011","12/13/2011": 1 1 2 2
$ cat : Factor w/ 2 levels "a","b": 1 2 1 2
$ value: num 5 6 8 9
通过更改ggplot命令中的dates
类,可以轻松纠正此问题:
ggplot(test_df, aes(x=as.Date(dates, format="%m/%d/%y"), y=value, colour=cat)) +
geom_line()