Draws a handwriting label inside a roughened rounded box, optionally with a
hand-drawn leader arrow pointing from the box to a target (xend, yend). The
box auto-sizes to the label, and the leader leaves from the box edge nearest
the target. The sketch take on a speech-bubble / callout annotation.
GeomSketchCalloutgeom_sketch_callout(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
...,
roughness = 1,
bowing = 0.6,
n_passes = 2L,
seed = NULL,
padding = 0.06,
corner_radius = 0.3,
arrow_length = NULL,
arrow_angle = 25,
arrow_head = NULL,
leader = "straight",
curvature = 0.3,
family = NULL,
na.rm = FALSE,
show.legend = FALSE,
inherit.aes = TRUE
)
A ggplot2 layer object.
Aesthetic mappings created by ggplot2::aes(). Requires x,
y, and label; map xend/yend to add a leader arrow to a target.
Data with one row per callout.
Statistical transformation. Default "identity".
Position adjustment. Default "identity".
Other arguments passed on to the layer.
Non-negative roughness (0 = clean). Default 1.
Non-negative bowing multiplier. Default 0.6.
Number of stroke passes. Default 2.
Integer seed. NULL uses getOption("ggsketch.seed", 1L).
Box padding around the label, in inches. Default 0.06.
Box corner rounding (fraction of half-side). Default 0.3.
Leader arrowhead length in inches. NULL (default)
adapts it to the leader length.
Half-angle of the leader arrowhead in degrees. Default 25.
Leader head style, one of sketch_arrowheads(). NULL
(default) draws the open V.
Leader routing: "straight" (default), "elbow" (horizontal
then vertical, flowchart style) or "curved" (a bowed Bezier).
Bow size when leader = "curved". Default 0.3.
Font family for the label. Defaults to the same family as
theme_sketch() (getOption("ggsketch.base_family", ""), i.e. the device
default), so the label matches the plot's other text; set
options(ggsketch.base_family = "auto") for a handwriting face, or pass an
explicit family here.
Remove missing values silently? Default FALSE.
Logical; include in legend? Default FALSE.
Inherit aesthetics from the plot? Default TRUE.
For one-off annotations, annotate_sketch_callout() is the easiest entry
point.
Other sketch-geoms:
GeomSketchAbline,
GeomSketchArrow,
GeomSketchBoxplot,
GeomSketchBracket,
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,
StatSketchBeeswarm,
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(mtcars, aes(wt, mpg)) +
geom_sketch_point(seed = 1L) +
annotate_sketch_callout(x = 4, y = 32, label = "outlier?",
xend = 5.25, yend = 18, seed = 2L) +
theme_sketch()
Run the code above in your browser using DataLab