Skip to contents

Draws closed polygons with a hand-drawn roughened outline and a hachure / cross-hatch / zigzag / dots / dashed / solid fill. Concave polygons are filled correctly via the Active-Edge-Table scan-line algorithm. Equivalent to ggplot2::geom_polygon() with a sketch aesthetic.

Usage

GeomSketchPolygon

geom_sketch_polygon(
  mapping = NULL,
  data = NULL,
  stat = "identity",
  position = "identity",
  ...,
  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 GeomSketchPolygon (inherits from Geom, ggproto, gg) of length 6.

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.

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)
tri <- data.frame(x = c(0, 1, 0.5), y = c(0, 0, 1))
ggplot(tri, aes(x, y)) +
  geom_sketch_polygon(fill = "skyblue", seed = 1L) +
  theme_sketch()