Range

df <- data.frame(
 x = 1:100,
 ymin = runif(100, 1, 5),
 ymax = runif(100, 6, 13)
)

g2(df, asp(x, ymin = ymin, ymax = ymax)) %>% 
 fig_range(type = "area", fill = "grey") %>% 
 fig_line(asp(y = ymin, color = "#ffa6a6")) %>% 
 fig_line(asp(y = ymax, color = "#8adb9a"))

Steamgraph

json <- jsonlite::fromJSON(
  "https://gw.alipayobjects.com/os/antvdemo/assets/data/baby-names.json"
)

json %>%
  dplyr::group_by(name, year) %>%
  dplyr::summarise(n = sum(n)) %>%  
  g2(asp(year, n, color = name, shape = "smooth")) %>% 
  fig_area(
    adjust("stack"), adjust("symmetric"),
    fillOpacity = .85
  ) %>% 
  gauge_x_linear(tickInterval = 20) %>% 
  legend_color(position = "right")
#> `summarise()` has grouped output by 'name'. You can override using the `.groups` argument.

Spiral Interval

df <- data.frame(
  x = 1:1000,
  y = rnorm(1000, mean = rep(c(25, 29, 35, 32), each = 250), 5)
)

g2(df, asp(x, y, color = y)) %>% 
  fig_interval(asp(size = .2)) %>% 
  coord_type("helix") %>% 
  gauge_color(c("#ffffff", "#1890FF"))

Polar

df <- data.frame(
  x = c(letters[1:7], letters[1:7]),
  y = round(runif(14, 20, 70)),
  grp = rep(c("A", "Z"), each = 7)
)

g2(df, asp(x, y, color = grp)) %>% 
  fig_interval(adjust("dodge", margin = 1)) %>% 
  coord_type("polar") %>% 
  interplay("active", "region") %>% 
  tooltip(
    showMarkers = FALSE,
    shared = TRUE
  )

Histogram

data(diamonds, package = "ggplot2")

g2(diamonds, asp(depth, color = cut)) %>% 
  fig_histogram(adjust("stack"), bin_width = 1)