A 'ggplot2' Extension Inspired by 'GraphPad Prism'

Provides various themes, palettes, and other functions that are used to customise ggplots to look like they were made in 'GraphPad Prism'. The 'Prism'-look is achieved with theme_prism() and scale_fill|colour_prism(), axes can be changed with custom guides like guide_prism_minor(), and significance indicators added with add_pvalue().


ggprism

R-CMD-check Codecov testcoverage CRANversion Websitehttps://csdaw.github.io/ggprism DOI

The ggprism package provides various themes, palettes, and other useful functions to customise ggplots and give them the ‘GraphPad Prism’ look.

Install

Install the latest version from CRAN:

install.packages("ggprism")

Install the development version from GitHub:

remotes::install_github("csdaw/ggprism")

How to Use

See the Getting Started page for a quick overview of ggprism features. Detailed examples and instructions can be found below and on the ggprism website.

library(ggplot2)
library(ggprism)

tg <- ToothGrowth
tg$dose <- as.factor(tg$dose)

base <- ggplot(tg, aes(x = dose, y = len)) + 
  geom_violin(aes(colour = dose, fill = dose), trim = FALSE) + 
  geom_boxplot(aes(fill = dose), width = 0.2, colour = "black") + 
  scale_y_continuous(limits = c(-5, 40))

p_vals <- tibble::tribble(
  ~group1, ~group2, ~p.adj,   ~y.position,
  "0.5",   "1",     8.80e-14, 35,
  "0.5",   "2",     1.27e-7,  39
)
base

base + 
  scale_color_prism("floral") + 
  scale_fill_prism("floral") + 
  guides(y = "prism_offset_minor") + 
  theme_prism(base_size = 16) + 
  theme(legend.position = "none") + 
  add_pvalue(p_vals, label = "p = {p.adj}", tip.length = 0, label.size = 4)
#> Warning: The S3 guide system was deprecated in ggplot2 3.5.0.
#> ℹ It has been replaced by a ggproto system that can be extended.
#> This warning is displayed once every 8 hours.
#> Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
#> generated.

Feedback and Contributions

Any feedback, questions, and suggestions are welcome and should be shared via GitHub discussions.

Bug reports should be submitted via GitHub issues with a minimal reproducible example, e.g. using the reprex package.

Contributions to ggprism are also welcome and pull requires should also be submitted via GitHub issues. Please fork/clone this repository and create a new branch to develop your contribution in. Some ways to contribute might include:

  • Updates and corrections to documentation
  • Examples and vignettes for existing functions
  • Bug fixes
  • New functions with associated documentation, examples, and tests

Cite

I would be very grateful if you could cite this package if you use it in your publication:

Charlotte Dawson (2025). ggprism: A ‘ggplot2’ Extension Inspired by ‘GraphPad Prism’. R package version 1.0.7. https://cran.r-project.org/package=ggprism doi: 10.5281/zenodo.4556067

# BibTex for LaTeX users
@Manual{
title = {ggprism: A 'ggplot2' Extension Inspired by 'GraphPad Prism'},
author = {Charlotte Dawson},
year = {2025},
note = {R package version 1.0.7},
url = {https://cran.r-project.org/package=ggprism},
doi = {10.5281/zenodo.4556067}
}

More Examples

Recreates this figure from the GraphPad Prism website. See this vignette for the source code and step-by-step instructions.

Recreates Figure 2B from Matsushita & Nishimura (2020), which was originally created using GraphPad Prism. See this vignette for the source code and step-by-step instructions.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("ggprism")

1.0.7 by Charlotte Dawson, a year ago


https://csdaw.github.io/ggprism/, https://github.com/csdaw/ggprism


Report a bug at https://github.com/csdaw/ggprism/issues


Browse source code at https://github.com/cran/ggprism


Authors: Charlotte Dawson [aut, cre] (ORCID:


Documentation:   PDF Manual  


GPL (>= 3.0) license


Imports digest, ggplot2, glue, grid, gtable, rlang, scales, stats, tibble, utils

Suggests covr, dplyr, ggbeeswarm, ggnewscale, knitr, magrittr, patchwork, rmarkdown, rstatix, tidyr, tinytest


Imported by BiVariAn, CEDA, ggpicrust2, scCustomize, shinyTempSignal.

Suggested by diffHTS.


See at CRAN