Search code examples
rplotggplot2font-sizedirect-labels

Label size in directlabels geom_dl()


I have really enjoyed the package directlabels for dynamic positioning the lables of a plot. Although still not perfect, it helps reasonably to prevent overlaps between labels of a scatter plots with many points for example - specially for the draft version of the charts, not the final one.

However I can not find anyway to change the label size while using geom_dl() function. Is there anyway?

I have tried to pass size and cex as a normal or aes() argument to the function.


Solution

  • Put cex inside a list. Other formatting features should also be placed in the list. See some of the examples in ?directlabels::geom_dl

    library(ggplot2)
    library(directlabels)
    
    dat = data.frame(x = 1:10, y = 1:10, z = letters[1:10])
    
    ggplot(dat, aes(x, y)) +
        geom_point() +
        geom_dl(aes(label = z), method = list(cex = 2, rot = -45, hjust = -.5))
    

    enter image description here

    EDIT

    The method too is placed in the list:

    ggplot(dat, aes(x, y)) +
        geom_point() +
        geom_dl(aes(label = z), method = list("smart.grid", cex = 2))