我希望解决在尝试使用direct.label
标记仅包含一个系列的ggplot时遇到的错误。下面是一个示例,说明如果只有一个系列,direct.label
如何失败。
在我的实际数据中,我循环遍历区域并希望在子区域上使用直接标签。但是,在我的情况下, 某些 区域只有一个子区域,导致使用direct.label
时出错。非常感谢任何帮助
library(ggplot2)
library(directlabels)
# sample data from ggplot2 movies data
mry <- do.call(rbind, by(movies, round(movies$rating), function(df) {
nums <- tapply(df$length, df$year, length)
data.frame(rating=round(df$rating[1]), year = as.numeric(names(nums)), number=as.vector(nums))
}))
# use direct labels to label based on rating
p <- ggplot(mry, aes(x=year, y=number, group=rating, color=rating)) + geom_line()
direct.label(p, "last.bumpup")
# subset to only a single rating
mry2 = subset(mry, rating==10)
p2 <- ggplot(mry2, aes(x=year, y=number, group=rating, color=rating)) + geom_line()
p2
# direct labels fails when attempting to label plot with a single series
direct.label(p2, "last.bumpup")
答案 0 :(得分:1)
这确实是一个错误;包维护者已经修复了它。要获得更新版本,
install.packages("directlabels", repos="http://r-forge.r-project.org")
我刚检查过,现在一切正常。很好听!