Skip to contents

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_fill and hover_nearest. Map them in aes() (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)