Facet wrap for ApexCharts

ax_facet_wrap(
  ax,
  facets,
  nrow = NULL,
  ncol = NULL,
  scales = c("fixed", "free", "free_y", "free_x"),
  labeller = label_value,
  chart_height = "300px"
)

ax_facet_grid(
  ax,
  rows = NULL,
  cols = NULL,
  scales = c("fixed", "free", "free_y", "free_x"),
  labeller = label_value,
  chart_height = "300px"
)

Arguments

ax

An apexcharts htmlwidget object.

facets

Variable(s) to use for facetting, wrapped in vars(...).

nrow, ncol

Number of row and column in output matrix.

scales

Should scales be fixed ("fixed", the default), free ("free"), or free in one dimension ("free_x", "free_y")?

labeller

A function with one argument containing for each facet the value of the faceting variable.

chart_height

Individual chart height.

rows, cols

A set of variables or expressions quoted by vars() and defining faceting groups on the rows or columns dimension.

Value

An apexcharts htmlwidget object.

Examples

### Wrap -------- library(apexcharter) # Scatter ---- data("mpg", package = "ggplot2") # Create facets apex(mpg, aes(displ, cty), type = "scatter") %>% ax_facet_wrap(vars(drv)) # Change number of columns apex(mpg, aes(displ, cty), type = "scatter") %>% ax_facet_wrap(vars(drv), ncol = 2) # Free axis apex(mpg, aes(displ, cty), type = "scatter") %>% ax_facet_wrap(vars(drv), ncol = 2, scales = "free") # labels apex(mpg, aes(displ, cty), type = "scatter") %>% ax_facet_wrap( vars(drv), ncol = 2, labeller = function(x) { switch( x, "f" = "front-wheel drive", "r" = "rear wheel drive", "4" = "4wd" ) } ) # Title and subtitle are treated as global apex(mpg, aes(displ, cty), type = "scatter") %>% ax_labs( title = "Facet wrap example", subtitle = "mpg data from ggplot2" ) %>% ax_facet_wrap(vars(drv), ncol = 2) # Multiple variables apex(mpg, aes(displ, cty), type = "scatter") %>% ax_facet_wrap(vars(year, drv)) apex(mpg, aes(displ, cty), type = "scatter") %>% ax_facet_wrap(vars(year, drv), ncol = 2, nrow = 3) apex(mpg, aes(displ, cty), type = "scatter") %>% ax_chart(toolbar = list(show = FALSE)) %>% ax_facet_wrap( vars(year, drv), labeller = function(x) { paste(x, collapse = " / ") } ) # Lines ---- data("unhcr_ts") refugees <- unhcr_ts %>% subset(population_type == "Refugees (incl. refugee-like situations)") %>% transform(date = as.Date(paste0(year, "-01-01"))) apex(refugees, aes(date, n), type = "line") %>% ax_yaxis(tickAmount = 5) %>% ax_facet_wrap(vars(continent_origin)) # Free y-axis and synchronize apex(refugees, aes(date, n), type = "line", synchronize = "my-id") %>% ax_yaxis(tickAmount = 5) %>% ax_xaxis(tooltip = list(enabled = FALSE)) %>% ax_tooltip(x = list(format = "yyyy")) %>% ax_facet_wrap(vars(continent_origin), scales = "free_y") # Bars ---- data("unhcr_ts") refugees <- unhcr_ts %>% subset(year == 2017) apex(refugees, aes(continent_origin, n), type = "column") %>% ax_yaxis( labels = list( formatter = format_num("~s") ), tickAmount = 5 ) %>% ax_facet_wrap(vars(population_type), ncol = 2) ### Grid -------- library(apexcharter) # Scatter ---- data("mpg", package = "ggplot2") # Only rows apex(mpg, aes(displ, cty), type = "scatter") %>% ax_facet_grid(rows = vars(drv), chart_height = "200px") # Only cols apex(mpg, aes(displ, cty), type = "scatter") %>% ax_facet_grid(cols = vars(year)) # Rows and Cols apex(mpg, aes(displ, cty), type = "scatter") %>% ax_facet_grid(rows = vars(drv), cols = vars(year)) apex(mpg, aes(displ, cty), type = "scatter") %>% ax_chart(toolbar = list(show = FALSE)) %>% ax_facet_grid(vars(drv), vars(cyl)) # Labels apex(mpg, aes(displ, cty), type = "scatter") %>% ax_facet_grid( vars(drv), labeller = function(x) { switch( x, "f" = "front-wheel drive", "r" = "rear wheel drive", "4" = "4wd" ) } ) # Title and subtitle are treated as global apex(mpg, aes(displ, cty), type = "scatter") %>% ax_labs( title = "Facet grid example", subtitle = "mpg data from ggplot2" ) %>% ax_facet_grid(rows = vars(drv), cols = vars(year))