Draws a hand-drawn beeswarm (dot-strip) plot: at each categorical x, the
points are nudged sideways so they no longer overlap, so the width of the
swarm reads as the local density of y. The sideways offset is computed
deterministically in data space (bin y, then fan each bin symmetrically
around the category centre), so it is fully reproducible and device
independent. Dots are drawn with geom_sketch_point(), so they keep the
usual hand-drawn wobble (cf. ggbeeswarm::geom_beeswarm()).
StatSketchBeeswarmgeom_sketch_beeswarm(
mapping = NULL,
data = NULL,
stat = "sketch_beeswarm",
position = "identity",
...,
binwidth = NULL,
nbins = 30L,
width = NULL,
roughness = NULL,
n_passes = 2L,
seed = NULL,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
A ggplot2 layer object.
Aesthetic mappings created by ggplot2::aes(). Requires x
(usually discrete) and y.
Data to display.
Statistical transformation. Default "sketch_beeswarm".
Position adjustment. Default "identity".
Other arguments passed on to the layer.
Height of the y bins used to group points into rows.
Default NULL chooses nbins even bins across the y range.
Number of y bins when binwidth is NULL. Default 30.
Sideways spacing between adjacent points in a row, in category
units. Default NULL auto-sizes so the widest row stays within the
category. Increase for a wider swarm.
Point roughness. Default NULL (the geom default).
Number of stroke passes. Default 2.
Integer seed. NULL uses getOption("ggsketch.seed", 1L).
Remove missing values silently? Default FALSE.
Logical; include in legend?
Override default aesthetics?
Other sketch-geoms:
GeomSketchAbline,
GeomSketchArrow,
GeomSketchBoxplot,
GeomSketchBracket,
GeomSketchCallout,
GeomSketchChicklet,
GeomSketchCol,
GeomSketchContourFilled,
GeomSketchCurve,
GeomSketchDotplot,
GeomSketchDumbbell,
GeomSketchEdge,
GeomSketchEllipse,
GeomSketchEngrave,
GeomSketchGantt,
GeomSketchHex,
GeomSketchLine,
GeomSketchLinerange,
GeomSketchLollipop,
GeomSketchMarkCircle,
GeomSketchMarkHull,
GeomSketchPath,
GeomSketchPoint,
GeomSketchPolygon,
GeomSketchRect,
GeomSketchRibbon,
GeomSketchRug,
GeomSketchSegment,
GeomSketchSfPolygon,
GeomSketchSlope,
GeomSketchSmooth,
GeomSketchSpoke,
GeomSketchTextRepel,
GeomSketchViolin,
StatSketchCalendar,
StatSketchDensityRidges,
StatSketchFunnel,
StatSketchPie,
StatSketchPyramid,
StatSketchRadar,
StatSketchStream,
StatSketchTreemap,
StatSketchWaffle,
StatSketchWaterfall,
annotate_sketch(),
annotate_sketch_arrow(),
annotate_sketch_callout(),
annotate_sketch_highlight(),
geom_sketch_alluvial(),
geom_sketch_arc_diagram(),
geom_sketch_bin2d(),
geom_sketch_bump(),
geom_sketch_chord(),
geom_sketch_contour(),
geom_sketch_count(),
geom_sketch_dendrogram(),
geom_sketch_density(),
geom_sketch_density2d(),
geom_sketch_ecdf(),
geom_sketch_function(),
geom_sketch_histogram(),
geom_sketch_jitter(),
geom_sketch_marimekko(),
geom_sketch_mosaic(),
geom_sketch_parallel(),
geom_sketch_qq(),
geom_sketch_quantile(),
geom_sketch_rose(),
geom_sketch_sunburst(),
geom_sketch_text(),
sketch_graph()
library(ggplot2)
ggplot(iris, aes(Species, Sepal.Length, colour = Species)) +
geom_sketch_beeswarm(seed = 1L) +
theme_sketch()
Run the code above in your browser using DataLab