| Title: | Produce Charts Following UK Government Analysis Function Guidance | 
| Version: | 0.4.1 | 
| Description: | Colour palettes and a 'ggplot2' theme to follow the UK Government Analysis Function best practice guidance for producing data visualisations, available at https://analysisfunction.civilservice.gov.uk/policy-store/data-visualisation-charts/. Includes continuous and discrete colour and fill scales, as well as a 'ggplot2' theme. | 
| License: | MIT + file LICENSE | 
| URL: | https://github.com/best-practice-and-impact/afcharts, https://best-practice-and-impact.github.io/afcharts/ | 
| BugReports: | https://github.com/best-practice-and-impact/afcharts/issues | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| RoxygenNote: | 7.3.2 | 
| Depends: | R (≥ 3.5) | 
| Imports: | ggplot2, scales, cli, rlang, dplyr | 
| Suggests: | ggtext, knitr, rmarkdown, tibble, tidyr, glue, purrr, stringr, testthat (≥ 2.1.0), plotly, gt, svglite (≥ 2.1.2), ragg (≥ 1.2.6), gapminder, diffviewer, vdiffr | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | no | 
| Packaged: | 2025-01-13 14:58:36 UTC; OBoxPower | 
| Author: | Crown Copyright [cph], Government Analysis Function [fnd], Alice Hannah [aut], Olivia Box Power [cre, ctb] | 
| Maintainer: | Olivia Box Power <Olivia.BoxPower@dhsc.gov.uk> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-01-13 15:20:02 UTC | 
afcharts: Produce Charts Following UK Government Analysis Function Guidance
Description
Colour palettes and a 'ggplot2' theme to follow the UK Government Analysis Function best practice guidance for producing data visualisations, available at https://analysisfunction.civilservice.gov.uk/policy-store/data-visualisation-charts/. Includes continuous and discrete colour and fill scales, as well as a 'ggplot2' theme.
Author(s)
Maintainer: Olivia Box Power Olivia.BoxPower@dhsc.gov.uk [contributor]
Authors:
- Alice Hannah alice.hannah@gov.scot 
Other contributors:
- Crown Copyright [copyright holder] 
- Government Analysis Function Analysis.Function@ons.gov.uk [funder] 
See Also
Useful links:
- Report bugs at https://github.com/best-practice-and-impact/afcharts/issues 
Analysis Function colour palettes
Description
A list grouping colours into palettes.
Usage
af_colour_palettes
Format
A character list
Source
Government Analysis Function Colours Guidance
Analysis Function colour names and hex codes
Description
A vector containing colour names and their corresponding hex code.
Usage
af_colour_values
Format
A character vector
Source
Government Analysis Function Colours Guidance
Convert millimetres to inches
Description
Convert millimetres to inches
Usage
mm_to_inch(x)
Arguments
| x | Numeric value in millimetres | 
Value
A numerical value in inches
Examples
mm_to_inch(100)
Save a plot at the correct dimensions for publishing on GOVUK
Description
This is a wrapper around ggplot2::ggsave() with plot dimensions set for
publishing on GOVUK.
Usage
save_govuk(
  filename,
  plot = ggplot2::last_plot(),
  device = c("svg", "png", "jpg"),
  path = NULL,
  ...
)
Arguments
| filename | File name | 
| plot | The plot to save | 
| device | File type to produce (svg, png or jpg). svg is preferred as it scales well without pixelating | 
| path | Directory to save the plot in | 
| ... | Other params passed to ggplot::ggsave | 
Value
Character vector giving path to saved file
Examples
library(ggplot2)
library(dplyr)
library(gapminder)
# Images on GOVUK are shrunk. We therefore recommend using font size 20 pt
# when exporting charts for GOVUK, which will appear as approximately 12 pt on
# the website.
use_afcharts(base_size = 20)
grouped_bar_data <-
  gapminder |>
  filter(year %in% c(1967, 2007) &
           country %in% c("United Kingdom", "Ireland", "France", "Belgium"))
bar_chart <- ggplot(grouped_bar_data,
       aes(x = country, y = lifeExp, fill = as.factor(year))) +
  geom_bar(stat = "identity", position = "dodge") +
  scale_y_continuous(expand = c(0, 0)) +
  scale_fill_discrete_af() +
  labs(
    x = "Country",
    y = NULL,
    fill = NULL,
    title = "Living longer",
    subtitle = "Difference in life expectancy, 1967-2007",
    caption = "Source: Gapminder"
  )
 file <- tempfile(fileext = ".svg")
 save_govuk(file, bar_chart, device = "svg")
 unlink(file)
