Author: Matthew Leonawicz ORCID logo
License: MIT

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Travis build status AppVeyor build status Codecov test coverage

CRAN status CRAN downloads Github Stars

Make memorable plots with memery.

The memery package generates internet memes that optionally include a superimposed inset plot and other atypical features, combining the visual impact of an attention-grabbing meme with graphic results of data analysis.

The package differs from related packages that focus on imitating and reproducing standard memes. Some packages do this by interfacing with online meme generators whereas others achieve this natively. This package takes the latter approach. It does not interface with online meme generators or require any authentication with external websites. It reads images directly from local files or via URL and meme generation is done by the package.

While this is similar to the meme package available on CRAN, it differs in that the focus is on allowing for non-standard meme layouts and hybrids of memes mixed with graphs. While this package can be used to make basic memes like an online meme generator would produce, it caters primarily to hybrid graph-meme plots where the meme presentation can be seen as a backdrop highlighting foreground graphs of data analysis results.

The package also provides support for an arbitrary number of meme text labels with arbitrary size, position and other attributes rather than restricting to the standard top and/or bottom text placement. This is useful for proper aesthetic interleaving of plots of data between meme image backgrounds and overlain text labels. The package offers a selection of templates for graph placement and appearance with respect to the underlying meme. Graph templates also permit additional template-specific customization. Animated gif support is provided but this is optional and functional only if the magick package is installed.


Install the CRAN release of memery with

Install the development version from GitHub with

# install.packages("remotes")

See the vignette for an overview with usage examples.


Contributions are welcome. Contribute through GitHub via pull request. Please create an issue first if it is regarding any substantive feature add or change.

If you enjoy my open source R community contributions, please consider a donation :).

Please note that the memery project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.