{
  "_id": "6a5a60fd09eb0996dd690c13",
  "Package": "ggsketch",
  "Title": "Grammar-Native Hand-Drawn Geoms for 'ggplot2'",
  "Version": "2.0.0",
  "Authors@R": "person(\"Arijit\", \"Ghosh\", email = \"arijitghosh2009@gmail.com\",\nrole = c(\"aut\", \"cre\"))",
  "Description": "Provides 'ggplot2' geoms that render with a hand-drawn,\nsketchy aesthetic: roughened strokes, double-pass lines, and\nhachure, cross-hatch, zigzag, and dots fill patterns.\nImplemented as pure-R 'grid' grobs wrapped in 'ggproto' geoms,\ncomposable with aes(), stats, scales, and faceting. Works on\nevery R graphics device (PDF, PNG, SVG, screen) with no browser\ndependency. Algorithms are reimplemented from the published\n'rough.js' algorithm description (Shihn, 2020,\n<https://shihn.ca/posts/2020/roughjs-algorithms/>) and Wood and\nothers (2012, <doi:10.1109/TVCG.2012.262>); see the NOTICE file\nin the package sources for attribution.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/orijitghosh/ggsketch,\nhttps://orijitghosh.github.io/ggsketch/",
  "BugReports": "https://github.com/orijitghosh/ggsketch/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "NeedsCompilation": "no",
  "Config/roxygen2/version": "8.0.0",
  "Packaged": {
    "Date": "2026-07-17 17:00:03 UTC",
    "User": "root"
  },
  "Author": "Arijit Ghosh [aut, cre]",
  "Maintainer": "Arijit Ghosh <arijitghosh2009@gmail.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-07-17 14:00:07 UTC",
  "RemoteUrl": "https://github.com/cran/ggsketch",
  "RemoteRef": "HEAD",
  "RemoteSha": "5f9223df868c6ede724d42eb10123a7ba1ee1808",
  "_user": "cran",
  "_type": "src",
  "_file": "ggsketch_2.0.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/19bbc0fbf2aa4725e444993ad3496dfead17438041ce4fb2633b40628e292e1e",
  "_filesize": 4933842,
  "_sha256": "19bbc0fbf2aa4725e444993ad3496dfead17438041ce4fb2633b40628e292e1e",
  "_expires": "2026-10-25T17:05:59.000Z",
  "_created": "2026-07-17T17:00:03.000Z",
  "_published": "2026-07-17T17:06:05.091Z",
  "_jobs": [
    {
      "job": 87944341827,
      "time": 283,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8414094373"
    },
    {
      "job": 87944341789,
      "time": 240,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8414075914"
    },
    {
      "job": 87943373641,
      "time": 270,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8413971570"
    },
    {
      "job": 87944341895,
      "time": 135,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8414031523"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/29597930151",
  "_status": "success",
  "_upstream": "https://github.com/cran/ggsketch",
  "_commit": {
    "id": "5f9223df868c6ede724d42eb10123a7ba1ee1808",
    "author": "Arijit Ghosh <arijitghosh2009@gmail.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 2.0.0\n",
    "time": 1784296807
  },
  "_maintainer": {
    "name": "Arijit Ghosh",
    "email": "arijitghosh2009@gmail.com",
    "login": "orijitghosh",
    "description": "Visiting Postdoctoral Fellow at the Laboratory of Systems Genetics, Systems Biology Center, NHLBI.",
    "uuid": 45988880
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "version": ">= 3.4.0",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.5.0",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "scales",
      "version": ">= 1.2.0",
      "role": "Imports"
    },
    {
      "package": "withr",
      "version": ">= 2.5.0",
      "role": "Imports"
    },
    {
      "package": "gganimate",
      "role": "Suggests"
    },
    {
      "package": "gifski",
      "role": "Suggests"
    },
    {
      "package": "hexbin",
      "role": "Suggests"
    },
    {
      "package": "igraph",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "magick",
      "role": "Suggests"
    },
    {
      "package": "MASS",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "quantreg",
      "role": "Suggests"
    },
    {
      "package": "ragg",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "svglite",
      "role": "Suggests"
    },
    {
      "package": "systemfonts",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "vdiffr",
      "version": ">= 1.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-29",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "2.0.0",
      "date": "2026-07-17"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "orijitghosh",
      "count": 1,
      "uuid": 45988880
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 620,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ggsketch"
  },
  "_devurl": "https://github.com/orijitghosh/ggsketch",
  "_pkgdown": "https://orijitghosh.github.io/ggsketch/",
  "_searchresults": 8,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/ggsketch.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "2.0.0",
      "date": "2026-07-17"
    }
  ],
  "_exports": [
    "animate_sketch",
    "annotate_sketch",
    "annotate_sketch_arrow",
    "annotate_sketch_callout",
    "annotate_sketch_highlight",
    "annotate_sketch_underline",
    "arrowhead",
    "boil_gganimate",
    "coord_sketch",
    "coord_sketch_polar",
    "CoordSketch",
    "CoordSketchPolar",
    "curve_fill",
    "draw_key_sketch_medium",
    "draw_key_sketch_path",
    "draw_key_sketch_point",
    "draw_key_sketch_polygon",
    "element_sketch_line",
    "element_sketch_paper",
    "element_sketch_rect",
    "engrave_fill",
    "engrave_ladder",
    "force_layout",
    "geom_sketch_abline",
    "geom_sketch_alluvial",
    "geom_sketch_arc_diagram",
    "geom_sketch_area",
    "geom_sketch_arrow",
    "geom_sketch_bar",
    "geom_sketch_beeswarm",
    "geom_sketch_bin_2d",
    "geom_sketch_bin2d",
    "geom_sketch_boxplot",
    "geom_sketch_bracket",
    "geom_sketch_bump",
    "geom_sketch_calendar",
    "geom_sketch_callout",
    "geom_sketch_chicklet",
    "geom_sketch_chord",
    "geom_sketch_circle",
    "geom_sketch_col",
    "geom_sketch_contour",
    "geom_sketch_contour_filled",
    "geom_sketch_count",
    "geom_sketch_crossbar",
    "geom_sketch_curve",
    "geom_sketch_dendrogram",
    "geom_sketch_density",
    "geom_sketch_density_2d",
    "geom_sketch_density_2d_filled",
    "geom_sketch_density2d",
    "geom_sketch_density2d_filled",
    "geom_sketch_donut",
    "geom_sketch_dotplot",
    "geom_sketch_dumbbell",
    "geom_sketch_ecdf",
    "geom_sketch_edge",
    "geom_sketch_ellipse",
    "geom_sketch_engrave",
    "geom_sketch_errorbar",
    "geom_sketch_freqpoly",
    "geom_sketch_function",
    "geom_sketch_funnel",
    "geom_sketch_gantt",
    "geom_sketch_hex",
    "geom_sketch_histogram",
    "geom_sketch_hline",
    "geom_sketch_jitter",
    "geom_sketch_label",
    "geom_sketch_label_repel",
    "geom_sketch_line",
    "geom_sketch_linerange",
    "geom_sketch_lollipop",
    "geom_sketch_marimekko",
    "geom_sketch_mark_circle",
    "geom_sketch_mark_ellipse",
    "geom_sketch_mark_hull",
    "geom_sketch_mark_rect",
    "geom_sketch_mosaic",
    "geom_sketch_node",
    "geom_sketch_parallel",
    "geom_sketch_path",
    "geom_sketch_pie",
    "geom_sketch_point",
    "geom_sketch_pointrange",
    "geom_sketch_polygon",
    "geom_sketch_pyramid",
    "geom_sketch_qq",
    "geom_sketch_qq_line",
    "geom_sketch_quantile",
    "geom_sketch_radar",
    "geom_sketch_rect",
    "geom_sketch_ribbon",
    "geom_sketch_ridgeline",
    "geom_sketch_rose",
    "geom_sketch_rug",
    "geom_sketch_segment",
    "geom_sketch_sf",
    "geom_sketch_shade",
    "geom_sketch_slope",
    "geom_sketch_smooth",
    "geom_sketch_spoke",
    "geom_sketch_step",
    "geom_sketch_streamgraph",
    "geom_sketch_sunburst",
    "geom_sketch_text",
    "geom_sketch_text_repel",
    "geom_sketch_tile",
    "geom_sketch_treemap",
    "geom_sketch_violin",
    "geom_sketch_vline",
    "geom_sketch_waffle",
    "geom_sketch_waterfall",
    "GeomSketchAbline",
    "GeomSketchArea",
    "GeomSketchArrow",
    "GeomSketchBoxplot",
    "GeomSketchBracket",
    "GeomSketchCallout",
    "GeomSketchChicklet",
    "GeomSketchCircle",
    "GeomSketchCol",
    "GeomSketchContourFilled",
    "GeomSketchCrossbar",
    "GeomSketchCurve",
    "GeomSketchDotplot",
    "GeomSketchDumbbell",
    "GeomSketchEdge",
    "GeomSketchEllipse",
    "GeomSketchEngrave",
    "GeomSketchErrorbar",
    "GeomSketchFunnel",
    "GeomSketchGantt",
    "GeomSketchHex",
    "GeomSketchHline",
    "GeomSketchLabelRepel",
    "GeomSketchLine",
    "GeomSketchLinerange",
    "GeomSketchLollipop",
    "GeomSketchMarkCircle",
    "GeomSketchMarkEllipse",
    "GeomSketchMarkHull",
    "GeomSketchMarkRect",
    "GeomSketchNode",
    "GeomSketchPath",
    "GeomSketchPie",
    "GeomSketchPoint",
    "GeomSketchPointrange",
    "GeomSketchPolygon",
    "GeomSketchPyramid",
    "GeomSketchRadar",
    "GeomSketchRect",
    "GeomSketchRibbon",
    "GeomSketchRidgeline",
    "GeomSketchRug",
    "GeomSketchSegment",
    "GeomSketchSfPolygon",
    "GeomSketchShade",
    "GeomSketchSlope",
    "GeomSketchSmooth",
    "GeomSketchSpoke",
    "GeomSketchStep",
    "GeomSketchTextRepel",
    "GeomSketchTile",
    "GeomSketchTreemap",
    "GeomSketchViolin",
    "GeomSketchVline",
    "GeomSketchWaterfall",
    "ggsketch_check_fonts",
    "ggsketch_save",
    "hachure_fill",
    "hachure_fill_multi",
    "leader_path",
    "paper_grain",
    "paper_primitives",
    "paper_spec",
    "register_sketch_font",
    "repel_layout",
    "rough_arc",
    "rough_bezier",
    "rough_ellipse",
    "roughen_polyline",
    "scale_color_sketch",
    "scale_color_sketch_c",
    "scale_colour_sketch",
    "scale_colour_sketch_c",
    "scale_engrave",
    "scale_fill_sketch",
    "scale_fill_sketch_c",
    "scale_medium_discrete",
    "scale_pressure",
    "scale_pressure_continuous",
    "scale_roughness",
    "scale_roughness_continuous",
    "scale_tone_continuous",
    "sketch_arrow_grob",
    "sketch_arrowheads",
    "sketch_band_grob",
    "sketch_callout_grob",
    "sketch_dotplot_grob",
    "sketch_ellipse_grob",
    "sketch_engrave_grob",
    "sketch_fill",
    "sketch_fill_multi",
    "sketch_graph",
    "sketch_media",
    "sketch_palette",
    "sketch_papers",
    "sketch_path_grob",
    "sketch_polygon_grob",
    "sketch_repel_grob",
    "sketch_spray_grob",
    "sketch_stroke_grob",
    "sketch_style",
    "sketch_styles",
    "sketch_wedge_grob",
    "spray_scatter",
    "StatSketchBeeswarm",
    "StatSketchCalendar",
    "StatSketchDensityRidges",
    "StatSketchFunnel",
    "StatSketchPie",
    "StatSketchPyramid",
    "StatSketchRadar",
    "StatSketchStream",
    "StatSketchTreemap",
    "StatSketchWaffle",
    "StatSketchWaterfall",
    "stroke_profile",
    "stroke_ribbon",
    "theme_sketch",
    "treemap_layout",
    "wash_bleed",
    "watercolor_wash",
    "watercolor_wash_multi"
  ],
  "_help": [
    {
      "page": "animate_sketch",
      "title": "Animate a sketch plot by \"boiling\" its lines",
      "topics": [
        "animate_sketch"
      ]
    },
    {
      "page": "annotate_sketch",
      "title": "Sketchy annotations",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "annotate_sketch"
      ]
    },
    {
      "page": "annotate_sketch_arrow",
      "title": "Add a one-off sketchy arrow annotation",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "annotate_sketch_arrow"
      ]
    },
    {
      "page": "annotate_sketch_callout",
      "title": "Add a one-off sketchy callout annotation",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "annotate_sketch_callout"
      ]
    },
    {
      "page": "annotate_sketch_highlight",
      "title": "Highlighter swipes and hand-drawn underlines",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "annotate_sketch_highlight",
        "annotate_sketch_underline"
      ]
    },
    {
      "page": "arrowhead",
      "title": "Build the ideal paths for one arrowhead",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "arrowhead"
      ]
    },
    {
      "page": "boil_gganimate",
      "title": "Boil a gganimate animation (sketch wobble + data transitions)",
      "topics": [
        "boil_gganimate"
      ]
    },
    {
      "page": "coord_sketch",
      "title": "A hand-drawn coordinate system",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "CoordSketch",
        "coord_sketch"
      ]
    },
    {
      "page": "coord_sketch_polar",
      "title": "A hand-drawn polar coordinate system",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "CoordSketchPolar",
        "coord_sketch_polar"
      ]
    },
    {
      "page": "curve_fill",
      "title": "Flatten a closed Bezier boundary to a polygon, then fill",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "curve_fill"
      ]
    },
    {
      "page": "element_sketch_line",
      "title": "Hand-drawn theme elements",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "element_sketch_line",
        "element_sketch_rect"
      ]
    },
    {
      "page": "element_sketch_paper",
      "title": "Paper-ground theme element",
      "concept": [
        "sketch-paper"
      ],
      "topics": [
        "element_sketch_paper"
      ]
    },
    {
      "page": "engrave_fill",
      "title": "Fill a region with tonal engraving (line density follows a tone field)",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "engrave_fill"
      ]
    },
    {
      "page": "engrave_ladder",
      "title": "Build a tonal hatch ladder for engraving fills",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "engrave_ladder"
      ]
    },
    {
      "page": "force_layout",
      "title": "Force-directed graph layout (Fruchterman-Reingold)",
      "topics": [
        "force_layout"
      ]
    },
    {
      "page": "geom_sketch_alluvial",
      "title": "Sketchy alluvial / Sankey diagram",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_alluvial"
      ]
    },
    {
      "page": "geom_sketch_arc_diagram",
      "title": "Sketchy arc diagram",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_arc_diagram"
      ]
    },
    {
      "page": "geom_sketch_bin2d",
      "title": "Sketchy 2-D bin heatmap",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_bin2d",
        "geom_sketch_bin_2d"
      ]
    },
    {
      "page": "geom_sketch_bump",
      "title": "Sketchy bump (ranking) chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_bump"
      ]
    },
    {
      "page": "geom_sketch_chord",
      "title": "Sketchy chord diagram",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_chord"
      ]
    },
    {
      "page": "geom_sketch_contour",
      "title": "Sketchy contour lines",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_contour"
      ]
    },
    {
      "page": "geom_sketch_count",
      "title": "Sketchy count geom",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_count"
      ]
    },
    {
      "page": "geom_sketch_dendrogram",
      "title": "Sketchy dendrogram (hierarchical-clustering tree)",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_dendrogram"
      ]
    },
    {
      "page": "geom_sketch_density",
      "title": "Sketchy density geom",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_density"
      ]
    },
    {
      "page": "geom_sketch_density2d",
      "title": "Sketchy 2-D density contours",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_density2d",
        "geom_sketch_density_2d"
      ]
    },
    {
      "page": "geom_sketch_ecdf",
      "title": "Sketchy empirical cumulative distribution",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_ecdf"
      ]
    },
    {
      "page": "geom_sketch_function",
      "title": "Sketchy function curve",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_function"
      ]
    },
    {
      "page": "geom_sketch_histogram",
      "title": "Sketchy histogram and frequency polygon",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_freqpoly",
        "geom_sketch_histogram"
      ]
    },
    {
      "page": "geom_sketch_jitter",
      "title": "Sketchy jittered points",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_jitter"
      ]
    },
    {
      "page": "geom_sketch_marimekko",
      "title": "Sketchy Marimekko (variable-width stacked bar) chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_marimekko"
      ]
    },
    {
      "page": "geom_sketch_mosaic",
      "title": "Sketchy mosaic plot",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_mosaic"
      ]
    },
    {
      "page": "geom_sketch_parallel",
      "title": "Sketchy parallel-coordinates plot",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_parallel"
      ]
    },
    {
      "page": "geom_sketch_qq",
      "title": "Sketchy quantile-quantile plot",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_qq",
        "geom_sketch_qq_line"
      ]
    },
    {
      "page": "geom_sketch_quantile",
      "title": "Sketchy quantile regression lines",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_quantile"
      ]
    },
    {
      "page": "geom_sketch_rose",
      "title": "Sketchy coxcomb / Nightingale rose chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_rose"
      ]
    },
    {
      "page": "geom_sketch_sunburst",
      "title": "Sketchy sunburst (hierarchy) chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_sunburst"
      ]
    },
    {
      "page": "geom_sketch_text",
      "title": "Sketchy text and labels",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_label",
        "geom_sketch_text"
      ]
    },
    {
      "page": "geom_sketch_abline",
      "title": "Sketchy reference lines",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchAbline",
        "GeomSketchHline",
        "GeomSketchVline",
        "geom_sketch_abline",
        "geom_sketch_hline",
        "geom_sketch_vline"
      ]
    },
    {
      "page": "geom_sketch_arrow",
      "title": "Sketchy content-aware arrows",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchArrow",
        "geom_sketch_arrow"
      ]
    },
    {
      "page": "geom_sketch_boxplot",
      "title": "Sketchy boxplot",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchBoxplot",
        "geom_sketch_boxplot"
      ]
    },
    {
      "page": "geom_sketch_bracket",
      "title": "Sketchy significance / comparison brackets",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchBracket",
        "geom_sketch_bracket"
      ]
    },
    {
      "page": "geom_sketch_callout",
      "title": "Sketchy callouts (boxed labels with a leader arrow)",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchCallout",
        "geom_sketch_callout"
      ]
    },
    {
      "page": "geom_sketch_chicklet",
      "title": "Sketchy chicklet chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchChicklet",
        "geom_sketch_chicklet"
      ]
    },
    {
      "page": "geom_sketch_col",
      "title": "Sketchy column / bar geom",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchCol",
        "geom_sketch_bar",
        "geom_sketch_col"
      ]
    },
    {
      "page": "geom_sketch_contour_filled",
      "title": "Sketchy filled contour and 2-D density bands",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchContourFilled",
        "geom_sketch_contour_filled",
        "geom_sketch_density2d_filled",
        "geom_sketch_density_2d_filled"
      ]
    },
    {
      "page": "geom_sketch_curve",
      "title": "Sketchy curved connector",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchCurve",
        "geom_sketch_curve"
      ]
    },
    {
      "page": "geom_sketch_dotplot",
      "title": "Sketchy dot plot",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchDotplot",
        "geom_sketch_dotplot"
      ]
    },
    {
      "page": "geom_sketch_dumbbell",
      "title": "Sketchy dumbbell chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchDumbbell",
        "geom_sketch_dumbbell"
      ]
    },
    {
      "page": "geom_sketch_edge",
      "title": "Sketchy network edges and nodes",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchEdge",
        "GeomSketchNode",
        "geom_sketch_edge",
        "geom_sketch_node"
      ]
    },
    {
      "page": "geom_sketch_circle",
      "title": "Sketchy circle and ellipse geoms",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchCircle",
        "GeomSketchEllipse",
        "geom_sketch_circle",
        "geom_sketch_ellipse"
      ]
    },
    {
      "page": "geom_sketch_engrave",
      "title": "Sketchy engraving: tonal shading by hatch-line density",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchEngrave",
        "GeomSketchShade",
        "geom_sketch_engrave",
        "geom_sketch_shade"
      ]
    },
    {
      "page": "geom_sketch_gantt",
      "title": "Sketchy Gantt / timeline chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchGantt",
        "geom_sketch_gantt"
      ]
    },
    {
      "page": "geom_sketch_hex",
      "title": "Sketchy hexagonal heatmap",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchHex",
        "geom_sketch_hex"
      ]
    },
    {
      "page": "geom_sketch_line",
      "title": "Sketchy line geom",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchLine",
        "geom_sketch_line"
      ]
    },
    {
      "page": "geom_sketch_linerange",
      "title": "Sketchy interval geoms",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchCrossbar",
        "GeomSketchErrorbar",
        "GeomSketchLinerange",
        "GeomSketchPointrange",
        "geom_sketch_crossbar",
        "geom_sketch_errorbar",
        "geom_sketch_linerange",
        "geom_sketch_pointrange"
      ]
    },
    {
      "page": "geom_sketch_lollipop",
      "title": "Sketchy lollipop chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchLollipop",
        "geom_sketch_lollipop"
      ]
    },
    {
      "page": "geom_sketch_mark_circle",
      "title": "Sketchy bounding marks around point groups",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchMarkCircle",
        "GeomSketchMarkEllipse",
        "GeomSketchMarkRect",
        "geom_sketch_mark_circle",
        "geom_sketch_mark_ellipse",
        "geom_sketch_mark_rect"
      ]
    },
    {
      "page": "geom_sketch_mark_hull",
      "title": "Sketchy hull marks around point groups",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchMarkHull",
        "geom_sketch_mark_hull"
      ]
    },
    {
      "page": "geom_sketch_path",
      "title": "Sketchy path geom",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchPath",
        "geom_sketch_path"
      ]
    },
    {
      "page": "geom_sketch_point",
      "title": "Sketchy point geom",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchPoint",
        "geom_sketch_point"
      ]
    },
    {
      "page": "geom_sketch_polygon",
      "title": "Sketchy polygon geom",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchPolygon",
        "geom_sketch_polygon"
      ]
    },
    {
      "page": "geom_sketch_rect",
      "title": "Sketchy rectangle / tile geom",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchRect",
        "GeomSketchTile",
        "geom_sketch_rect",
        "geom_sketch_tile"
      ]
    },
    {
      "page": "geom_sketch_ribbon",
      "title": "Sketchy ribbon and area geoms",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchArea",
        "GeomSketchRibbon",
        "geom_sketch_area",
        "geom_sketch_ribbon"
      ]
    },
    {
      "page": "geom_sketch_rug",
      "title": "Sketchy marginal rug",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchRug",
        "geom_sketch_rug"
      ]
    },
    {
      "page": "geom_sketch_segment",
      "title": "Sketchy segment and step geoms",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchSegment",
        "GeomSketchStep",
        "geom_sketch_segment",
        "geom_sketch_step"
      ]
    },
    {
      "page": "geom_sketch_sf",
      "title": "Sketchy simple-features (sf) maps",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchSfPolygon",
        "geom_sketch_sf"
      ]
    },
    {
      "page": "geom_sketch_slope",
      "title": "Sketchy slope graph",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchSlope",
        "geom_sketch_slope"
      ]
    },
    {
      "page": "geom_sketch_smooth",
      "title": "Sketchy smoothed conditional mean",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchSmooth",
        "geom_sketch_smooth"
      ]
    },
    {
      "page": "geom_sketch_spoke",
      "title": "Sketchy spoke geom",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchSpoke",
        "geom_sketch_spoke"
      ]
    },
    {
      "page": "geom_sketch_text_repel",
      "title": "Sketchy repelled text and labels",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchLabelRepel",
        "GeomSketchTextRepel",
        "geom_sketch_label_repel",
        "geom_sketch_text_repel"
      ]
    },
    {
      "page": "geom_sketch_violin",
      "title": "Sketchy violin plot",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchViolin",
        "geom_sketch_violin"
      ]
    },
    {
      "page": "ggsketch_check_fonts",
      "title": "Check for optional handwriting fonts",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "ggsketch_check_fonts"
      ]
    },
    {
      "page": "ggsketch_save",
      "title": "Save a sketch plot with a font-aware device",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "ggsketch_save"
      ]
    },
    {
      "page": "hachure_fill",
      "title": "Fill a polygon with hachure lines using the AET scan-line algorithm",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "hachure_fill"
      ]
    },
    {
      "page": "hachure_fill_multi",
      "title": "Fill a multi-ring region with hachure lines (hole-aware)",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "hachure_fill_multi"
      ]
    },
    {
      "page": "leader_path",
      "title": "Route a leader line from a box edge to a target",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "leader_path"
      ]
    },
    {
      "page": "paper_grain",
      "title": "Wash-feathering grain factor for a paper ground",
      "concept": [
        "sketch-paper"
      ],
      "topics": [
        "paper_grain"
      ]
    },
    {
      "page": "paper_primitives",
      "title": "Build the vector primitives for a paper ground",
      "concept": [
        "sketch-paper"
      ],
      "topics": [
        "paper_primitives"
      ]
    },
    {
      "page": "paper_spec",
      "title": "Palette + layout spec for a paper ground",
      "concept": [
        "sketch-paper"
      ],
      "topics": [
        "paper_spec"
      ]
    },
    {
      "page": "register_sketch_font",
      "title": "Register a handwriting font for reproducible sketch text",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "register_sketch_font"
      ]
    },
    {
      "page": "repel_layout",
      "title": "Repel overlapping label boxes away from each other and their anchors",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "repel_layout"
      ]
    },
    {
      "page": "rough_arc",
      "title": "Roughen an elliptical arc into one or more sketch stroke paths",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "rough_arc"
      ]
    },
    {
      "page": "rough_bezier",
      "title": "Roughen a cubic Bezier curve",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "rough_bezier"
      ]
    },
    {
      "page": "rough_ellipse",
      "title": "Roughen an ellipse into one or more sketch stroke paths",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "rough_ellipse"
      ]
    },
    {
      "page": "roughen_polyline",
      "title": "Roughen a polyline (multiple connected segments)",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "roughen_polyline"
      ]
    },
    {
      "page": "scale_medium_discrete",
      "title": "Discrete scale for the drawing 'medium' aesthetic",
      "concept": [
        "sketch-media"
      ],
      "topics": [
        "scale_medium_discrete"
      ]
    },
    {
      "page": "scale_pressure_continuous",
      "title": "Continuous scale for the sketch 'pressure' aesthetic",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "scale_pressure",
        "scale_pressure_continuous"
      ]
    },
    {
      "page": "scale_roughness_continuous",
      "title": "Continuous scale for the sketch 'roughness' aesthetic",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "scale_roughness",
        "scale_roughness_continuous"
      ]
    },
    {
      "page": "scale_sketch",
      "title": "Sketch colour and fill scales",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "scale_color_sketch",
        "scale_color_sketch_c",
        "scale_colour_sketch",
        "scale_colour_sketch_c",
        "scale_fill_sketch",
        "scale_fill_sketch_c",
        "scale_sketch"
      ]
    },
    {
      "page": "scale_tone_continuous",
      "title": "Continuous scale for the engraving 'tone' aesthetic",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "scale_engrave",
        "scale_tone_continuous"
      ]
    },
    {
      "page": "sketch_arrow_grob",
      "title": "Create a sketchy arrow grob",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_arrow_grob"
      ]
    },
    {
      "page": "sketch_arrowheads",
      "title": "The available arrowhead styles",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "sketch_arrowheads"
      ]
    },
    {
      "page": "sketch_band_grob",
      "title": "Create a sketchy filled-band grob (hole-aware region)",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_band_grob"
      ]
    },
    {
      "page": "sketch_callout_grob",
      "title": "Create a sketchy callout grob (boxed label + leader arrow)",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_callout_grob"
      ]
    },
    {
      "page": "sketch_dotplot_grob",
      "title": "Create a sketchy dot-plot grob (stacked circular dots)",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_dotplot_grob"
      ]
    },
    {
      "page": "sketch_ellipse_grob",
      "title": "Create a sketchy ellipse / circle grob",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_ellipse_grob"
      ]
    },
    {
      "page": "sketch_engrave_grob",
      "title": "Create a sketchy engraving grob (tonal cross-hatch by line density)",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_engrave_grob"
      ]
    },
    {
      "page": "sketch_fill",
      "title": "Dispatch fill-style to the appropriate Layer-1 fill function",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "sketch_fill"
      ]
    },
    {
      "page": "sketch_fill_multi",
      "title": "Dispatch fill-style for a multi-ring (hole-aware) region",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "sketch_fill_multi"
      ]
    },
    {
      "page": "sketch_graph",
      "title": "Build node and edge data for a sketch network",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "sketch_graph"
      ]
    },
    {
      "page": "sketch_media",
      "title": "The available drawing media",
      "concept": [
        "sketch-media"
      ],
      "topics": [
        "sketch_media"
      ]
    },
    {
      "page": "sketch_palette",
      "title": "The ggsketch qualitative colour palette",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "sketch_palette"
      ]
    },
    {
      "page": "sketch_papers",
      "title": "The available paper grounds",
      "concept": [
        "sketch-paper"
      ],
      "topics": [
        "sketch_papers"
      ]
    },
    {
      "page": "sketch_path_grob",
      "title": "Create a sketchy path grob",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_path_grob"
      ]
    },
    {
      "page": "sketch_polygon_grob",
      "title": "Create a sketchy polygon grob with optional hachure fill",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_polygon_grob"
      ]
    },
    {
      "page": "sketch_repel_grob",
      "title": "Create a sketchy repelled-label grob",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_repel_grob"
      ]
    },
    {
      "page": "sketch_spray_grob",
      "title": "Create an airbrush / spray stroke grob",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_spray_grob"
      ]
    },
    {
      "page": "sketch_stroke_grob",
      "title": "Create a variable-width sketch stroke grob",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_stroke_grob"
      ]
    },
    {
      "page": "sketch_style",
      "title": "Apply a complete hand-drawn style in one call",
      "concept": [
        "sketch-style"
      ],
      "topics": [
        "sketch_style"
      ]
    },
    {
      "page": "sketch_styles",
      "title": "The available style presets",
      "concept": [
        "sketch-style"
      ],
      "topics": [
        "sketch_styles"
      ]
    },
    {
      "page": "sketch_wedge_grob",
      "title": "Create a sketchy pie/donut-wedge grob",
      "concept": [
        "grob-layer"
      ],
      "topics": [
        "sketch_wedge_grob"
      ]
    },
    {
      "page": "spray_scatter",
      "title": "Scatter a cloud of dots along a path (airbrush / spray)",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "spray_scatter"
      ]
    },
    {
      "page": "geom_sketch_beeswarm",
      "title": "Sketchy beeswarm chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_beeswarm",
        "StatSketchBeeswarm"
      ]
    },
    {
      "page": "geom_sketch_calendar",
      "title": "Sketchy calendar heatmap",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_calendar",
        "StatSketchCalendar"
      ]
    },
    {
      "page": "geom_sketch_ridgeline",
      "title": "Sketchy ridgeline (joyplot)",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchRidgeline",
        "geom_sketch_ridgeline",
        "StatSketchDensityRidges"
      ]
    },
    {
      "page": "geom_sketch_funnel",
      "title": "Sketchy funnel chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchFunnel",
        "geom_sketch_funnel",
        "StatSketchFunnel"
      ]
    },
    {
      "page": "geom_sketch_pie",
      "title": "Sketchy pie and donut charts",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchPie",
        "geom_sketch_donut",
        "geom_sketch_pie",
        "StatSketchPie"
      ]
    },
    {
      "page": "geom_sketch_pyramid",
      "title": "Sketchy population pyramid",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchPyramid",
        "geom_sketch_pyramid",
        "StatSketchPyramid"
      ]
    },
    {
      "page": "geom_sketch_radar",
      "title": "Sketchy radar (spider) chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchRadar",
        "geom_sketch_radar",
        "StatSketchRadar"
      ]
    },
    {
      "page": "geom_sketch_streamgraph",
      "title": "Sketchy streamgraph",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_streamgraph",
        "StatSketchStream"
      ]
    },
    {
      "page": "geom_sketch_treemap",
      "title": "Sketchy treemap",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchTreemap",
        "geom_sketch_treemap",
        "StatSketchTreemap"
      ]
    },
    {
      "page": "geom_sketch_waffle",
      "title": "Sketchy waffle chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "geom_sketch_waffle",
        "StatSketchWaffle"
      ]
    },
    {
      "page": "geom_sketch_waterfall",
      "title": "Sketchy waterfall chart",
      "concept": [
        "sketch-geoms"
      ],
      "topics": [
        "GeomSketchWaterfall",
        "geom_sketch_waterfall",
        "StatSketchWaterfall"
      ]
    },
    {
      "page": "stroke_profile",
      "title": "Width-profile presets for 'stroke_ribbon()'",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "stroke_profile"
      ]
    },
    {
      "page": "stroke_ribbon",
      "title": "Build a variable-width stroke as a closed polygon ribbon",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "stroke_ribbon"
      ]
    },
    {
      "page": "theme_sketch",
      "title": "A hand-drawn theme for ggplot2",
      "concept": [
        "sketch-theme"
      ],
      "topics": [
        "theme_sketch"
      ]
    },
    {
      "page": "treemap_layout",
      "title": "Squarified treemap layout",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "treemap_layout"
      ]
    },
    {
      "page": "wash_bleed",
      "title": "Pigment bleed between two overlapping wash regions",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "wash_bleed"
      ]
    },
    {
      "page": "watercolor_wash",
      "title": "Build a watercolour wash for a polygon region",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "watercolor_wash"
      ]
    },
    {
      "page": "watercolor_wash_multi",
      "title": "Build a hole-aware watercolour wash for a multi-ring region",
      "concept": [
        "sketch-core"
      ],
      "topics": [
        "watercolor_wash_multi"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/ggsketch/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/cran/ggsketch/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "ggsketch.Rmd",
      "filename": "ggsketch.html",
      "title": "Getting started with ggsketch",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A first plot",
        "Reproducible wobble",
        "The roughness dial",
        "Fill styles",
        "Composing like any ggplot2 layer",
        "Annotations and a dark theme",
        "Beyond the basics",
        "Where the look comes from"
      ],
      "created": "2026-07-17 14:00:07",
      "modified": "2026-07-17 14:00:07",
      "commits": 1
    }
  ],
  "_score": 2.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "ggsketch",
  "_universes": [
    "cran",
    "orijitghosh"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.0.0",
      "date": "2026-07-17T17:03:11.000Z",
      "distro": "resolute",
      "commit": "5f9223df868c6ede724d42eb10123a7ba1ee1808",
      "fileid": "https://r2.ropensci.org/d2c30239100feddc67a0b0ffc2266e065d9ef1131ee2114f3ec240cfc27e16c0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29597930151"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "2.0.0",
      "date": "2026-07-17T17:03:25.000Z",
      "distro": "resolute",
      "commit": "5f9223df868c6ede724d42eb10123a7ba1ee1808",
      "fileid": "https://r2.ropensci.org/03dcde51ffc02179d4ad3c2f74d45a4f6e696f11a2b8efa50c177323c1d2a5b7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29597930151"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2.0.0",
      "date": "2026-07-17T17:03:06.000Z",
      "commit": "5f9223df868c6ede724d42eb10123a7ba1ee1808",
      "fileid": "https://r2.ropensci.org/57d557dcccbb1211f37dad63bcffdfe926cb552dc12cd944e218fe86c3e50f74",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29597930151"
    }
  ]
}