Package: ggsketch 2.1.0

ggsketch: Grammar-Native Hand-Drawn Geoms for 'ggplot2'
Provides 'ggplot2' geoms that render with a hand-drawn, sketchy aesthetic: roughened strokes, double-pass lines, and hachure, cross-hatch, zigzag, and dots fill patterns. Implemented as pure-R 'grid' grobs wrapped in 'ggproto' geoms, composable with aes(), stats, scales, and faceting. Works on every R graphics device (PDF, PNG, SVG, screen) with no browser dependency. Algorithms are reimplemented from the published 'rough.js' algorithm description (Shihn, 2020, <https://shihn.ca/posts/2020/roughjs-algorithms/>) and Wood and others (2012, <doi:10.1109/TVCG.2012.262>); see the NOTICE file in the package sources for attribution.
Authors:
ggsketch_2.1.0.tar.gz
ggsketch_2.1.0.zip(r-4.7-any)ggsketch_2.1.0.zip(r-4.6-any)ggsketch_2.1.0.zip(r-4.5-any)
ggsketch_2.1.0.tgz(r-4.6-any)ggsketch_2.1.0.tgz(r-4.5-any)
ggsketch_2.1.0.tar.gz(r-4.7-any)ggsketch_2.1.0.tar.gz(r-4.6-any)
ggsketch_2.1.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
ggsketch/json (API)
| # Install 'ggsketch' in R: |
| install.packages('ggsketch', repos = c('https://orijitghosh.r-universe.dev', 'https://cloud.r-project.org')) |
Bug tracker:https://github.com/orijitghosh/ggsketch/issues
Pkgdown/docs site:https://orijitghosh.github.io
Last updated from:d6d06ff212. Checks:9 OK. Indexed: yes.
| Target | Result | Time | Files | Syslog |
|---|---|---|---|---|
| linux-devel | OK | 282 | ||
| source / vignettes | OK | 247 | ||
| linux-release | OK | 225 | ||
| macos-release | OK | 210 | ||
| macos-oldrel | OK | 309 | ||
| windows-devel | OK | 289 | ||
| windows-release | OK | 242 | ||
| windows-oldrel | OK | 314 | ||
| wasm-release | OK | 122 |
Exports:animate_sketchannotate_sketchannotate_sketch_arrowannotate_sketch_calloutannotate_sketch_highlightannotate_sketch_noteannotate_sketch_tapeannotate_sketch_underlinearrowheadboil_gganimatecoord_sketchcoord_sketch_polarcoord_sketch_sfCoordSketchCoordSketchPolarCoordSketchSfcurve_filldraw_key_sketch_mediumdraw_key_sketch_pathdraw_key_sketch_pointdraw_key_sketch_polygonelement_sketch_lineelement_sketch_paperelement_sketch_rectengrave_fillengrave_ladderforce_layoutgeom_sketch_ablinegeom_sketch_alluvialgeom_sketch_arc_diagramgeom_sketch_areageom_sketch_area_interactivegeom_sketch_arrowgeom_sketch_bargeom_sketch_bar_interactivegeom_sketch_beeswarmgeom_sketch_bin_2dgeom_sketch_bin2dgeom_sketch_boxplotgeom_sketch_boxplot_interactivegeom_sketch_bracketgeom_sketch_bumpgeom_sketch_calendargeom_sketch_calloutgeom_sketch_chickletgeom_sketch_chordgeom_sketch_circlegeom_sketch_colgeom_sketch_col_interactivegeom_sketch_contourgeom_sketch_contour_filledgeom_sketch_countgeom_sketch_crossbargeom_sketch_curvegeom_sketch_dendrogramgeom_sketch_densitygeom_sketch_density_2dgeom_sketch_density_2d_filledgeom_sketch_density2dgeom_sketch_density2d_filledgeom_sketch_donutgeom_sketch_dotplotgeom_sketch_dumbbellgeom_sketch_ecdfgeom_sketch_edgegeom_sketch_ellipsegeom_sketch_engravegeom_sketch_errorbargeom_sketch_freqpolygeom_sketch_functiongeom_sketch_funnelgeom_sketch_ganttgeom_sketch_hexgeom_sketch_histogramgeom_sketch_histogram_interactivegeom_sketch_hlinegeom_sketch_jittergeom_sketch_labelgeom_sketch_label_repelgeom_sketch_linegeom_sketch_line_interactivegeom_sketch_linerangegeom_sketch_lollipopgeom_sketch_marimekkogeom_sketch_mark_circlegeom_sketch_mark_ellipsegeom_sketch_mark_hullgeom_sketch_mark_rectgeom_sketch_mosaicgeom_sketch_nodegeom_sketch_notegeom_sketch_parallelgeom_sketch_pathgeom_sketch_path_interactivegeom_sketch_piegeom_sketch_pointgeom_sketch_point_interactivegeom_sketch_pointrangegeom_sketch_polygongeom_sketch_polygon_interactivegeom_sketch_pyramidgeom_sketch_qqgeom_sketch_qq_linegeom_sketch_quantilegeom_sketch_radargeom_sketch_rectgeom_sketch_rect_interactivegeom_sketch_ribbongeom_sketch_ribbon_interactivegeom_sketch_ridgelinegeom_sketch_rosegeom_sketch_ruggeom_sketch_segmentgeom_sketch_segment_interactivegeom_sketch_sfgeom_sketch_sf_interactivegeom_sketch_shadegeom_sketch_slopegeom_sketch_smoothgeom_sketch_spokegeom_sketch_stepgeom_sketch_step_interactivegeom_sketch_streamgraphgeom_sketch_sunburstgeom_sketch_textgeom_sketch_text_interactivegeom_sketch_text_repelgeom_sketch_tilegeom_sketch_tile_interactivegeom_sketch_treemapgeom_sketch_violingeom_sketch_vlinegeom_sketch_wafflegeom_sketch_waterfallGeomSketchAblineGeomSketchAreaGeomSketchAreaInteractiveGeomSketchArrowGeomSketchBoxplotGeomSketchBoxplotInteractiveGeomSketchBracketGeomSketchCalloutGeomSketchChickletGeomSketchCircleGeomSketchColGeomSketchColInteractiveGeomSketchContourFilledGeomSketchCrossbarGeomSketchCurveGeomSketchDotplotGeomSketchDumbbellGeomSketchEdgeGeomSketchEllipseGeomSketchEngraveGeomSketchErrorbarGeomSketchFunnelGeomSketchGanttGeomSketchHexGeomSketchHlineGeomSketchLabelRepelGeomSketchLineGeomSketchLineInteractiveGeomSketchLinerangeGeomSketchLollipopGeomSketchMarkCircleGeomSketchMarkEllipseGeomSketchMarkHullGeomSketchMarkRectGeomSketchNodeGeomSketchNoteGeomSketchPathGeomSketchPathInteractiveGeomSketchPieGeomSketchPointGeomSketchPointInteractiveGeomSketchPointrangeGeomSketchPolygonGeomSketchPolygonInteractiveGeomSketchPyramidGeomSketchRadarGeomSketchRectGeomSketchRectInteractiveGeomSketchRibbonGeomSketchRibbonInteractiveGeomSketchRidgelineGeomSketchRugGeomSketchSegmentGeomSketchSegmentInteractiveGeomSketchSfGeomSketchSfInteractiveGeomSketchSfPolygonGeomSketchShadeGeomSketchSlopeGeomSketchSmoothGeomSketchSpokeGeomSketchStepGeomSketchStepInteractiveGeomSketchTapeGeomSketchTextInteractiveGeomSketchTextRepelGeomSketchTileGeomSketchTileInteractiveGeomSketchTreemapGeomSketchViolinGeomSketchVlineGeomSketchWaterfallggsketch_check_fontsggsketch_savehachure_fillhachure_fill_multileader_pathpaper_grainpaper_primitivespaper_specregister_sketch_fontrepel_layoutrough_arcrough_bezierrough_ellipseroughen_polylinescale_color_sketchscale_color_sketch_cscale_colour_sketchscale_colour_sketch_cscale_engravescale_fill_sketchscale_fill_sketch_cscale_medium_discretescale_pressurescale_pressure_continuousscale_roughnessscale_roughness_continuousscale_tone_continuoussketch_arrow_grobsketch_arrowheadssketch_band_grobsketch_callout_grobsketch_dotplot_grobsketch_ellipse_grobsketch_engrave_grobsketch_fillsketch_fill_multisketch_fontsketch_graphsketch_mediasketch_note_grobsketch_palettesketch_paperssketch_path_grobsketch_polygon_grobsketch_repel_grobsketch_spray_grobsketch_stroke_grobsketch_stylesketch_stylessketch_tape_grobsketch_tremorsketch_wedge_grobspray_scatterStatSketchBeeswarmStatSketchCalendarStatSketchDensityRidgesStatSketchFunnelStatSketchPieStatSketchPyramidStatSketchRadarStatSketchStreamStatSketchTreemapStatSketchWaffleStatSketchWaterfallstroke_profilestroke_ribbontheme_sketchtreemap_layoutwash_bleedwatercolor_washwatercolor_wash_multi
Dependencies:clicpp11farverggplot2gluegtableisobandlabelinglifecycleR6RColorBrewerrlangS7scalesvctrsviridisLitewithr
Readme and manuals
Help Manual
| Help page | Topics |
|---|---|
| Animate a sketch plot by "boiling" its lines | animate_sketch |
| Sketchy annotations | annotate_sketch |
| Add a one-off sketchy arrow annotation | annotate_sketch_arrow |
| Add a one-off sketchy callout annotation | annotate_sketch_callout |
| Highlighter swipes and hand-drawn underlines | annotate_sketch_highlight annotate_sketch_underline |
| Add one-off sticky notes and tape | annotate_sketch_note annotate_sketch_tape GeomSketchTape |
| Build the ideal paths for one arrowhead | arrowhead |
| Boil a gganimate animation (sketch wobble + data transitions) | boil_gganimate |
| A hand-drawn coordinate system | CoordSketch coord_sketch |
| A hand-drawn polar coordinate system | CoordSketchPolar coord_sketch_polar |
| A hand-drawn coordinate system for sf maps | CoordSketchSf coord_sketch_sf |
| Flatten a closed Bezier boundary to a polygon, then fill | curve_fill |
| Hand-drawn theme elements | element_sketch_line element_sketch_rect |
| Paper-ground theme element | element_sketch_paper |
| Fill a region with tonal engraving (line density follows a tone field) | engrave_fill |
| Build a tonal hatch ladder for engraving fills | engrave_ladder |
| Force-directed graph layout (Fruchterman-Reingold) | force_layout |
| Sketchy alluvial / Sankey diagram | geom_sketch_alluvial |
| Sketchy arc diagram | geom_sketch_arc_diagram |
| Sketchy 2-D bin heatmap | geom_sketch_bin2d geom_sketch_bin_2d |
| Sketchy bump (ranking) chart | geom_sketch_bump |
| Sketchy chord diagram | geom_sketch_chord |
| Sketchy contour lines | geom_sketch_contour |
| Sketchy count geom | geom_sketch_count |
| Sketchy dendrogram (hierarchical-clustering tree) | geom_sketch_dendrogram |
| Sketchy density geom | geom_sketch_density |
| Sketchy 2-D density contours | geom_sketch_density2d geom_sketch_density_2d |
| Sketchy empirical cumulative distribution | geom_sketch_ecdf |
| Sketchy function curve | geom_sketch_function |
| Sketchy histogram and frequency polygon | geom_sketch_freqpoly geom_sketch_histogram |
| Sketchy jittered points | geom_sketch_jitter |
| Sketchy Marimekko (variable-width stacked bar) chart | geom_sketch_marimekko |
| Sketchy mosaic plot | geom_sketch_mosaic |
| Sketchy parallel-coordinates plot | geom_sketch_parallel |
| Interactive sketch geoms for ggiraph | GeomSketchAreaInteractive GeomSketchBoxplotInteractive GeomSketchColInteractive GeomSketchLineInteractive GeomSketchPathInteractive GeomSketchPointInteractive GeomSketchPolygonInteractive GeomSketchRectInteractive GeomSketchRibbonInteractive GeomSketchSegmentInteractive GeomSketchSfInteractive GeomSketchStepInteractive GeomSketchTextInteractive GeomSketchTileInteractive geom_sketch_area_interactive geom_sketch_bar_interactive geom_sketch_boxplot_interactive geom_sketch_col_interactive geom_sketch_histogram_interactive geom_sketch_line_interactive geom_sketch_path_interactive geom_sketch_point_interactive geom_sketch_polygon_interactive geom_sketch_rect_interactive geom_sketch_ribbon_interactive geom_sketch_segment_interactive geom_sketch_sf_interactive geom_sketch_step_interactive geom_sketch_text_interactive geom_sketch_tile_interactive |
| Sketchy quantile-quantile plot | geom_sketch_qq geom_sketch_qq_line |
| Sketchy quantile regression lines | geom_sketch_quantile |
| Sketchy coxcomb / Nightingale rose chart | geom_sketch_rose |
| Sketchy sunburst (hierarchy) chart | geom_sketch_sunburst |
| Sketchy text and labels | geom_sketch_label geom_sketch_text |
| Sketchy reference lines | GeomSketchAbline GeomSketchHline GeomSketchVline geom_sketch_abline geom_sketch_hline geom_sketch_vline |
| Sketchy content-aware arrows | GeomSketchArrow geom_sketch_arrow |
| Sketchy boxplot | GeomSketchBoxplot geom_sketch_boxplot |
| Sketchy significance / comparison brackets | GeomSketchBracket geom_sketch_bracket |
| Sketchy callouts (boxed labels with a leader arrow) | GeomSketchCallout geom_sketch_callout |
| Sketchy chicklet chart | GeomSketchChicklet geom_sketch_chicklet |
| Sketchy column / bar geom | GeomSketchCol geom_sketch_bar geom_sketch_col |
| Sketchy filled contour and 2-D density bands | GeomSketchContourFilled geom_sketch_contour_filled geom_sketch_density2d_filled geom_sketch_density_2d_filled |
| Sketchy curved connector | GeomSketchCurve geom_sketch_curve |
| Sketchy dot plot | GeomSketchDotplot geom_sketch_dotplot |
| Sketchy dumbbell chart | GeomSketchDumbbell geom_sketch_dumbbell |
| Sketchy network edges and nodes | GeomSketchEdge GeomSketchNode geom_sketch_edge geom_sketch_node |
| Sketchy circle and ellipse geoms | GeomSketchCircle GeomSketchEllipse geom_sketch_circle geom_sketch_ellipse |
| Sketchy engraving: tonal shading by hatch-line density | GeomSketchEngrave GeomSketchShade geom_sketch_engrave geom_sketch_shade |
| Sketchy Gantt / timeline chart | GeomSketchGantt geom_sketch_gantt |
| Sketchy hexagonal heatmap | GeomSketchHex geom_sketch_hex |
| Sketchy line geom | GeomSketchLine geom_sketch_line |
| Sketchy interval geoms | GeomSketchCrossbar GeomSketchErrorbar GeomSketchLinerange GeomSketchPointrange geom_sketch_crossbar geom_sketch_errorbar geom_sketch_linerange geom_sketch_pointrange |
| Sketchy lollipop chart | GeomSketchLollipop geom_sketch_lollipop |
| Sketchy bounding marks around point groups | GeomSketchMarkCircle GeomSketchMarkEllipse GeomSketchMarkRect geom_sketch_mark_circle geom_sketch_mark_ellipse geom_sketch_mark_rect |
| Sketchy hull marks around point groups | GeomSketchMarkHull geom_sketch_mark_hull |
| Sketchy sticky notes | GeomSketchNote geom_sketch_note |
| Sketchy path geom | GeomSketchPath geom_sketch_path |
| Sketchy point geom | GeomSketchPoint geom_sketch_point |
| Sketchy polygon geom | GeomSketchPolygon geom_sketch_polygon |
| Sketchy rectangle / tile geom | GeomSketchRect GeomSketchTile geom_sketch_rect geom_sketch_tile |
| Sketchy ribbon and area geoms | GeomSketchArea GeomSketchRibbon geom_sketch_area geom_sketch_ribbon |
| Sketchy marginal rug | GeomSketchRug geom_sketch_rug |
| Sketchy segment and step geoms | GeomSketchSegment GeomSketchStep geom_sketch_segment geom_sketch_step |
| Sketchy simple-features (sf) maps | GeomSketchSf GeomSketchSfPolygon geom_sketch_sf |
| Sketchy slope graph | GeomSketchSlope geom_sketch_slope |
| Sketchy smoothed conditional mean | GeomSketchSmooth geom_sketch_smooth |
| Sketchy spoke geom | GeomSketchSpoke geom_sketch_spoke |
| Sketchy repelled text and labels | GeomSketchLabelRepel GeomSketchTextRepel geom_sketch_label_repel geom_sketch_text_repel |
| Sketchy violin plot | GeomSketchViolin geom_sketch_violin |
| Check for optional handwriting fonts | ggsketch_check_fonts |
| Save a sketch plot with a font-aware device | ggsketch_save |
| Fill a polygon with hachure lines using the AET scan-line algorithm | hachure_fill |
| Fill a multi-ring region with hachure lines (hole-aware) | hachure_fill_multi |
| Route a leader line from a box edge to a target | leader_path |
| Wash-feathering grain factor for a paper ground | paper_grain |
| Build the vector primitives for a paper ground | paper_primitives |
| Palette + layout spec for a paper ground | paper_spec |
| Register a handwriting font for reproducible sketch text | register_sketch_font |
| Repel overlapping label boxes away from each other and their anchors | repel_layout |
| Roughen an elliptical arc into one or more sketch stroke paths | rough_arc |
| Roughen a cubic Bezier curve | rough_bezier |
| Roughen an ellipse into one or more sketch stroke paths | rough_ellipse |
| Roughen a polyline (multiple connected segments) | roughen_polyline |
| Discrete scale for the drawing 'medium' aesthetic | scale_medium_discrete |
| Continuous scale for the sketch 'pressure' aesthetic | scale_pressure scale_pressure_continuous |
| Continuous scale for the sketch 'roughness' aesthetic | scale_roughness scale_roughness_continuous |
| Sketch colour and fill scales | scale_color_sketch scale_color_sketch_c scale_colour_sketch scale_colour_sketch_c scale_fill_sketch scale_fill_sketch_c scale_sketch |
| Continuous scale for the engraving 'tone' aesthetic | scale_engrave scale_tone_continuous |
| Create a sketchy arrow grob | sketch_arrow_grob |
| The available arrowhead styles | sketch_arrowheads |
| Create a sketchy filled-band grob (hole-aware region) | sketch_band_grob |
| Create a sketchy callout grob (boxed label + leader arrow) | sketch_callout_grob |
| Create a sketchy dot-plot grob (stacked circular dots) | sketch_dotplot_grob |
| Create a sketchy ellipse / circle grob | sketch_ellipse_grob |
| Create a sketchy engraving grob (tonal cross-hatch by line density) | sketch_engrave_grob |
| Dispatch fill-style to the appropriate Layer-1 fill function | sketch_fill |
| Dispatch fill-style for a multi-ring (hole-aware) region | sketch_fill_multi |
| The handwriting font sketch text is drawn in | sketch_font |
| Build node and edge data for a sketch network | sketch_graph |
| The available drawing media | sketch_media |
| Create a sketchy sticky-note grob | sketch_note_grob |
| The ggsketch qualitative colour palette | sketch_palette |
| The available paper grounds | sketch_papers |
| Create a sketchy path grob | sketch_path_grob |
| Create a sketchy polygon grob with optional hachure fill | sketch_polygon_grob |
| Create a sketchy repelled-label grob | sketch_repel_grob |
| Create an airbrush / spray stroke grob | sketch_spray_grob |
| Create a variable-width sketch stroke grob | sketch_stroke_grob |
| Apply a complete hand-drawn style in one call | sketch_style |
| The available style presets | sketch_styles |
| Create a sketchy tape-strip grob | sketch_tape_grob |
| Drift and fatigue in the drawing hand | sketch_tremor |
| Create a sketchy pie/donut-wedge grob | sketch_wedge_grob |
| Scatter a cloud of dots along a path (airbrush / spray) | spray_scatter |
| Sketchy beeswarm chart | geom_sketch_beeswarm StatSketchBeeswarm |
| Sketchy calendar heatmap | geom_sketch_calendar StatSketchCalendar |
| Sketchy ridgeline (joyplot) | GeomSketchRidgeline geom_sketch_ridgeline StatSketchDensityRidges |
| Sketchy funnel chart | GeomSketchFunnel geom_sketch_funnel StatSketchFunnel |
| Sketchy pie and donut charts | GeomSketchPie geom_sketch_donut geom_sketch_pie StatSketchPie |
| Sketchy population pyramid | GeomSketchPyramid geom_sketch_pyramid StatSketchPyramid |
| Sketchy radar (spider) chart | GeomSketchRadar geom_sketch_radar StatSketchRadar |
| Sketchy streamgraph | geom_sketch_streamgraph StatSketchStream |
| Sketchy treemap | GeomSketchTreemap geom_sketch_treemap StatSketchTreemap |
| Sketchy waffle chart | geom_sketch_waffle StatSketchWaffle |
| Sketchy waterfall chart | GeomSketchWaterfall geom_sketch_waterfall StatSketchWaterfall |
| Width-profile presets for 'stroke_ribbon()' | stroke_profile |
| Build a variable-width stroke as a closed polygon ribbon | stroke_ribbon |
| A hand-drawn theme for ggplot2 | theme_sketch |
| Squarified treemap layout | treemap_layout |
| Pigment bleed between two overlapping wash regions | wash_bleed |
| Build a watercolour wash for a polygon region | watercolor_wash |
| Build a hole-aware watercolour wash for a multi-ring region | watercolor_wash_multi |
