绘制颜色取决于具有ggplot的类别的时间序列

Fat*_*ize 2 r ggplot2

考虑这个最小的工作示例:

library(ggplot2) 
x <- c(1,2,3,4,5,6)
y <- c(3,2,5,1,3,1)
data <- data.frame(x,y)
pClass <- c(0,1,1,2,2,0)

plottedGraph <- ggplot(data, aes(x = x, y = y, colour = factor(pClass))) + geom_line()
print(plottedGraph)
Run Code Online (Sandbox Code Playgroud)

我有一个时间序列y = f(x)其中x是一个时间步长.每个时间步应该有一个颜色,它取决于时间步的类别,记录在pClass中.

这是它给出的结果:

在此输入图像描述

它对我来说没有任何意义,为什么ggplot将相同颜色的点连接在一起而不是相互跟随的点(geom_line根据文档应该做什么).

如何绘制以下内容:

在此输入图像描述

mto*_*oto 6

你应该group = 1在里面aes()用来告诉ggplot不同的颜色实际上属于同一条线(即组).

ggplot(data, aes(x = x, y = y, colour = factor(pClass), group = 1)) + 
  geom_line()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述