Skip to contents

Draws a hand-drawn violin (mirrored kernel density) with a roughened outline and a hachure-style fill — the sketch analogue of ggplot2::geom_violin(). Uses ggplot2::stat_ydensity().

Usage

GeomSketchViolin

geom_sketch_violin(
  mapping = NULL,
  data = NULL,
  stat = "ydensity",
  position = "dodge",
  ...,
  trim = TRUE,
  scale = "area",
  roughness = 1,
  bowing = 1,
  n_passes = 2L,
  seed = NULL,
  fill_style = "hachure",
  hachure_angle = 45,
  hachure_gap = NULL,
  fill_weight = 0.5,
  na.rm = FALSE,
  show.legend = NA,
  inherit.aes = TRUE
)

Format

An object of class GeomSketchViolin (inherits from Geom, ggproto, gg) of length 7.

Arguments

mapping

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

data

Data to display.

stat

Statistical transformation. Default "identity".

position

Position adjustment. Default "identity".

...

Other arguments passed on to the layer.

trim, scale

Passed to ggplot2::stat_ydensity(); further density arguments (e.g. bw, adjust, kernel) pass through ....

roughness

Non-negative roughness (0 = straight). Default 1.

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

One of "hachure", "cross_hatch", "zigzag", "zigzag_line", "scribble", "dots", "dashed", or "solid". Default "hachure".

hachure_angle

Fill line angle in degrees. Default 45.

hachure_gap

Fill line gap in npc units (NULL = 7% of diagonal).

fill_weight

Stroke weight for fill lines. Default 0.5.

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)
ggplot(mpg, aes(class, hwy)) +
  geom_sketch_violin(fill = "#A3D9A5", seed = 1L) +
  theme_sketch()