| geom_dl {directlabels} | R Documentation |
Geom that will plot direct labels.
geom_dl(mapping = NULL, data = NULL, ..., method = stop("must specify method= argument"),
debug = FALSE, na.rm = TRUE, parse = FALSE, stat = "identity",
position = "identity", inherit.aes = TRUE)
mapping |
aes(label=variable_that_will_be_used_as_groups_in_Positioning_Methods). |
data |
data.frame to start with for direct label computation. |
... |
passed to params. |
method |
Positioning Method for direct label placement, passed to apply.method. |
debug |
Show directlabels debugging output? |
na.rm |
passed to params. |
parse |
parse text labels as plotmath expressions? not yet supported, but I would be open to accepting a PR if somebody wants to implement that. |
stat |
passed to layer. |
position |
passed to layer. |
inherit.aes |
inherit aes from global ggplot definition? |
Toby Dylan Hocking
if(require(ggplot2)){
vad <- as.data.frame.table(VADeaths)
names(vad) <- c("age","demographic","deaths")
## color + legend
leg <- ggplot(vad,aes(deaths,age,colour=demographic))+
geom_line(aes(group=demographic))+
xlim(8,80)
print(direct.label(leg,list("last.points",rot=30)))
## this is what direct.label is doing internally:
labeled <- leg+
geom_dl(aes(label=demographic), method=list("last.points",rot=30))+
scale_colour_discrete(guide="none")
print(labeled)
## no color, just direct labels!
p <- ggplot(vad,aes(deaths,age))+
geom_line(aes(group=demographic))+
geom_dl(aes(label=demographic),method="top.qp")
print(p)
## add color:
p+aes(colour=demographic)+
scale_colour_discrete(guide="none")
## add linetype:
p+aes(linetype=demographic)+
scale_linetype(guide="none")
## no color, just direct labels
library(nlme)
bwbase <- ggplot(BodyWeight,aes(Time,weight,label=Rat))+
geom_line(aes(group=Rat))+
facet_grid(.~Diet)
bw <- bwbase+geom_dl(method="last.qp")
print(bw)
## add some more direct labels
bw2 <- bw+geom_dl(method="first.qp")
print(bw2)
## add color
colored <- bw2+aes(colour=Rat)+
scale_colour_discrete(guide="none")
print(colored)
## or just use direct.label if you use color:
direct.label(bwbase+aes(colour=Rat),dl.combine("first.qp","last.qp"))
## iris data example
giris <- ggplot(iris,aes(Petal.Length,Sepal.Length))+
geom_point(aes(shape=Species))
giris.labeled <- giris+
geom_dl(aes(label=Species),method="smart.grid")+
scale_shape_manual(values=c(setosa=1,virginica=6,versicolor=3),
guide="none")
##png("~/R/directlabels/www/scatter-bw-ggplot2.png",h=503,w=503)
print(giris.labeled)
##dev.off()
}