Regenerated plot


Extracted plot code

Download data (CSV)

            

Edit layer

Plot preview

Plot preview

Export preview

Batch styling

Load several plot .rds files at once, style one of them in the other tabs, and the shared styling (theme, fonts, palette and global colours) carries over to every plot. Title text stays individual per plot.

Global colours
Plot titles

Loaded plots

Special thanks to Vladislav Antipin for his help and guidance.

An interactive ggplot2 editor for the MIT lab — load any existing plot, tweak every layer, and export publication-ready figures without touching code.


What you can do

  • Load plots — open an existing ggplot .rds or an .xlsx workbook (each sheet becomes an available data source).
  • Edit layers — add, remove, reorder, and rename layers. For each layer: change the geom type, adjust fixed aesthetics (colour, fill, size, shape, stroke, alpha, linetype), or map any of them to a data variable.
  • Per-group colour & shape — when an aesthetic is mapped to a discrete variable, assign a specific colour or shape to each group individually.
  • Theme — switch between built-in ggplot2 themes, tune font family/size, axis label angles, legend position, grid lines, and more.
  • Faceting — wrap or grid-facet by any variable.
  • Filter — pick any variable and drag its values into Show/Hide to include, exclude, and reorder rows across the whole plot (independent of faceting). Date columns get a start/end range picker instead.
  • Axis mapping — reassign the global x/y/z variables used by all inherited layers in one click.
  • Repel labels — add non-overlapping text or label annotations via ggrepel with configurable padding, force, and segment style.
  • Coordinates & scales — flip axes, apply log/sqrt/reverse transformations, set manual axis limits.
  • Undo / Redo — up to 50 steps of full plot-state history.
  • Export — download as PNG, JPG, PDF, or animated GIF; set exact pixel dimensions before exporting.
  • R code preview — see the ggplot2 code extracted from your current plot, ready to copy into a script.

Supported geom families

Point, line, path, bar, histogram, boxplot, violin, density, area, tile/heatmap, segment, errorbar, ribbon, text, label, contour, hex, smooth, quantile, jitter, crossbar, pointrange, spoke, sf, and extensions: ggrepel , ggtern , ggsankey , ggmosaic , scatterpie , gganimate .


Using your project outside the app

Click Save Project to download a .rds file that includes everything needed to reload the plot in ggTuneR, plus two ready-to-use ggplot objects: $built_plot , the plot with all your edits applied, and $original_plot , the plot exactly as it was when you loaded it — handy for before/after comparisons or going back to the untouched version.

library(ggplot2)

proj <- readRDS("project.rds")
proj$built_plot           # your edited plot, render anywhere
proj$original_plot        # the plot exactly as loaded, before edits

# Save directly to file:
ggsave("figure.png", proj$built_plot, width = 8, height = 6)

$original_plot is NULL for projects started from an .xlsx workbook (there was no original plot) and for projects saved with older versions of ggTuneR.

Report a Bug

Found something broken or unexpected? Let us know below.