我有一个时间序列,每个点都有一个时间,一个值和一个他所属的组。我正在尝试在x轴上绘制时间,在y轴上绘制值,并根据组显示不同的颜色。
我尝试使用geom_path
和geom_line
,但是它们最终将点链接到组内的点。我发现当我为组使用连续变量时,我有一条普通线;但是,当我使用因子或类别变量时,出现链接问题。
这是我想要的可复制示例:
df = data.frame(time = c(1,2,3,4,5,6,7,8,9,10), value = c(5,4,9,3,8,2,5,8,7,1), group = c(1,2,2,2,1,1,2,2,2,2))
ggplot(df, aes(time, value, color = group)) + geom_line()
这是我拥有的可复制示例:
df = data.frame(time = c(1,2,3,4,5,6,7,8,9,10), value = c(5,4,9,3,8,2,5,8,7,1), group = c("apple","pear","pear","pear","apple","apple","pear","pear","pear","pear"))
ggplot(df, aes(time, value, color = group)) + geom_line()
因此第一个示例运行良好,但是1 /它增加了几行代码来更改图例以具有所需的标签,2 /出于好奇我想知道我是否错过了某些东西。
我可以使用ggplot中的任何选项来实现我期望的行为,或者这是内部约束吗?
答案 0 :(得分:0)
正如Richard Telford和Carles Sans Fuentes所指出的那样,在ggplot美学中添加group = 1
即可完成工作。因此,正常代码应为:
ggplot(df, aes(time, value, color = group, group = 1)) + geom_line()