我有许多相关的时间序列要一起绘制。我正在使用ggplot2
以下是我的数据的示例:
set.seed(0)
require(ggplot2)
id <- LETTERS[1:18]
appDates <- as.Date("2000-01-01", origin = '1970-01-01') + 1:10
appRate <- runif(18, 1,4)
appRank <- rank(-appRate - colSums(anorm))
anorm <- array(rnorm(18*11), c(11,18))
tempDf <-lapply(seq_along(appDates), function(x) data.frame(adate = appDates[x], group = 1:18, id = id, arate = appRate + colSums(anorm[1:(x+1),]), ranked = appRank))
tempDf <- do.call(rbind, tempDf)
ggplot(tempDf, aes(x = adate, y = arate, group = group, color = id)) + geom_line()
这很好,但我希望箭头从 id 标签到相关的时间序列,因为很难挑选出颜色相似的特定路径。
我试过“directlabels”,但我似乎不太明白
p <- ggplot(tempDf, aes(x = adate, y = arate, group = group, color = id)) + geom_line()
require(directlabels)
direct.label(p,list(last.points, hjust=0.8, vjust = 1))
我正在寻找的一个粗略的例子
随着最终排名的增加,我添加了不同的线条粗细以帮助识别。
p <- ggplot(tempDf, aes(x = adate, y = arate, group = group, color = id, size = ranked)) + geom_line()
p + scale_size(range=c(2.6, 0.4), guide=FALSE)+
guides(colour = guide_legend(override.aes = list(size=seq(2.6,0.4, length.out = 18)[appRank])))