Continuous colour scales for Analysis Function plots
Description
Continuous colour scales for Analysis Function plots
Usage
scale_colour_continuous_af(
  palette = "sequential",
  palette_type = c("af"),
  reverse = FALSE,
  na_colour = "grey50",
  guide = "colourbar",
  ...
)
Arguments
| palette | Name of palette to use; e.g. "main", "sequential", "focus". Default value is "sequential". | 
| palette_type | Currently only the Analysis Function palettes are supported. Defaults to "af". | 
| reverse | Boolean value to indicate whether the palette should be reversed. | 
| na_colour | Colour to set for missing values. | 
| guide | A name or function used to create guide. Default is "colourbar". | 
| ... | Additional arguments passed to scale type. | 
Value
ggplot2 continuous colour scale
Examples
library(ggplot2)
ggplot(mtcars, aes(x = mpg, y = wt, colour = cyl)) +
  geom_point() +
  scale_colour_continuous_af()
Discrete colour scales for Analysis Function plots
Description
Discrete colour scales for Analysis Function plots
Usage
scale_colour_discrete_af(
  palette = "main",
  palette_type = c("af"),
  reverse = FALSE,
  ...
)
Arguments
| palette | Name of palette to use; e.g. "main", "sequential", "focus." Default value is "main". | 
| palette_type | Currently only the Analysis Function palettes are supported. Defaults to "af". | 
| reverse | Boolean value to indicate whether the palette should be reversed. | 
| ... | Additional arguments passed to scale type. | 
Value
ggplot2 discrete colour scale
Examples
library(ggplot2)
library(dplyr)
economics_long %>%
  filter(variable %in% c("psavert", "uempmed")) %>%
  ggplot(aes(x = date, y = value, colour = variable)) +
  geom_line(linewidth = 1) +
  scale_colour_discrete_af()
Continuous colour fill scales for Analysis Function plots
Description
Continuous colour fill scales for Analysis Function plots
Usage
scale_fill_continuous_af(
  palette = "sequential",
  palette_type = c("af"),
  reverse = FALSE,
  na_colour = "grey50",
  guide = "colourbar",
  ...
)
Arguments
| palette | Name of palette to use; e.g. "main", "sequential", "focus." Default value is "sequential". | 
| palette_type | Currently only the Analysis Function palettes are supported. Defaults to "af". | 
| reverse | Boolean value to indicate whether the palette should be reversed. | 
| na_colour | Colour to set for missing values. | 
| guide | A name or function used to create guide. Default is "colourbar". | 
| ... | Additional arguments passed to scale type. | 
Value
ggplot2 continuous fill scale
Examples
library(ggplot2)
ggplot(faithfuld, aes(x = waiting, y = eruptions, fill = density)) +
  geom_raster() +
  scale_fill_continuous_af()
Discrete colour fill scales for Analysis Function plots
Description
Discrete colour fill scales for Analysis Function plots
Usage
scale_fill_discrete_af(
  palette = "main",
  palette_type = c("af"),
  reverse = FALSE,
  ...
)
Arguments
| palette | Name of palette to use; e.g. "main", "sequential", "focus." Default value is "main." | 
| palette_type | Currently only the Analysis Function palettes are supported. Defaults to "af". | 
| reverse | Boolean value to indicate whether the palette should be reversed. | 
| ... | Additional arguments passed to scale type. | 
Value
ggplot2 discrete fill scale
Examples
library(ggplot2)
d <- subset(mpg, manufacturer == "ford")
ggplot(d, aes(x = class, fill = class)) +
 geom_bar() +
 scale_fill_discrete_af()
Analysis Function theme for ggplot2 charts.
Description
ggplot2 theme for Analysis Function plots.
Usage
theme_af(
  base_size = 14,
  base_line_size = base_size/24,
  base_rect_size = base_size/24,
  grid = c("y", "x", "xy", "none"),
  axis = c("x", "y", "xy", "none"),
  ticks = c("xy", "x", "y", "none"),
  legend = c("right", "left", "top", "bottom", "none")
)
Arguments
| base_size | base font size, given in pts. | 
| base_line_size | base size for line elements. | 
| base_rect_size | base size for rect elements. | 
| grid,axis,ticks | 'x', 'y', 'xy' or 'none' to determine for which axes the attribute should be drawn. Grid defaults to 'y', axis to 'x', and ticks to 'xy'. | 
| legend | 'right', 'left', 'top', 'bottom', or 'none' to determine the position of the legend. Defaults to 'right'. | 
Value
ggplot2 plot theme
Examples
library(ggplot2)
p <- ggplot(mpg, aes(x = class)) + geom_bar()
p
p + theme_af()
Use afcharts defaults.
Description
Set afcharts theme, colour palette and geom aesthetic defaults for ggplot2 charts.
Usage
use_afcharts(default_colour = afcharts::af_colour_values["dark-blue"], ...)
Arguments
| default_colour | Default colour/fill for geoms. Default value is 'blue'
from  | 
| ... | Arguments passed to  | 
Value
NULL. Function is used for side effects of setting ggplot2 plot theme, colour palette and geom aesthetic defaults.
Examples
library(ggplot2)
d <- subset(mpg, manufacturer == "ford")
ggplot(d, aes(x = model)) + geom_bar()
ggplot(d, aes(x = model, fill = class)) + geom_bar()
use_afcharts()
ggplot(d, aes(x = model)) + geom_bar()
ggplot(d, aes(x = model, fill = class, colour = class)) + geom_bar()