Learn R Programming

ggsketch (version 2.0.0)

geom_sketch_dendrogram: Sketchy dendrogram (hierarchical-clustering tree)

Description

Draws a hand-drawn dendrogram: leaves along one axis and each merge bracketed at its cluster height, with the right-angle elbows roughened into a hand-drawn wobble. Pass either a ready stats::hclust() object or a numeric data frame / matrix (a tree is then computed via stats::hclust(stats::dist(x))). Like geom_sketch_chord() it is a constructor returning a list of ordinary sketch layers (elbow paths + leaf labels), so it composes with +; pair it with theme_void() or theme_sketch(). Pure base stats; no new dependencies (cf. ggdendro).

Usage

geom_sketch_dendrogram(
  data,
  ...,
  orientation = c("up", "down", "left", "right"),
  method = "complete",
  distance = "euclidean",
  line_colour = "grey25",
  line_width = 0.8,
  label = TRUE,
  label_size = 3,
  label_colour = "grey20",
  roughness = 1,
  bowing = 1,
  n_passes = 2L,
  seed = NULL
)

Value

A list of ggplot2 layers.

Arguments

data

An stats::hclust() object, or a numeric data frame / matrix to cluster (non-numeric columns are dropped; row names become leaf labels).

...

Other arguments passed on to the connector layer.

orientation

Tree direction: "up" (default, root at top), "down", "left", or "right".

method, distance

Linkage method and distance metric, used only when data is not already an hclust (passed to stats::hclust() and stats::dist()). Defaults "complete" / "euclidean".

line_colour, line_width

Connector colour and width.

label

Draw leaf labels? Default TRUE.

label_size, label_colour

Label text controls.

roughness, bowing, n_passes, seed

Sketch parameters.

See Also

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, 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_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()

Examples

Run this code
library(ggplot2)
ggplot() +
  geom_sketch_dendrogram(mtcars[1:8, c("mpg", "wt", "hp")], seed = 1L) +
  theme_void()

Run the code above in your browser using DataLab