Learn R Programming

tidyplots

The goal of tidyplots is to streamline the creation of publication-ready plots for scientific papers. It allows to gradually add, remove and adjust plot components using a consistent and intuitive syntax.

Citation

Engler, Jan Broder. 2025. “Tidyplots Empowers Life Scientists With Easy Code-Based Data Visualization.” iMeta e70018. https://doi.org/10.1002/imt2.70018

Installation

You can install the released version of tidyplots from CRAN with:

install.packages("tidyplots")

And the development version from GitHub with:

# install.packages("pak")
pak::pak("jbengler/tidyplots")

Cheatsheet

This cheatsheet gives a high level overview of available functions.

Usage

Here are some examples.

Also have a look at the getting started guide and the full documentation. For more example plots, check out the tidyplots use cases website.

library(tidyplots)

study |> 
  tidyplot(x = treatment, y = score, color = treatment) |> 
  add_mean_bar(alpha = 0.4) |> 
  add_sem_errorbar() |> 
  add_data_points_beeswarm()
energy |> 
  tidyplot(x = year, y = energy, color = energy_source) |> 
  add_barstack_absolute()
energy |> 
  dplyr::filter(year %in% c(2005, 2010, 2015, 2020)) |> 
  tidyplot(y = energy, color = energy_source) |> 
  add_donut() |> 
  adjust_size(width = 25, height = 25) |>
  split_plot(by = year)
energy_week |> 
  tidyplot(x = date, y = power, color = energy_source) |> 
  add_areastack_absolute()
energy_week |> 
  tidyplot(x = date, y = power, color = energy_source) |> 
  add_areastack_relative()
study |> 
  tidyplot(x = group, y = score, color = dose) |> 
  add_mean_bar(alpha = 0.4) |> 
  add_mean_dash() |> 
  add_mean_value()
time_course |>
  tidyplot(x = day, y = score, color = treatment) |>
  add_mean_line() |>
  add_mean_dot() |>
  add_sem_ribbon()
climate |>
  tidyplot(x = month, y = year, color = max_temperature) |>
  add_heatmap()
study |> 
  tidyplot(x = treatment, y = score, color = treatment) |> 
  add_boxplot() |> 
  add_test_pvalue(ref.group = 1)
gene_expression |> 
  dplyr::filter(external_gene_name %in% c("Apol6", "Col5a3", "Vgf", "Bsn")) |> 
  tidyplot(x = condition, y = expression, color = sample_type) |> 
  add_mean_dash() |> 
  add_sem_errorbar() |> 
  add_data_points_beeswarm() |> 
  add_test_asterisks(hide_info = TRUE) |> 
  remove_x_axis_title() |> 
  adjust_size(width = 25, height = 25) |> 
  split_plot(by = external_gene_name)
study |> 
  tidyplot(x = treatment, y = score, color = treatment) |> 
  add_mean_bar(alpha = 0.4) |> 
  add_sem_errorbar() |> 
  add_data_points_beeswarm() |> 
  view_plot(title = "Default color scheme: 'friendly'") |> 
  adjust_colors(colors_discrete_apple) |> 
  view_plot(title = "Alternative color scheme: 'apple'")

Documentation

Acknowledgements

I would like to thank Lars Binkle-Ladisch for our insightful discussions and for consistently challenging my decisions regarding the naming of functions and their arguments.

Many thanks to the R and tidyverse communities. tidyplots is built upon their software and coding paradigms, and it would not have been possible without their contributions.

tidyplots relies on several fantastic packages that handle all the heavy lifting behind the scenes. These include cli, dplyr, forcats, ggbeeswarm, ggplot2, ggpubr, ggrastr, ggrepel, glue, Hmisc, htmltools, lifecycle, patchwork, purrr, rlang, scales, stringr, tidyr, and tidyselect.

Copy Link

Version

Install

install.packages('tidyplots')

Monthly Downloads

1,836

Version

0.3.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Jan Broder Engler

Last Published

July 2nd, 2025

Functions in tidyplots (0.3.1)

add_sum_bar

Add sum
add_heatmap

Add heatmap
add_mean_bar

Add mean
add_histogram

Add histogram
add_median_bar

Add median
add_sem_ribbon

Add ribbon
add_sem_errorbar

Add error bar
add_pie

Add pie or donut chart
adjust_colors

Adjust colors
adjust_font

Adjust font
add_violin

Add violin plot
adjust_padding

Adjust plot area padding
adjust_size

Adjust plot area size
adjust_theme_details

Adjust theme details
adjust_title

Adjust titles and caption
add_test_pvalue

Add statistical test
add_title

Add plot title or caption
adjust_legend_title

Adjust legend
common_arguments

Common arguments
colors_discrete_friendly

Discrete color schemes
climate

Climate data
adjust_x_axis

Adjust axes
all_rows

Subset data rows
distributions

Distributions data
animals

Animals data
dinosaurs

Dinosaurs data
colors_diverging_blue2red

Diverging color schemes
colors_continuous_viridis

Continuous color schemes
new_color_scheme

New color scheme
format_p_value

Format p values
gene_expression

RNA-Seq expression data
pca

Principle component analysis data
%>%

The pipe
energy

Energy data
remove_x_axis

Remove x-axis or parts of it
remove_y_axis

Remove y-axis or parts of it
energy_week

Energy week data
tidyplots-package

tidyplots: Tidy Plots for Scientific Papers
remove_title

Remove plot title or caption
spendings

Spending data
remove_padding

Remove plot area padding
tidyplots_options

Tidyplots options
sort_x_axis_levels

Sort axis or color levels
time_course

Time course data
save_plot

Save plots to file
reverse_x_axis_levels

Reverse axis or color levels
remove_legend

Remove legend or legend title
view_plot

View plot on screen
rename_x_axis_levels

Rename axis or color levels
tidyplot

Create a new tidyplot
reorder_x_axis_levels

Reorder axis or color levels
theme_tidyplot

Themes
flip_plot

Flip x and y-axis
eu_countries

EU countries data
split_plot

Split plot into multiple subplots
study

Study data
add_ellipse

Add ellipse
add_data_labels

Add data labels
add_boxplot

Add boxplot
add_annotation_text

Add annotation
add_count_bar

Add count
add_areastack_absolute

Add area stack
add_data_points

Add data points
add

Add ggplot2 code to a tidyplot
add_curve_fit

Add curve fit
add_barstack_absolute

Add bar stack
add_line

Add line or area
add_reference_lines

Add reference lines