Versions of the sketch geoms that take ggiraph's interactive
aesthetics, such as tooltip, data_id and onclick: points
(geom_sketch_point()), bars (geom_sketch_col(), geom_sketch_bar(),
geom_sketch_histogram()), rectangles and tiles (geom_sketch_rect(),
geom_sketch_tile()), shapes and areas (geom_sketch_polygon(),
geom_sketch_area(), geom_sketch_ribbon()), lines (geom_sketch_line(),
geom_sketch_path(), geom_sketch_step(), geom_sketch_segment()),
geom_sketch_boxplot(), geom_sketch_text() and maps
(geom_sketch_sf()). Render the plot with ggiraph::girafe() to get an
interactive SVG in which every stroke of a bar, point, line, box, label or
map feature shows its tooltip and highlights together on hover.
Usage
geom_sketch_point_interactive(...)
geom_sketch_col_interactive(...)
geom_sketch_bar_interactive(...)
geom_sketch_polygon_interactive(...)
geom_sketch_sf_interactive(...)
geom_sketch_histogram_interactive(...)
geom_sketch_rect_interactive(...)
geom_sketch_tile_interactive(...)
geom_sketch_area_interactive(...)
geom_sketch_ribbon_interactive(...)
geom_sketch_line_interactive(...)
geom_sketch_path_interactive(...)
geom_sketch_step_interactive(...)
geom_sketch_segment_interactive(...)
geom_sketch_boxplot_interactive(...)
geom_sketch_text_interactive(...)Arguments
- ...
Arguments passed on to the matching sketch geom, plus ggiraph's interactive aesthetics:
tooltip,data_id,onclick,hover_css,selected_css,tooltip_fillandhover_nearest. Map them inaes()(aes(tooltip = name)) or set them as constants (tooltip = "A"). See ggiraph::interactive_parameters.
Value
A layer, as from the matching sketch geom (for
geom_sketch_sf_interactive(), the layer and a default
ggplot2::coord_sf()).
Details
The layers draw as their sketch geoms do. Like any discrete aesthetic, a
discrete tooltip or data_id splits the data into groups, so map one
that matches the groups the plot already has (the fill of a stacked bar,
say). A line, area or box takes the values of its group's first row; a bar,
rectangle, segment, point or label takes its own.
On ggiraph's SVG device each filled shape, each point and each box also
gets an invisible area under its strokes, so the pointer reaches the
tooltip anywhere inside a hatched bar, not only on the lines. Each line gets
an invisible band about an eighth of an inch wide along it, so a thin,
wobbly stroke is easy to hover. ggiraph's hover and selection styles colour
the strokes; set them with ggiraph::opts_hover() and
ggiraph::opts_selection() in girafe(options = ).
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,
GeomSketchNote,
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(),
annotate_sketch_note(),
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()
Examples
library(ggplot2)
df <- data.frame(item = c("pens", "paper", "ink"), sold = c(12, 30, 7))
p <- ggplot(df, aes(item, sold)) +
geom_sketch_col_interactive(
aes(tooltip = paste(item, sold, sep = ": "), data_id = item),
seed = 1L
) +
theme_sketch()
ggiraph::girafe(ggobj = p)
cars <- ggplot(mtcars, aes(wt, mpg)) +
geom_sketch_point_interactive(
aes(tooltip = rownames(mtcars), data_id = rownames(mtcars)),
size = 3, seed = 1L
)
ggiraph::girafe(ggobj = cars)
trend <- ggplot(economics_long, aes(date, value01, colour = variable)) +
geom_sketch_line_interactive(
aes(tooltip = variable, data_id = variable),
seed = 1L
)
ggiraph::girafe(ggobj = trend)
