Skip to contents

Draws a stacked bar whose segments are separately rounded "chicklets" with a small gap between them – the hand-drawn take on ggchicklet::geom_chicklet() (cf. ggchicklet). It is geom_sketch_col() with rounded corners on, a segment_gap inset between stacked segments, and a solid fill by default. As with ggchicklet, add ggplot2::coord_flip() for the classic horizontal layout.

Usage

GeomSketchChicklet

geom_sketch_chicklet(
  mapping = NULL,
  data = NULL,
  stat = "identity",
  position = "stack",
  ...,
  roughness = NULL,
  bowing = 1,
  n_passes = 2L,
  seed = NULL,
  fill_style = "solid",
  hachure_angle = 45,
  hachure_gap = NULL,
  fill_weight = 0.5,
  width = NULL,
  corner_radius = 0.5,
  segment_gap = 0.02,
  na.rm = FALSE,
  show.legend = NA,
  inherit.aes = TRUE
)

Arguments

mapping

Set of aesthetic mappings created by ggplot2::aes().

data

Data to display.

stat

Statistical transformation. Default "identity" for geom_sketch_col(); "count" for geom_sketch_bar().

position

Position adjustment. Default "stack".

...

Other arguments passed on to the layer.

roughness

Non-negative roughness (0 = straight lines). A mappable aesthetic (default 1): pass a constant, or map it per bar with aes(roughness = ) (rescaled by scale_roughness_continuous()).

bowing

Non-negative bowing multiplier. Default 1.

n_passes

Number of stroke passes. Default 2.

seed

Integer seed. NULL uses getOption("ggsketch.seed", 1L).

fill_style

Fill style; see geom_sketch_col(). Default "solid" for the flat chicklet look; pass "hachure" etc. for a sketchier fill.

hachure_angle

Fill line angle in degrees. Default 45.

hachure_gap

Fill line gap in device inches (NULL = 15% of the bar's smaller drawn side, clamped to [0.04, 0.4] inches).

fill_weight

Stroke weight for fill lines. Default 0.5.

width

Bar width override. NULL uses 90% of resolution.

corner_radius

Corner rounding as a fraction [0, 1] of each half-side. Default 0.5; 0 gives square segments.

segment_gap

Gap between stacked segments, as a fraction of the panel's total drawn height. Default 0.02; 0 stacks the pills flush.

na.rm

Remove missing values silently? Default FALSE.

show.legend

Logical; include in legend?

inherit.aes

Override default aesthetics?

Value

A ggplot2 layer object.

Examples

library(ggplot2)
df <- expand.grid(week = factor(1:4), team = c("A", "B", "C"))
df$pct <- c(4, 3, 2, 5, 3, 4, 5, 2, 3, 3, 3, 4)
ggplot(df, aes(week, pct, fill = team)) +
  geom_sketch_chicklet(seed = 1L) +
  coord_flip() +
  theme_sketch()