Learn R Programming

⚠️There's a newer version (1.0.2) of this package.Take me there.

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 0.2.3.
https://CRAN.R-project.org/package=ggrastr

Copy Link

Version

Install

install.packages('ggrastr')

Monthly Downloads

13,974

Version

0.2.3

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Last Published

March 1st, 2021

Functions in ggrastr (0.2.3)

geom_boxplot_jitter

This geom is similar to geom_boxplot, but allows to jitter outlier points and to raster points layer.
geom_beeswarm_rast

This geom is similar to geom_beeswarm, but creates a raster layer
geom_violin_rast

This geom is similar to geom_violin, but creates a raster layer
rasterise

Rasterise ggplot layers Takes a ggplot layer as input and renders their graphical output as a raster.
theme_pdf

Pretty theme
geom_tile_rast

This geom is similar to geom_tile, but creates a raster layer
geom_quasirandom_rast

This geom is similar to geom_quasirandom, but creates a raster layer
geom_jitter_rast

This geom is similar to geom_jitter, but creates a raster layer
geom_point_rast

This geom is similar to geom_point, but creates a raster layer