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.

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() |> 
  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() |> 
  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

2,765

Version

0.2.2

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Jan Broder Engler

Last Published

March 7th, 2025

Functions in tidyplots (0.2.2)

add_sum_bar

Add sum
add_reference_lines

Add reference lines
add_line

Add line or area
add_sem_errorbar

Add error bar
add_test_pvalue

Add statistical test
add_histogram

Add histogram
add_mean_bar

Add mean
add_pie

Add pie or donut chart
add_sem_ribbon

Add ribbon
add_median_bar

Add median
adjust_title

Adjust titles and caption
add_violin

Add violin plot
adjust_legend_title

Adjust legend
adjust_size

Adjust plot area size
adjust_colors

Adjust colors
adjust_padding

Adjust plot area padding
adjust_x_axis

Adjust axes
adjust_theme_details

Adjust theme details
add_title

Add plot title or caption
adjust_font

Adjust font
all_rows

Subset data rows
animals

Animals data
dinosaurs

Dinosaurs data
common_arguments

Common arguments
colors_discrete_friendly

Discrete color schemes
climate

Climate data
colors_diverging_blue2red

Diverging color schemes
colors_continuous_viridis

Continuous color schemes
energy

Energy data
distributions

Distributions data
flip_plot

Flip x and y-axis
format_number

Format numbers or p values
energy_week

Energy week data
eu_countries

EU countries data
reverse_x_axis_labels

Reverse axis or color labels
save_plot

Save plots to file
view_plot

View plot on screen
split_plot

Split plot into multiple subplots
tidyplots-package

tidyplots: Tidy Plots for Scientific Papers
study

Study data
sort_x_axis_labels

Sort axis or color labels
time_course

Time course data
spendings

Spending data
remove_x_axis

Remove x-axis or parts of it
remove_y_axis

Remove y-axis or parts of it
gene_expression

RNA-Seq expression data
%>%

The pipe
new_color_scheme

New color scheme
remove_legend

Remove legend or legend title
remove_padding

Remove plot area padding
theme_tidyplot

Themes
tidyplot

Create a new tidyplot
rename_x_axis_labels

Rename axis or color labels
reorder_x_axis_labels

Reorder axis or color labels
remove_title

Remove plot title or caption
add_curve_fit

Add curve fit
add_data_labels

Add data labels
add_barstack_absolute

Add bar stack
add_annotation_text

Add annotation
add_boxplot

Add boxplot
add_areastack_absolute

Add area stack
add

Add ggplot2 code to a tidyplot
add_data_points

Add data points
add_heatmap

Add heatmap
add_count_bar

Add count