Calculate boxes around labels, for collision detection.
calc.boxes <- function ### Calculate boxes around labels, for collision detection. (d, debug=FALSE, ... ){ vp <- current.viewport() convert <- function(worh){ conv <- get(paste("convert",worh,sep="")) stri <- get(paste("string",worh,sep="")) with(d,sapply(seq_along(groups),function(i){ if("cex"%in%names(d))vp$gp <- gpar(cex=cex[i]) pushViewport(vp) if(debug)grid.rect() ##highlight current viewport w <- conv(stri(as.character(groups[i])),"cm") popViewport() w })) } ## abs since we have a weird bug with ggplot2 sometimes d$w <- abs(convert("Width")) d$h <- abs(convert("Height")) calc.borders(d) }
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 |