Nothing
library(testthat)
library(ggplot2)
test_that("substitute not required", {
(count.df <- data.frame(people=1:20, Role=rep(c("aut","ctb"),each=10), release=1:10))
gg <- ggplot(count.df, aes(
release, people, color=Role))+
geom_line(linewidth=1)+
geom_point(shape=21, fill="white")
gg
pp <- function(num)sprintf("%d %s", num, ifelse(num==1, "person", "people"))
space.cm <- 0.2 # space between polygon point and data point.
##substitute
poly.method <- function(position, direction)substitute(list(
directlabels::dl.trans(
cex=0.7, # text size of direct labels.
y=y+YSPACE),
directlabels::polygon.method(POSITION, offset.cm=0.5)),
list(YSPACE=direction*space.cm, POSITION=position))
##object 'direction' not found
poly.method <- function(position, direction)list(
directlabels::dl.trans(
cex=0.7, # text size of direct labels.
y=y+direction*space.cm),
directlabels::polygon.method(position, offset.cm=0.5))
##extra direction column
poly.method <- function(position, direction)list(
direction=direction,
directlabels::dl.trans(
cex=0.7, # text size of direct labels.
y=y+direction*space.cm),
directlabels::polygon.method(position, offset.cm=0.5))
##anonymous function
poly.method <- function(position, direction)list(
cex=0.7, # text size of direct labels.
function(d, ...)transform(d,y + direction*space.cm),
directlabels::polygon.method(position, offset.cm=0.5))
##new dl.add
poly.method <- function(position, direction)list(
cex=0.7, # text size of direct labels.
dl.add(y=direction*space.cm),
directlabels::polygon.method(position, offset.cm=0.5))
dl <- directlabels::direct.label(
gg, list(dl.add(x=space.cm), "right.polygons"))+
scale_y_continuous(limits=c(-5, 25))+
directlabels::geom_dl(aes(
label=sprintf("%s\n%s", release, pp(people))),
data=subset(count.df, Role=="ctb"),
method=poly.method("top", 1))+
directlabels::geom_dl(aes(
label=sprintf("%s\n%s", pp(people), release)),
data=subset(count.df, Role=="aut"),
method=poly.method("bottom", -1))
res <- print(dl)
expect_is(res, "ggplot")
})
test_that("apply method does not replace label", {
x <- 1:10
y <- 1:20
count.df <- data.frame(y, colour=rep(c("red","blue"),each=10), x, groups=x, label.group=x, label=y)
exp.label.list <- list(
top.points=11:20,
bottom.points=1:10)
comp.label.list <- list()
for(mname in names(exp.label.list)){
lab_df <- directlabels::gapply(count.df, mname)
comp.label.list[[mname]] <- data.frame(
lab_df[order(lab_df$x),],
expected=exp.label.list[[mname]])
}
comp.label <- do.call(rbind, comp.label.list)
with(comp.label, expect_identical(label, expected))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.