У меня есть два временных рядов, как показано ниже:R ggplot цвет маркировки временных рядов на основе класса
y1 <- mvrnorm(50, c(3,1), matrix(c(0.5,0.3,0.3,0.3),2,2))# 2-D bivariate normal
y2 <- mvrnorm(50, c(1,0), matrix(c(2,.1,.1,1),2,2))# another 2-D bivariate normal
y <- rbind(y1,y2) # append the second to the end of the first
я сюжет их с ggplot:
yd <- as.data.frame(y)
g<- ggplot(data=yd) +
geom_line(aes(x=1:nrow(yd), y=yd$V1, colour= "TS1"))+
geom_line(aes(x=1:nrow(yd), y=yd$V2, colour= "TS2"))+
scale_colour_manual(name= "Levels",
values = c("TS1"= "black",
"TS2" ="blue"))+
labs(title="Two time series")+
xlab("Time") +
ylab("Levels") +
theme(legend.justification = c(1, 0), legend.position = c(1, 0))
Я затем запустить классификатор который создает числовой вектор меток класса для каждого момента времени. Ниже я рисую задние и предоставляю вектор метки.
dput(labels)
c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L)
Я хочу, чтобы иметь возможность цветового кода Рисунок 1 относительно класса меток, полученных из приведенного выше этикетки вектор. Чтобы быть ясным, я хочу видеть, в каком состоянии (классе) я нахожусь в любой момент времени, а не просто видеть границы сдвига состояния. Наиболее интуитивный способ сделать это, я думаю, изменить цвет фона (например, от серого до оранжевого), когда состояние переходит к классу 2.
Каков наилучший способ достижения этой цели в ggplot? Я, очевидно, открыт для других решений.
Нарисовать вертикальную линию с помощью 'geom_vline()' во время сдвига? – Andrie
Но если я скажу 3 состояния, я не буду знать, был ли сдвиг из состояния 1 в состояние 3 ИЛИ из состояния 1 в состояние 2. (Я получаю вашу точку, но добавлю это к вопросу) – Rhubarb