Я использую ggplot2
для рисования линий. Я хотел бы изменить этикетки. Мои данные имеют две переменные, x1 и x2.
Вопрос в том, как мне присвоить метки в правильном порядке х1 и х2, чтобы одна метка была присвоена х1, а другая — х2, а не наоборот. Например, я хотел бы назначить «AAAA» в качестве метки для x1 и «BBBB» в качестве метки для x2, а НЕ «BBBB» для x1 и «AAAA» для x2. Следующий пример показывает, что я имею в виду:
set.seed(1)
test <- data.table(x = rnorm(29*2),var=c(rep("x1",29),rep("x2",29)),
time=rep(seq(as.Date("1983/12/31"),as.Date("2011/12/31"), "year"),2))
library(ggplot2);library(scales)
ggplot(data=test, aes(x=time, y=x, colour=var)) +
geom_line() +
scale_color_manual(labels = c("AAAA","BBBB"),values=c("blue","red"))
Я почти уверен, что в приведенном выше примере «AAAA» присваивается x1, потому что x1 идет первым в данных. Но я не всегда уверен, какая переменная идет первой. Есть ли лучший способ для более прямого назначения? Или как сохранить контроль?
Спасибо за любые подсказки.
test$var <- as.factor(test$var)
иlevels(test$var) <- c("AAAA","BBBB")
для запуска второго блока. 07.06.2020