Rasterize Layers for 'ggplot2'

Rasterize only specific layers of a 'ggplot2' plot while simultaneously keeping all labels and text in vector format. This allows users to keep plots within the reasonable size limit without loosing vector properties of the scale-sensitive information.


CRAN status CRAN downloads

ggrastr

Rasterize only specific layers of a ggplot2 plot (for instance, large scatter plots with many points) while keeping all labels and text in vector format. This allows users to keep plots within a reasonable size limit without losing the vector properties of scale-sensitive information.

Installation

To install the stable version from CRAN, use:

install.packages('ggrastr')

To install the latest version, use:

install.packages('devtools')
devtools::install_github('VPetukhov/ggrastr', build_vignettes = TRUE)

Rasterize any ggplot2 layer

Note that with ggrastr version 0.2.0, any ggplot2 geom provided by the user can be rasterized with the function rasterise(). Furthermore, when the aspect ratio is distorted, points are rendered without distortion.

For more details and examples, see the vignettes:

Geoms provided

We also provide wrappers for several geoms to guarantee compatibility with an older version of ggrastr. However, we encourage users to use the rasterise() function instead.

  • geom_point_rast: raster scatter plots
  • geom_jitter_rast: raster jittered scatter plots
  • geom_boxplot_jitter: boxplots that allows to jitter and rasterize outlier points
  • geom_tile_rast: raster heatmap
  • geom_beeswarm_rast: raster bee swarm plots
  • geom_quasirandom_rast: raster quasirandom scatter plot

Troubleshooting

If your R session crashes when you try to render a rasterized plot, it's probably the case that your version of Cairo was built for another version of R (see Upgrading to a new version of R). To check if you are using a proper version, run the command below and ensure that the "Built" version is the same as your R version.

pkgs <- as.data.frame(installed.packages(), stringsAsFactors = FALSE, row.names = FALSE)
pkgs[pkgs$Package == 'Cairo', c("Package", "LibPath", "Version", "Built")]

To ensure that Cairo works, try running Cairo::Cairo(type='raster'); dev.off() and check if it crashes your R session.

Citation

If you find ggrastr useful for your publication, please cite:

Viktor Petukhov, Teun van den Brand and Evan Biederstedt (2021).
ggrastr: Raster Layers for 'ggplot2'. R package version 1.0.1.
https://CRAN.R-project.org/package=ggrastr

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

1.0.2 by Evan Biederstedt, 3 years ago


https://github.com/VPetukhov/ggrastr


Report a bug at https://github.com/VPetukhov/ggrastr/issues


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


Authors: Viktor Petukhov [aut, cph] , Teun van den Brand [aut] , Evan Biederstedt [cre, aut]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports ggplot2, Cairo, ggbeeswarm, grid, png, ragg

Suggests knitr, maps, rmarkdown, sf


Imported by ClustAssess, HetSeq, RGraphSpace, power.nb, scCustomize, tidyplots.

Suggested by RNAseqQC, SCpubr, Seurat, conos, dittoViz, grandR, hahmmr, numbat, sccore.

Enhanced by ggalign.


See at CRAN