https://folkehelsestats.github.io/highdir/
A highchart solution for Hdir
https://folkehelsestats.github.io/highdir/
Last synced: 5 days ago
JSON representation
A highchart solution for Hdir
- Host: GitHub
- URL: https://folkehelsestats.github.io/highdir/
- Owner: folkehelsestats
- License: other
- Created: 2025-12-11T11:54:07.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-06-16T15:17:25.000Z (22 days ago)
- Last Synced: 2026-06-30T03:24:39.903Z (8 days ago)
- Language: R
- Homepage: https://folkehelsestats.github.io/highdir/
- Size: 9.82 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ggplot2 - highdir - Agnostic Figure Builder for 'highcharter' and 'ggplot2' (Interactive)
README
---
output:
github_document:
html_preview: false
knitr:
opts_chunk:
eval: false
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/img/README-",
out.width = "100%"
)
```
[](https://github.com/folkehelsestats/highdir/actions/workflows/R-CMD-check.yaml)
[](https://app.codecov.io/gh/folkehelsestats/highdir)
[](https://lifecycle.r-lib.org/articles/stages.html#stable)
[](https://CRAN.R-project.org/package=highdir)
**highdir** is an R package that provides a unified, backend-agnostic API for
building figures with either [**highcharter**](https://jkunst.com/highcharter/)
(interactive) or [**ggplot2**](https://ggplot2.tidyverse.org/) (static).
The package provides two complementary yet fully interoperable APIs for creating figures:
1. **Declarative API** - define all components of a figure up front and render it in a single step.
2. **Layered API** - incrementally compose a figure by adding layers, similar to the *grammar of graphics*.
Both APIs produce equivalent visual output and can target any supported backend without changes to the calling code.
With the declarative API, a figure is specified once as an `hd_spec` object and
can later be rendered to different backends. Backend-specific presentation
options (such as interactivity or styling tweaks) can be supplied separately via
an `hc_opts` object prior to rendering.
The layered API supports an exploratory, iterative workflow. Figures are built
step by step using `+` similar to **ggplot2** style, making this approach
particularly well suited for interactive analysis and rapid prototyping, while
remaining backend-independent.
By default, **highdir** ships with colour palette, theme, and visual identity of [The Norwegian Directorate of Health](https://www.helsedirektoratet.no) (*Helsedirektoratet*).
To further enhance usability, a Shiny graphical user interfacef for building and previewing figures is also included as part of the package.
---
## Installation
```r
# Install from CRAN
install.packages("highdir")
# Install development version from GitHub (dev branch)
if(!require(remotes)) install.packages("remotes")
remotes::install_github("folkehelsestats/highdir@dev")
```
---
## Get started
The simplest way to get started with *highdir* is by using the built-in Shiny app.
It shows also codes to demonstrate how to use the package programmatically in R.
Start the app with:
```r
library(highdir)
hd_app()
```
The app is also available directly through ShinyApps.io at: [https://bit.ly/highdir](https://bit.ly/highdir "highdir")
---
## Supported geometries
| Name | highcharter type | ggplot2 equivalent | Extra args |
|:-----------------|:-----------------|:------------------------------|:--------------------------------------|
| `column` | column | `geom_col()` | — |
| `ranked_bar` | column | `geom_col()` | `vs`, `aim`, `char_scale`, `min_frac` |
| `line` | line / spline | `geom_line()` | `smooth`, `dot_size`, `line_symbols` |
| `scatter` | scatter | `geom_point()` | `dot_size` |
| `arearange` | arearange | `geom_ribbon()` | `ymin`, `ymax` |
| `pie` | pie | `geom_bar()`, `coord_polar()` | `inner_size` |
| `stacked_column` | column | `geom_bar()`, `facet_wrap()` | `stack`, `stacking` |
---
To see complete list of extra arguments for specify geoms use `geom_args()` function:
```r
geom_args("ranked_bar")
geom_args("arearange")
```
## License
MIT © Kamaleri
