Skip to contents

Draws a hand-drawn convex hull around each group of points - the sketch analogue of ggforce::geom_mark_hull(), for circling or grouping clusters. Group the points with an aesthetic such as group, colour, or fill; each group gets its own hull. With fill mapped the hull is shaded (using fill_style); otherwise it is outline-only.

Usage

GeomSketchMarkHull

geom_sketch_mark_hull(
  mapping = NULL,
  data = NULL,
  stat = "identity",
  position = "identity",
  ...,
  expand = 0.05,
  roughness = 1,
  bowing = 1,
  n_passes = 2L,
  seed = NULL,
  fill_style = "hachure",
  hachure_angle = 45,
  hachure_gap = 0.07,
  fill_weight = 0.5,
  na.rm = FALSE,
  show.legend = NA,
  inherit.aes = TRUE
)

Arguments

mapping

Aesthetic mappings created by ggplot2::aes(). Requires x and y; map group/colour/fill to separate the clusters.

data

Data to display.

stat

Statistical transformation. Default "identity".

position

Position adjustment. Default "identity".

...

Other arguments passed on to the layer.

expand

Fractional outward inflation of the hull from its centroid, so the mark sits around the points rather than through them. Default 0.05.

roughness

Non-negative roughness (0 = clean). 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

Fill style when fill is mapped: "hachure", "cross_hatch", "zigzag", "scribble", "dots", "dashed", "stipple", "pencil_shade", or "solid". Default "hachure".

hachure_angle

Fill line angle in degrees. Default 45.

hachure_gap

Fill line gap (npc fraction). Default 0.07.

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(iris, aes(Sepal.Length, Sepal.Width, colour = Species)) +
  geom_sketch_mark_hull(aes(fill = Species), expand = 0.08, seed = 1L) +
  geom_sketch_point(seed = 2L) +
  theme_sketch()