Draws a hand-drawn radar chart: each series is a closed polygon over evenly
spaced angular axes, with a roughened web (concentric rings, radial spokes,
and axis labels) drawn behind. Map axis (the variable that becomes each
spoke, usually a factor), value (its magnitude), and group (the series);
map colour/fill to the series too. Values are scaled to a common unit
radius (rmax), and each polygon takes any fill_style (including
"watercolor"). No new dependencies (cf. ggradar, fmsb::radarchart()).
StatSketchRadarGeomSketchRadar
geom_sketch_radar(
mapping = NULL,
data = NULL,
stat = "sketch_radar",
position = "identity",
...,
rmax = NULL,
fill_style = "hachure",
hachure_angle = 45,
hachure_gap = NULL,
fill_weight = 0.5,
n_rings = 4L,
grid_colour = "grey75",
label_size = 3.2,
label_colour = "grey30",
label_family = NULL,
roughness = 1,
bowing = 1,
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
axis and value; usually also map group (and colour/fill) to the
series.
Data to display.
Statistical transformation. Default "sketch_radar".
Position adjustment. Default "identity".
Other arguments passed on to the layer.
Value mapped to the outer ring (NULL = the data maximum).
Polygon fill style; see geom_sketch_polygon(). Default
"hachure".
Fill controls; see
geom_sketch_polygon().
Number of concentric grid rings. Default 4.
Colour of the web (rings + spokes). Default "grey75".
Axis-label text controls.
Sketch parameters.
Remove missing values silently? Default FALSE.
Logical; include in legend?
Override default aesthetics?
Like geom_sketch_pie(), the chart lives in its own square coordinate space,
so pair it with coord_equal() and theme_void() (or theme_sketch()).
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,
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)
skills <- data.frame(
axis = rep(c("Speed", "Power", "Range", "Control", "Stamina"), 2),
value = c(8, 6, 9, 5, 7, 5, 9, 4, 8, 6),
who = rep(c("A", "B"), each = 5)
)
ggplot(skills, aes(axis = axis, value = value, group = who,
colour = who, fill = who)) +
geom_sketch_radar(alpha = 0.3, seed = 1L) +
coord_equal() +
theme_void()
Run the code above in your browser using DataLab