Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "png/"
)
## ----eval = FALSE-------------------------------------------------------------
# devtools::install_github("m-jahn/WeightedTreemaps")
## -----------------------------------------------------------------------------
library(WeightedTreemaps)
# load example data
data(mtcars)
mtcars$car_name = gsub(" ", "\n", row.names(mtcars))
## ----eval = FALSE-------------------------------------------------------------
# # generate treemap; set seed to obtain same pattern every time
# tm <- voronoiTreemap(
# data = mtcars,
# levels = c("gear", "car_name"),
# cell_size = "wt",
# shape = "rounded_rect",
# seed = 123
# )
## ----fig.width = 5, fig.height = 5, out.width = "50%", fig.align = 'center', eval = FALSE----
# drawTreemap(tm, label_size = 2.5, label_color = "white")
## ----fig.width = 9, fig.height = 9, out.width = "100%", fig.align = 'center', warning = FALSE, eval = FALSE----
# drawTreemap(tm, title = "treemap 1", label_size = 2,
# color_type = "categorical", color_level = 1,
# layout = c(2, 2), position = c(1, 1), legend = TRUE)
#
# drawTreemap(tm, title = "treemap 2", label_size = 2,
# color_type = "categorical", color_level = 2, border_size = 3,
# add = TRUE, layout = c(2, 2), position = c(1, 2), legend = TRUE)
#
# drawTreemap(tm, title = "treemap 3", label_size = 2,
# color_type = "both", color_level = 1,
# add = TRUE, layout = c(2, 2), position = c(2, 1), legend = TRUE)
#
# drawTreemap(tm, title = "treemap 4", label_size = 2,
# color_type = "cell_size", color_level = 2,
# color_palette = heat.colors(10),
# border_color = grey(0.4), label_color = grey(0.4),
# add = TRUE, layout = c(2, 2), position = c(2, 2),
# title_color = "black", legend = TRUE)
## ----fig.width = 12, fig.height = 4, out.width = "100%", fig.align = 'center', eval = FALSE----
# convergence <- c("slow", "intermediate", "fast")
#
# for (i in 1:3) {
# tm <- voronoiTreemap(
# data = mtcars,
# levels = c("gear", "car_name"),
# cell_size = "wt",
# shape = "rounded_rect",
# seed = 123,
# convergence = convergence[i],
# verbose = TRUE
# )
# drawTreemap(
# tm,
# title = paste0("convergence = ", convergence[i]),
# label_size = 2.5,
# label_color = "white",
# layout = c(1, 3),
# position = c(1, i),
# add = ifelse(i == 1, FALSE, TRUE)
# )
# }
## ----message = FALSE, error = FALSE, results = 'hide', eval = FALSE-----------
# # set seed to obtain same df every time
# set.seed(123)
# df <- data.frame(A = sample(10:100, 45))
#
# tm1 <- voronoiTreemap(
# data = df, levels = "A",
# cell_size = "A",
# shape = "rounded_rect",
# positioning = "random"
# )
#
# tm2 <- voronoiTreemap(
# data = df, levels = "A",
# cell_size = "A",
# shape = "rounded_rect",
# positioning = "regular"
# )
#
# tm3 <- voronoiTreemap(
# data = df, levels = "A",
# cell_size = "A",
# shape = "rounded_rect",
# positioning = "clustered"
# )
## ----fig.width = 12, fig.height = 4, out.width = "100%", fig.align = 'center', warning = FALSE, eval = FALSE----
# drawTreemap(tm1, title = "positioning = 'random'", border_size = 3,
# layout = c(1,3), position = c(1, 1))
#
# drawTreemap(tm2, title = "positioning = 'regular'", border_size = 3,
# add = TRUE, layout = c(1,3), position = c(1, 2))
#
# drawTreemap(tm3, title = "positioning = 'clustered'", border_size = 3,
# add = TRUE, layout = c(1,3), position = c(1, 3))
## -----------------------------------------------------------------------------
# different initial shapes, the more squared the better
house_coords <- list(
x = c(0, 10, 10, 5, 0),
y = c(0, 0, 10,15,10))
rect_coords <- list(
x = c(0, 10, 10, 0),
y = c(0, 0, 3, 3))
oct_coord <- list(
x = sin(seq(0, 2, 2/8)*pi) * 1000 + 1000,
y = cos(seq(0, 2, 2/8)*pi) * 1000 + 1000
)
## ----message = FALSE, error = FALSE, results = 'hide', eval = FALSE-----------
# tm1 <- voronoiTreemap(data = df, levels = "A",
# shape = house_coords)
#
# tm2 <- voronoiTreemap(data = df, levels = "A",
# shape = rect_coords)
#
# tm3 <- voronoiTreemap(data = df, levels = "A",
# shape = oct_coord)
## ----fig.width = 12, fig.height = 4, out.width = "100%", fig.align = 'center', warning = FALSE, eval = FALSE----
# drawTreemap(tm1, layout = c(1,3), position = c(1, 1))
# drawTreemap(tm2, add = TRUE, layout = c(1,3), position = c(1, 2))
# drawTreemap(tm3, add = TRUE, layout = c(1,3), position = c(1, 3))
## -----------------------------------------------------------------------------
# generate data frame
set.seed(123)
df <- data.frame(
A = rep(c("a", "b", "c"), each = 15),
B = sample(letters[4:12], 45, replace = TRUE)
)
head(df)
## ----results = 'hide'---------------------------------------------------------
# by default cell (sector) size is encoded by number of members per group
tm <- sunburstTreemap(
data = df,
levels = c("A", "B")
)
## ----fig_sunburst, fig.width = 12, fig.height = 4, out.width = "100%", fig.align = 'center', warning = FALSE----
# draw treemap with default options
drawTreemap(tm,
title = "A sunburst treemap",
legend = TRUE,
border_size = 2,
label_color = grey(0.6),
layout = c(1, 3),
position = c(1, 1)
)
# use custom color palette
drawTreemap(tm,
title = "Use custom palette",
legend = TRUE,
color_palette = rep(c("#81E06E", "#E68CFF", "#76BBF7"), c(3, 4, 5)),
border_size = 2,
label_level = 2,
label_size = 0.7,
label_color = grey(0.5),
layout = c(1, 3),
position = c(1, 2),
add = TRUE
)
# color cells (sectors) based on cell size
drawTreemap(tm,
title = "Coloring encoded by cell size",
color_type = "cell_size",
legend = TRUE,
color_palette = rev(heat.colors(10)),
border_size = 3,
border_color = grey(0.3),
label_level = 1,
label_size = 2,
label_color = grey(0.3),
layout = c(1, 3),
position = c(1, 3),
add = TRUE
)
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.