{
  "_id": "6acbb42efe5cc25786e929a2",
  "Package": "ggformula",
  "Title": "Formula Interface to the Grammar of Graphics",
  "Description": "Provides a formula interface to 'ggplot2' graphics.",
  "Type": "Package",
  "Version": "2.0.0",
  "Authors@R": "c(\nperson(\"Daniel\", \"Kaplan\", email = \"kaplan@macalester.edu\", role = c(\"aut\")),\nperson(\"Randall\", \"Pruim\", email = \"rpruim@gmail.com\", role = c(\"aut\",\"cre\"))\n)",
  "License": "MIT + file LICENSE",
  "LazyData": "TRUE",
  "LazyLoad": "TRUE",
  "VignetteBuilder": "quarto",
  "Roxygen": "list(markdown = TRUE)",
  "Encoding": "UTF-8",
  "URL": "https://github.com/ProjectMOSAIC/ggformula",
  "BugReports": "https://github.com/ProjectMOSAIC/ggformula/issues",
  "Collate": "'MIpop-doc.R' 'gf_aux.R' 'gf_dist.R' 'layer_factory.R'\n'gf_function2d.R' 'gf_functions.R' 'gf_plot.R' 'ggridges.R'\n'newplots.R' 'ggiraph.R' 'ggiraph-themes.R'\n'ggiraph-documentation-with-examples.R' 'reexports.R'\n'scales.R' 'utils.R' 'relabel.R' 'vdiffr.R'\n'ggstance-deprecated.R' 'ggformula-package.R' 'zzz.R'",
  "Config/roxygen2/version": "8.0.0",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "libcairo2-dev cmake libfontconfig1-dev\nlibfreetype6-dev make libicu-dev libpng-dev libuv1-dev\nlibx11-dev zlib1g-dev",
  "Repository": "https://projectmosaic.r-universe.dev",
  "Date/Publication": "2026-09-10 19:49:33 UTC",
  "RemoteUrl": "https://github.com/projectmosaic/ggformula",
  "RemoteRef": "HEAD",
  "RemoteSha": "d36b52f9ca1aed5a9c2293e015288a2e709dcc71",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-11 15:52:04 UTC",
    "User": "root"
  },
  "Author": "Daniel Kaplan [aut],\nRandall Pruim [aut, cre]",
  "Maintainer": "Randall Pruim <rpruim@gmail.com>",
  "_user": "projectmosaic",
  "_type": "src",
  "_file": "ggformula_2.0.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/97340f0f446ef253ab42c17e42f915f8005cd4fb7b4bbf9b2e435cb75f5f1f63",
  "_filesize": 5786483,
  "_sha256": "97340f0f446ef253ab42c17e42f915f8005cd4fb7b4bbf9b2e435cb75f5f1f63",
  "_expires": "2027-01-19T16:07:08.000Z",
  "_created": "2026-10-11T15:52:04.000Z",
  "_published": "2026-10-11T16:07:10.647Z",
  "_buildurl": "https://github.com/r-universe/projectmosaic/actions/runs/38152802587",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 114510491526,
      "time": 268,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11706869279"
    },
    {
      "job": 114510491509,
      "time": 242,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11706988979"
    },
    {
      "job": 114510491531,
      "time": 230,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11707672245"
    },
    {
      "job": 114510491469,
      "time": 468,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11707567064"
    },
    {
      "job": 114509612514,
      "time": 258,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11707721121"
    },
    {
      "job": 114510491437,
      "time": 135,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11707043653"
    },
    {
      "job": 114510491473,
      "time": 267,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11707632490"
    },
    {
      "job": 114510491481,
      "time": 187,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11707511789"
    },
    {
      "job": 114510491457,
      "time": 271,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11707681505"
    }
  ],
  "_upstream": "https://github.com/projectmosaic/ggformula",
  "_commit": {
    "id": "d36b52f9ca1aed5a9c2293e015288a2e709dcc71",
    "author": "Randall Pruim <rpruim@gmail.com>",
    "committer": "Randall Pruim <rpruim@gmail.com>",
    "message": "Keep AGENTS.md out of the published pkgdown site\n\npkgdown::build_home() auto-publishes every top-level *.md file except\na small hardcoded exemption list (README.md, LICENSE.md, NEWS.md, a\nfew CI files) -- there's no _pkgdown.yml option to add to it, so\nAGENTS.md was getting built into docs/AGENTS.md and docs/AGENTS.html\nand listed in sitemap.xml. It needs to stay at the repo root (that's\nthe convention agents look for), so pkgdown/remove-internal-pages.R\nremoves the generated page and its sitemap entry after each\npkgdown::build_site() run instead. Documented as a build step at the\ntop of AGENTS.md, and updated the tutorials section to describe the\ncurrent standalone-page architecture (tutorials/ + build-webr-\ntutorials.R) as the primary guidance, with the pkgdown-article history\ncondensed into a \"why not to go back to that\" section.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>\n",
    "time": 1789069773
  },
  "_maintainer": {
    "name": "Randall Pruim",
    "email": "rpruim@gmail.com",
    "login": "rpruim",
    "description": "",
    "uuid": 722231
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "ggplot2",
      "version": ">= 4.0",
      "role": "Depends"
    },
    {
      "package": "scales",
      "role": "Depends"
    },
    {
      "package": "ggiraph",
      "role": "Depends"
    },
    {
      "package": "ggridges",
      "role": "Depends"
    },
    {
      "package": "mosaicCore",
      "version": ">= 0.7.0",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "labelled",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "glue",
      "role": "Suggests"
    },
    {
      "package": "mosaicData",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "lattice",
      "role": "Suggests"
    },
    {
      "package": "mosaic",
      "role": "Suggests"
    },
    {
      "package": "palmerpenguins",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "vdiffr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "lubridate",
      "role": "Suggests"
    },
    {
      "package": "survival",
      "role": "Suggests"
    },
    {
      "package": "broom",
      "role": "Suggests"
    },
    {
      "package": "hexbin",
      "role": "Suggests"
    },
    {
      "package": "maps",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "purrr",
      "role": "Suggests"
    },
    {
      "package": "ggthemes",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "ggplot2movies",
      "role": "Suggests"
    },
    {
      "package": "interp",
      "role": "Suggests"
    },
    {
      "package": "quantreg",
      "role": "Suggests"
    },
    {
      "package": "ggforce",
      "role": "Suggests"
    },
    {
      "package": "ggrepel",
      "role": "Suggests"
    },
    {
      "package": "ggdist",
      "role": "Suggests"
    },
    {
      "package": "quarto",
      "role": "Suggests"
    }
  ],
  "_owner": "projectmosaic",
  "_selfowned": true,
  "_usedby": 22,
  "_updates": [
    {
      "week": "2025-41",
      "n": 10
    },
    {
      "week": "2026-03",
      "n": 3
    },
    {
      "week": "2026-35",
      "n": 22
    },
    {
      "week": "2026-36",
      "n": 20
    },
    {
      "week": "2026-37",
      "n": 17
    }
  ],
  "_tags": [
    {
      "name": "v2.0.0",
      "date": "2026-09-10"
    },
    {
      "name": "v2.0.as.submitted",
      "date": "2026-09-10"
    }
  ],
  "_stars": 38,
  "_contributors": [
    {
      "user": "rpruim",
      "count": 741,
      "uuid": 722231
    },
    {
      "user": "dtkaplan",
      "count": 94,
      "uuid": 532653
    },
    {
      "user": "ncarchedi",
      "count": 5,
      "uuid": 4229089
    },
    {
      "user": "klaassenj",
      "count": 2,
      "uuid": 13790123
    },
    {
      "user": "nicholasjhorton",
      "count": 2,
      "uuid": 530542
    },
    {
      "user": "ian-curtis",
      "count": 1,
      "uuid": 85375241
    },
    {
      "user": "larmarange",
      "count": 1,
      "uuid": 966307
    },
    {
      "user": "michaelchirico",
      "count": 1,
      "uuid": 7606389
    },
    {
      "user": "jiyunson",
      "count": 1,
      "uuid": 30084828
    }
  ],
  "_userbio": {
    "uuid": 11564185,
    "type": "organization",
    "name": "Project MOSAIC",
    "followers": 20,
    "description": "Project MOSAIC is a community of educators working to develop a new way to introduce mathematics, statistics, computation and modeling."
  },
  "_downloads": {
    "count": 21100,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/ggformula"
  },
  "_mentions": 2,
  "_devurl": "https://github.com/projectmosaic/ggformula",
  "_searchresults": 2472,
  "_quarto": true,
  "_topics": [
    "quarto"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/ggformula.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/projectmosaic/ggformula",
  "_realowner": "projectmosaic",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.4.0",
      "date": "2017-06-21"
    },
    {
      "version": "0.5",
      "date": "2017-07-24"
    },
    {
      "version": "0.6",
      "date": "2017-08-26"
    },
    {
      "version": "0.6.1",
      "date": "2018-01-03"
    },
    {
      "version": "0.6.2",
      "date": "2018-02-06"
    },
    {
      "version": "0.7.0",
      "date": "2018-05-22"
    },
    {
      "version": "0.8.0",
      "date": "2018-06-26"
    },
    {
      "version": "0.9.0",
      "date": "2018-08-03"
    },
    {
      "version": "0.9.1",
      "date": "2019-01-12"
    },
    {
      "version": "0.9.2",
      "date": "2019-09-05"
    },
    {
      "version": "0.9.3",
      "date": "2020-02-12"
    },
    {
      "version": "0.9.4",
      "date": "2020-03-04"
    },
    {
      "version": "0.10.1",
      "date": "2021-01-13"
    },
    {
      "version": "0.10.2",
      "date": "2022-09-01"
    },
    {
      "version": "0.10.4",
      "date": "2023-04-11"
    },
    {
      "version": "0.12.0",
      "date": "2023-11-09"
    },
    {
      "version": "0.12.2",
      "date": "2025-08-01"
    },
    {
      "version": "1.0.0",
      "date": "2025-10-06"
    },
    {
      "version": "1.0.1",
      "date": "2026-01-17"
    },
    {
      "version": "2.0.0",
      "date": "2026-09-11"
    }
  ],
  "_exports": [
    "df_stats",
    "discrete_breaks",
    "geom_ash",
    "geom_lm",
    "geom_spline",
    "GeomLm",
    "get_variable_labels",
    "gf_abline",
    "gf_abline_interactive",
    "gf_annotate",
    "gf_area",
    "gf_area_interactive",
    "gf_ash",
    "gf_bar",
    "gf_bar_interactive",
    "gf_barh",
    "gf_bin_2d",
    "gf_bin_2d_interactive",
    "gf_bin2d",
    "gf_bin2d_interactive",
    "gf_blank",
    "gf_boxplot",
    "gf_boxplot_interactive",
    "gf_boxploth",
    "gf_coefline",
    "gf_col",
    "gf_col_interactive",
    "gf_colh",
    "gf_contour",
    "gf_contour_filled",
    "gf_contour_filled_interactive",
    "gf_contour_interactive",
    "gf_count",
    "gf_count_interactive",
    "gf_counts",
    "gf_countsh",
    "gf_crossbar",
    "gf_crossbar_interactive",
    "gf_crossbarh",
    "gf_curve",
    "gf_curve_interactive",
    "gf_dens",
    "gf_dens2",
    "gf_density",
    "gf_density_2d",
    "gf_density_2d_filled",
    "gf_density_2d_filled_interactive",
    "gf_density_2d_interactive",
    "gf_density_interactive",
    "gf_density_ridgeline_gradient",
    "gf_density_ridges",
    "gf_density_ridges_gradient",
    "gf_density_ridges2",
    "gf_density2d",
    "gf_density2d_filled",
    "gf_density2d_filled_interactive",
    "gf_density2d_interactive",
    "gf_dhistogram",
    "gf_dist",
    "gf_dotplot",
    "gf_dotplot_interactive",
    "gf_ecdf",
    "gf_ellipse",
    "gf_empty",
    "gf_errorbar",
    "gf_errorbar_interactive",
    "gf_errorbarh",
    "gf_facet_grid",
    "gf_facet_grid_interactive",
    "gf_facet_wrap",
    "gf_facet_wrap_interactive",
    "gf_fitdistr",
    "gf_frame",
    "gf_freqpoly",
    "gf_freqpoly_interactive",
    "gf_fun",
    "gf_fun_2d",
    "gf_fun_contour",
    "gf_fun_tile",
    "gf_fun2d",
    "gf_function",
    "gf_function_2d",
    "gf_function_contour",
    "gf_function_tile",
    "gf_function2d",
    "gf_girafe",
    "gf_guides",
    "gf_hex",
    "gf_hex_interactive",
    "gf_histogram",
    "gf_histogram_interactive",
    "gf_hline",
    "gf_hline_interactive",
    "gf_jitter",
    "gf_jitter_interactive",
    "gf_label",
    "gf_label_interactive",
    "gf_labeller_interactive",
    "gf_labs",
    "gf_lims",
    "gf_line",
    "gf_line_interactive",
    "gf_linerange",
    "gf_linerange_interactive",
    "gf_linerangeh",
    "gf_lm",
    "gf_path",
    "gf_path_interactive",
    "gf_percents",
    "gf_percentsh",
    "gf_plot",
    "gf_point",
    "gf_point_interactive",
    "gf_pointrange",
    "gf_pointrange_interactive",
    "gf_pointrangeh",
    "gf_polygon",
    "gf_polygon_interactive",
    "gf_props",
    "gf_propsh",
    "gf_qq",
    "gf_qqline",
    "gf_qqstep",
    "gf_quantile",
    "gf_quantile_interactive",
    "gf_raster",
    "gf_raster_interactive",
    "gf_rect",
    "gf_rect_interactive",
    "gf_refine",
    "gf_relabel",
    "gf_ribbon",
    "gf_ribbon_interactive",
    "gf_ridgeline",
    "gf_rug",
    "gf_rugx",
    "gf_rugy",
    "gf_segment",
    "gf_segment_interactive",
    "gf_sf",
    "gf_sf_interactive",
    "gf_sina",
    "gf_smooth",
    "gf_smooth_interactive",
    "gf_spline",
    "gf_spoke",
    "gf_spoke_interactive",
    "gf_step",
    "gf_step_interactive",
    "gf_summary",
    "gf_text",
    "gf_text_interactive",
    "gf_theme",
    "gf_tile",
    "gf_tile_interactive",
    "gf_violin",
    "gf_violin_interactive",
    "gf_violinh",
    "gf_vline",
    "gf_vline_interactive",
    "ggformula_spec",
    "layer_factory",
    "makeFun",
    "na.warn",
    "percs_by_group",
    "props_by_group",
    "set_variable_labels",
    "stat_ash",
    "stat_fitdistr",
    "stat_lm",
    "stat_qqline",
    "stat_spline",
    "StatAsh",
    "StatFitdistr",
    "StatLm",
    "StatQqline",
    "StatSpline",
    "theme_facets_interactive",
    "var_label",
    "var_label<-"
  ],
  "_datasets": [
    {
      "name": "MIpop",
      "title": "Population of Michigan counties",
      "object": "MIpop",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "rank",
        "county",
        "population"
      ],
      "rows": 83,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "discrete_breaks",
      "title": "Discrete Breaks",
      "topics": [
        "discrete_breaks"
      ]
    },
    {
      "page": "labels",
      "title": "Set and extract labels from a labeled object",
      "topics": [
        "get_variable_labels"
      ]
    },
    {
      "page": "gf_lines",
      "title": "Reference lines - horizontal, vertical, and diagonal.",
      "topics": [
        "gf_abline",
        "gf_coefline",
        "gf_hline",
        "gf_vline"
      ]
    },
    {
      "page": "gf_abline_interactive",
      "title": "Interactive reference lines",
      "topics": [
        "gf_abline_interactive"
      ]
    },
    {
      "page": "gf_annotate",
      "title": "Add an annotation layer to a graphic",
      "topics": [
        "gf_annotate"
      ]
    },
    {
      "page": "gf_area",
      "title": "Formula interface to geom_area()",
      "topics": [
        "gf_area"
      ]
    },
    {
      "page": "gf_area_interactive",
      "title": "Interactive area plots",
      "topics": [
        "gf_area_interactive"
      ]
    },
    {
      "page": "gf_ash",
      "title": "Average Shifted Histograms",
      "topics": [
        "geom_ash",
        "gf_ash",
        "stat_ash"
      ]
    },
    {
      "page": "gf_bar",
      "title": "Formula interface to geom_bar()",
      "topics": [
        "gf_bar",
        "gf_counts",
        "gf_percents",
        "gf_props"
      ]
    },
    {
      "page": "gf_bar_interactive",
      "title": "Interactive bar charts",
      "topics": [
        "gf_bar_interactive"
      ]
    },
    {
      "page": "ggstance",
      "title": "Deprecated horizontal plotting functions",
      "topics": [
        "gf_barh",
        "gf_boxploth",
        "gf_colh",
        "gf_countsh",
        "gf_crossbarh",
        "gf_errorbarh",
        "gf_linerangeh",
        "gf_percentsh",
        "gf_pointrangeh",
        "gf_propsh",
        "gf_violinh",
        "ggstance"
      ]
    },
    {
      "page": "gf_bin_2d_interactive",
      "title": "Interactive bin_2d plots",
      "topics": [
        "gf_bin_2d_interactive"
      ]
    },
    {
      "page": "gf_bin2d",
      "title": "Formula interface to geom_bin2d()",
      "topics": [
        "gf_bin2d",
        "gf_bin_2d"
      ]
    },
    {
      "page": "gf_bin2d_interactive",
      "title": "Interactive bin2d plots",
      "topics": [
        "gf_bin2d_interactive"
      ]
    },
    {
      "page": "gf_blank",
      "title": "Formula interface to geom_blank()",
      "topics": [
        "gf_blank",
        "gf_frame"
      ]
    },
    {
      "page": "gf_boxplot",
      "title": "Formula interface to geom_boxplot()",
      "topics": [
        "gf_boxplot"
      ]
    },
    {
      "page": "gf_boxplot_interactive",
      "title": "Interactive box plots",
      "topics": [
        "gf_boxplot_interactive"
      ]
    },
    {
      "page": "gf_col",
      "title": "Formula interface to geom_col()",
      "topics": [
        "gf_col"
      ]
    },
    {
      "page": "gf_col_interactive",
      "title": "Interactive column charts",
      "topics": [
        "gf_col_interactive"
      ]
    },
    {
      "page": "gf_contour",
      "title": "Formula interface to geom_contour() and geom_contour_filled()",
      "topics": [
        "gf_contour",
        "gf_contour_filled"
      ]
    },
    {
      "page": "gf_contour_interactive",
      "title": "Interactive 2-demensional contour plots",
      "topics": [
        "gf_contour_filled_interactive",
        "gf_contour_interactive"
      ]
    },
    {
      "page": "gf_count",
      "title": "Formula interface to geom_count()",
      "topics": [
        "gf_count"
      ]
    },
    {
      "page": "gf_count_interactive",
      "title": "Interactive count plots",
      "topics": [
        "gf_count_interactive"
      ]
    },
    {
      "page": "gf_crossbar",
      "title": "Formula interface to geom_crossbar()",
      "topics": [
        "gf_crossbar"
      ]
    },
    {
      "page": "gf_crossbar_interactive",
      "title": "Interactive crossbar plots",
      "topics": [
        "gf_crossbar_interactive"
      ]
    },
    {
      "page": "gf_curve",
      "title": "Formula interface to geom_curve()",
      "topics": [
        "gf_curve"
      ]
    },
    {
      "page": "gf_curve_interactive",
      "title": "Interactive curve plots",
      "topics": [
        "gf_curve_interactive",
        "gf_segment_interactive"
      ]
    },
    {
      "page": "gf_density",
      "title": "Formula interface to stat_density()",
      "topics": [
        "gf_dens",
        "gf_dens2",
        "gf_density"
      ]
    },
    {
      "page": "gf_density_2d",
      "title": "Formula interface to geom_density_2d() and geom_density_2d_filled()",
      "topics": [
        "gf_density2d",
        "gf_density2d_filled",
        "gf_density_2d",
        "gf_density_2d_filled"
      ]
    },
    {
      "page": "gf_density2d_interactive",
      "title": "Interactive 2-demensional density plots",
      "topics": [
        "gf_density2d_filled_interactive",
        "gf_density2d_interactive",
        "gf_density_2d_filled_interactive",
        "gf_density_2d_interactive"
      ]
    },
    {
      "page": "gf_density_interactive",
      "title": "Interactive density plots",
      "topics": [
        "gf_density_interactive"
      ]
    },
    {
      "page": "gf_dist",
      "title": "Plot distributions",
      "topics": [
        "gf_dist"
      ]
    },
    {
      "page": "gf_dotplot",
      "title": "Formula interface to geom_dotplot()",
      "topics": [
        "gf_dotplot"
      ]
    },
    {
      "page": "gf_dotplot_interactive",
      "title": "Interactive dotplot plots",
      "topics": [
        "gf_dotplot_interactive"
      ]
    },
    {
      "page": "gf_ecdf",
      "title": "Formula interace to empirical cumulative distribution",
      "topics": [
        "gf_ecdf"
      ]
    },
    {
      "page": "gf_ellipse",
      "title": "Formula interface to stat_ellipse()",
      "topics": [
        "gf_ellipse"
      ]
    },
    {
      "page": "gf_empty",
      "title": "Create an \"empty\" plot",
      "topics": [
        "gf_empty"
      ]
    },
    {
      "page": "gf_errorbar",
      "title": "Formula interface to geom_errorbar()",
      "topics": [
        "gf_errorbar"
      ]
    },
    {
      "page": "gf_errorbar_interactive",
      "title": "Interactive errorbar plots",
      "topics": [
        "gf_errorbar_interactive"
      ]
    },
    {
      "page": "gf_facet_grid",
      "title": "Add facets to a plot",
      "topics": [
        "gf_facet_grid",
        "gf_facet_wrap"
      ]
    },
    {
      "page": "gf_fitdistr",
      "title": "Plot density function based on fit to data",
      "topics": [
        "gf_fitdistr"
      ]
    },
    {
      "page": "gf_freqpoly",
      "title": "Formula interface to geom_freqpoly()",
      "topics": [
        "gf_freqpoly"
      ]
    },
    {
      "page": "gf_freqpoly_interactive",
      "title": "Interactive freqpoly plots",
      "topics": [
        "gf_freqpoly_interactive"
      ]
    },
    {
      "page": "gf_function",
      "title": "Layers displaying graphs of functions",
      "topics": [
        "gf_fun",
        "gf_function"
      ]
    },
    {
      "page": "gf_function2d",
      "title": "Plot functions of two variables",
      "topics": [
        "gf_fun2d",
        "gf_function2d",
        "gf_function_2d",
        "gf_function_contour",
        "gf_function_tile",
        "gf_fun_2d",
        "gf_fun_contour",
        "gf_fun_tile"
      ]
    },
    {
      "page": "gf_girafe",
      "title": "Render interactive ggformula plots",
      "topics": [
        "gf_girafe"
      ]
    },
    {
      "page": "gf_guides",
      "title": "Guides for ggformula",
      "topics": [
        "gf_guides"
      ]
    },
    {
      "page": "gf_hex",
      "title": "Formula interface to geom_hex()",
      "topics": [
        "gf_hex"
      ]
    },
    {
      "page": "gf_hex_interactive",
      "title": "Interactive hex plots",
      "topics": [
        "gf_hex_interactive"
      ]
    },
    {
      "page": "gf_histogram",
      "title": "Formula interface to geom_histogram()",
      "topics": [
        "gf_dhistogram",
        "gf_histogram"
      ]
    },
    {
      "page": "gf_histogram_interactive",
      "title": "Interactive histograms",
      "topics": [
        "gf_histogram_interactive"
      ]
    },
    {
      "page": "gf_hline_interactive",
      "title": "Interactive horizontal lines",
      "topics": [
        "gf_hline_interactive"
      ]
    },
    {
      "page": "gf_jitter",
      "title": "Formula interface to geom_jitter()",
      "topics": [
        "gf_jitter"
      ]
    },
    {
      "page": "gf_jitter_interactive",
      "title": "Interactive jitter plots",
      "topics": [
        "gf_jitter_interactive"
      ]
    },
    {
      "page": "gf_label_interactive",
      "title": "Interactive text labels",
      "topics": [
        "gf_label_interactive"
      ]
    },
    {
      "page": "gf_labeller_interactive",
      "title": "Create interactive labeller",
      "topics": [
        "gf_labeller_interactive"
      ]
    },
    {
      "page": "gf_aux",
      "title": "Non-layer functions for gf plots",
      "topics": [
        "gf_labs",
        "gf_lims",
        "gf_refine"
      ]
    },
    {
      "page": "gf_line",
      "title": "Formula interface to geom_line() and geom_path()",
      "topics": [
        "gf_line",
        "gf_path"
      ]
    },
    {
      "page": "gf_line_interactive",
      "title": "Interactive line plots",
      "topics": [
        "gf_line_interactive"
      ]
    },
    {
      "page": "gf_linerange",
      "title": "Formula interface to geom_linerange() and geom_pointrange()",
      "topics": [
        "gf_linerange",
        "gf_pointrange",
        "gf_summary"
      ]
    },
    {
      "page": "gf_linerange_interactive",
      "title": "Interactive linerange plots",
      "topics": [
        "gf_linerange_interactive"
      ]
    },
    {
      "page": "gf_path_interactive",
      "title": "Interactive path plots",
      "topics": [
        "gf_path_interactive"
      ]
    },
    {
      "page": "gf_plot",
      "title": "Formula interface to ggplot()",
      "topics": [
        "gf_plot"
      ]
    },
    {
      "page": "gf_point",
      "title": "Formula interface to geom_point()",
      "topics": [
        "gf_point"
      ]
    },
    {
      "page": "gf_point_interactive",
      "title": "Interactive scatter plots",
      "topics": [
        "gf_point_interactive"
      ]
    },
    {
      "page": "gf_pointrange_interactive",
      "title": "Interactive pointrange plots",
      "topics": [
        "gf_pointrange_interactive"
      ]
    },
    {
      "page": "gf_polygon",
      "title": "Formula interface to geom_polygon()",
      "topics": [
        "gf_polygon"
      ]
    },
    {
      "page": "gf_polygon_interactive",
      "title": "Interactive polygon plots",
      "topics": [
        "gf_polygon_interactive"
      ]
    },
    {
      "page": "gf_qq",
      "title": "Formula interface to geom_qq()",
      "topics": [
        "gf_qq",
        "gf_qqline",
        "gf_qqstep"
      ]
    },
    {
      "page": "gf_quantile",
      "title": "Formula interface to geom_quantile()",
      "topics": [
        "gf_quantile"
      ]
    },
    {
      "page": "gf_quantile_interactive",
      "title": "Interactive quantile plots",
      "topics": [
        "gf_quantile_interactive"
      ]
    },
    {
      "page": "gf_raster",
      "title": "Formula interface to geom_raster()",
      "topics": [
        "gf_raster"
      ]
    },
    {
      "page": "gf_raster_interactive",
      "title": "Interactive raster plots",
      "topics": [
        "gf_raster_interactive"
      ]
    },
    {
      "page": "gf_rect",
      "title": "Formula interface to geom_rect()",
      "topics": [
        "gf_rect"
      ]
    },
    {
      "page": "gf_rect_interactive",
      "title": "Interactive rect plots",
      "topics": [
        "gf_rect_interactive"
      ]
    },
    {
      "page": "gf_relabel",
      "title": "Modify plot labeling",
      "topics": [
        "gf_relabel",
        "print.gf_ggplot"
      ]
    },
    {
      "page": "gf_ribbon",
      "title": "Formula interface to geom_ribbon()",
      "topics": [
        "gf_ribbon"
      ]
    },
    {
      "page": "gf_ribbon_interactive",
      "title": "Interactive ribbon plots",
      "topics": [
        "gf_ribbon_interactive"
      ]
    },
    {
      "page": "ggridges",
      "title": "Formula interface to ggridges plots",
      "topics": [
        "gf_density_ridgeline_gradient",
        "gf_density_ridges",
        "gf_density_ridges2",
        "gf_density_ridges_gradient",
        "gf_ridgeline"
      ]
    },
    {
      "page": "gf_rug",
      "title": "Formula interface to geom_rug()",
      "topics": [
        "gf_rug",
        "gf_rugx",
        "gf_rugy"
      ]
    },
    {
      "page": "gf_segment",
      "title": "Formula interface to geom_segment()",
      "topics": [
        "gf_segment"
      ]
    },
    {
      "page": "gf_sf",
      "title": "Mapping with shape files",
      "topics": [
        "gf_sf"
      ]
    },
    {
      "page": "gf_sf_interactive",
      "title": "Interactive sf plots",
      "topics": [
        "gf_sf_interactive"
      ]
    },
    {
      "page": "gf_sina",
      "title": "Formula interface to geom_sina()",
      "topics": [
        "gf_sina"
      ]
    },
    {
      "page": "gf_smooth",
      "title": "Formula interface to geom_smooth()",
      "topics": [
        "gf_lm",
        "gf_smooth"
      ]
    },
    {
      "page": "gf_smooth_interactive",
      "title": "Interactive smoothed conditional means",
      "topics": [
        "gf_smooth_interactive"
      ]
    },
    {
      "page": "gf_spline",
      "title": "Formula interface to geom_spline()",
      "topics": [
        "gf_spline"
      ]
    },
    {
      "page": "gf_spoke",
      "title": "Formula interface to geom_spoke()",
      "topics": [
        "gf_spoke"
      ]
    },
    {
      "page": "gf_spoke_interactive",
      "title": "Interactive spoke plots",
      "topics": [
        "gf_spoke_interactive"
      ]
    },
    {
      "page": "gf_step",
      "title": "Formula interface to geom_step()",
      "topics": [
        "gf_step"
      ]
    },
    {
      "page": "gf_step_interactive",
      "title": "Interactive step plots",
      "topics": [
        "gf_step_interactive"
      ]
    },
    {
      "page": "gf_text",
      "title": "Formula interface to geom_text() and geom_label()",
      "topics": [
        "gf_label",
        "gf_text"
      ]
    },
    {
      "page": "gf_text_interactive",
      "title": "Interactive text annotations",
      "topics": [
        "gf_text_interactive"
      ]
    },
    {
      "page": "gf_theme",
      "title": "Themes for ggformula",
      "topics": [
        "gf_theme"
      ]
    },
    {
      "page": "gf_tile",
      "title": "Formula interface to geom_tile()",
      "topics": [
        "gf_tile"
      ]
    },
    {
      "page": "gf_tile_interactive",
      "title": "Interactive tile plots",
      "topics": [
        "gf_tile_interactive"
      ]
    },
    {
      "page": "gf_violin",
      "title": "Formula interface to geom_violin()",
      "topics": [
        "gf_violin"
      ]
    },
    {
      "page": "gf_violin_interactive",
      "title": "Interactive violin plots",
      "topics": [
        "gf_violin_interactive"
      ]
    },
    {
      "page": "gf_vline_interactive",
      "title": "Interactive vertical lines",
      "topics": [
        "gf_vline_interactive"
      ]
    },
    {
      "page": "ggformula_spec",
      "title": "Retrieve the specification used to build a gf_* function",
      "topics": [
        "ggformula_spec"
      ]
    },
    {
      "page": "interactive_facets",
      "title": "Interactive facets",
      "topics": [
        "gf_facet_grid_interactive",
        "gf_facet_wrap_interactive",
        "interactive_facets"
      ]
    },
    {
      "page": "interactive_layer_factory",
      "title": "Create an interactive ggformula layer function",
      "topics": [
        "interactive_layer_factory"
      ]
    },
    {
      "page": "layer_factory",
      "title": "Create a ggformula layer function",
      "topics": [
        "layer_factory"
      ]
    },
    {
      "page": "MIpop",
      "title": "Population of Michigan counties",
      "topics": [
        "MIpop"
      ]
    },
    {
      "page": "proportions",
      "title": "Compute groupwise proportions and percents",
      "topics": [
        "percs_by_group",
        "props_by_group"
      ]
    },
    {
      "page": "stat_fitdistr",
      "title": "A stat for fitting distributions",
      "topics": [
        "stat_fitdistr"
      ]
    },
    {
      "page": "geom_lm",
      "title": "Linear Model Displays",
      "topics": [
        "geom_lm",
        "stat_lm"
      ]
    },
    {
      "page": "stat_qqline",
      "title": "A Stat for Adding Reference Lines to QQ-Plots",
      "topics": [
        "stat_qqline"
      ]
    },
    {
      "page": "geom_spline",
      "title": "Geoms and stats for spline smoothing",
      "topics": [
        "geom_spline",
        "stat_spline"
      ]
    },
    {
      "page": "ggformula-ggproto",
      "title": "ggproto classes for ggplot2",
      "topics": [
        "GeomLm",
        "StatAsh",
        "StatFitdistr",
        "StatLm",
        "StatQqline",
        "StatSpline"
      ]
    },
    {
      "page": "theme_facets_interactive",
      "title": "Interactive theme for ggiraph facets",
      "topics": [
        "theme_facets_interactive"
      ]
    }
  ],
  "_pkglogo": "https://github.com/projectmosaic/ggformula/raw/HEAD/logo.png",
  "_readme": "https://github.com/projectmosaic/ggformula/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bit",
    "bit64",
    "bslib",
    "cachem",
    "cli",
    "clipr",
    "cpp11",
    "crayon",
    "digest",
    "dplyr",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "fontBitstreamVera",
    "fontLiberation",
    "fontquiver",
    "forcats",
    "fs",
    "gdtools",
    "generics",
    "ggiraph",
    "ggplot2",
    "ggridges",
    "glue",
    "gtable",
    "haven",
    "highr",
    "hms",
    "htmltools",
    "htmlwidgets",
    "isoband",
    "jquerylib",
    "jsonlite",
    "knitr",
    "labeling",
    "labelled",
    "lifecycle",
    "magrittr",
    "MASS",
    "memoise",
    "mime",
    "mosaicCore",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "readr",
    "rlang",
    "rmarkdown",
    "S7",
    "sass",
    "scales",
    "stringi",
    "stringr",
    "systemfonts",
    "tibble",
    "tidyr",
    "tidyselect",
    "tinytex",
    "tzdb",
    "utf8",
    "vctrs",
    "viridisLite",
    "vroom",
    "withr",
    "xfun",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "extending-ggformula.qmd",
      "filename": "extending-ggformula.html",
      "title": "Extending ggformula",
      "engine": "quarto::html",
      "headings": [
        "How layer_factory() works",
        "Two patterns for wrapping a new geom or stat",
        "Pattern 1: Point at the registered ggproto object by name",
        "Pattern 2: Wrap an existing constructor function",
        "Example: labeling points without overlap with",
        "Example: half-eye plots with",
        "Wrapping interactive geoms from ggiraph",
        "Tips and things to watch for",
        "Further reading"
      ],
      "created": "2026-08-26 23:10:51",
      "modified": "2026-09-10 02:05:08",
      "commits": 3
    },
    {
      "source": "ggformula.qmd",
      "filename": "ggformula.html",
      "title": "Formula Interface to {ggplot2}",
      "engine": "quarto::html",
      "headings": [
        "Formula-driven graphics",
        "The basic formula template",
        "Selecting the glyph type",
        "Attributes",
        "Specifying attributes",
        "On-the-fly calculations",
        "\"One-variable\" plots",
        "Learning more"
      ],
      "created": "2025-08-22 15:35:44",
      "modified": "2025-08-22 19:31:01",
      "commits": 3
    },
    {
      "source": "interactive-graphics-intro.qmd",
      "filename": "interactive-graphics-intro.html",
      "title": "Interactive graphics with {ggformula}",
      "engine": "quarto::html",
      "headings": [],
      "created": "2026-09-10 02:05:08",
      "modified": "2026-09-10 02:05:08",
      "commits": 1
    }
  ],
  "_score": 13.195839699920775,
  "_indexed": true,
  "_nocasepkg": "ggformula",
  "_universes": [
    "projectmosaic",
    "rpruim"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.0.0",
      "date": "2026-10-11T15:55:09.000Z",
      "distro": "resolute",
      "commit": "d36b52f9ca1aed5a9c2293e015288a2e709dcc71",
      "fileid": "https://r2.ropensci.org/0d77591de0850e205886fdfd191101f9bae59afea769f6b493817daad0c0d3a4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/projectmosaic/actions/runs/38152802587"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "2.0.0",
      "date": "2026-10-11T15:54:55.000Z",
      "distro": "resolute",
      "commit": "d36b52f9ca1aed5a9c2293e015288a2e709dcc71",
      "fileid": "https://r2.ropensci.org/57679bb50c4dbdd9875da7104ec4fde9f3923c170a7ad1f0e715bc79f25b12ca",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/projectmosaic/actions/runs/38152802587"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.0.0",
      "date": "2026-10-11T16:04:44.000Z",
      "commit": "d36b52f9ca1aed5a9c2293e015288a2e709dcc71",
      "fileid": "https://r2.ropensci.org/a65e9f6f08e75a7b1781778e8253f2360d09dd6f9ef95d291aa249f17aac613f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/projectmosaic/actions/runs/38152802587"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "2.0.0",
      "date": "2026-10-11T15:57:27.000Z",
      "commit": "d36b52f9ca1aed5a9c2293e015288a2e709dcc71",
      "fileid": "https://r2.ropensci.org/dc5518aa5f39db4cba77a7665d616a78709038502acace6ff818d6ed053791af",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/projectmosaic/actions/runs/38152802587"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2.0.0",
      "date": "2026-10-11T15:54:57.000Z",
      "commit": "d36b52f9ca1aed5a9c2293e015288a2e709dcc71",
      "fileid": "https://r2.ropensci.org/f56a0ace7791e9a73bf632e3770e77bb8be0b596d28c06894021a5add1260a7b",
      "status": "success",
      "buildurl": "https://github.com/r-universe/projectmosaic/actions/runs/38152802587"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2.0.0",
      "date": "2026-10-11T15:54:07.000Z",
      "commit": "d36b52f9ca1aed5a9c2293e015288a2e709dcc71",
      "fileid": "https://r2.ropensci.org/89b42caecc36467e08c2b41c0d19d06b4436f159b8b31bafffdacb7b7a93b1c0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/projectmosaic/actions/runs/38152802587"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "2.0.0",
      "date": "2026-10-11T15:53:54.000Z",
      "commit": "d36b52f9ca1aed5a9c2293e015288a2e709dcc71",
      "fileid": "https://r2.ropensci.org/d87a55daf0503b1ad92dbec22d121853a14986f2730d456f40508a2e053d9938",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/projectmosaic/actions/runs/38152802587"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "2.0.0",
      "date": "2026-10-11T15:54:11.000Z",
      "commit": "d36b52f9ca1aed5a9c2293e015288a2e709dcc71",
      "fileid": "https://r2.ropensci.org/3ba3b6ebd97e0d3fbafa377619f29c26d1be4eb2e6b88156ba0e7ae0a786d791",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/projectmosaic/actions/runs/38152802587"
    }
  ]
}