Make a Positioning Method that labels a certain x value.
label.endpoints <- function
### Make a Positioning Method that labels a certain x value.
(FUN,
### FUN(d$x) should return an index of which point to label. for
### example you can use which.min or which.max.
HJUST
### hjust of the labels.
){
stopifnot(is.function(FUN))
stopifnot(length(HJUST)==1)
stopifnot(is.numeric(HJUST))
stopifnot(is.finite(HJUST))
function(d,...)gapply(d,function(d,...){
i <- FUN(d$x)==d$x
if(length(i)==0){
data.frame()
}else{
sub.df <- d[i,]
if(nrow(sub.df) > 1){
y.target <- mean(range(sub.df$y))
sub.df <- sub.df[1,]
sub.df$y <- y.target
}
sub.df$hjust <- HJUST
sub.df$vjust <- 0.5
sub.df
}
})
### A Positioning Method like first.points or last.points.
}
| Please contact Toby Dylan Hocking if you are using directlabels or have ideas to contribute, thanks! |
| Documentation website generated from source code version 2021.2.24 (git revision bb6db07 Mon, 14 Jun 2021 22:38:45 +0530) using inlinedocs. |
| validate |