Paul Murrell on Incorporating Images in R Charts

July 13, 2011

(This article was first published on Revolutions, and kindly contributed to R-bloggers)

Thanks to everyone at who attended last night's Bay Area R User Group meeting, and a special thanks to our hosts Socialize (a company that makes a mobile SDK for application developers that increases user engagement) who were very generous in letting the group use their San Francisco digs for the meeting. Reflexive thanks also go to the Revolution Analytics community team for sponsoring BARUG and providing refreshments.

At last night's meeting, R core member Paul Murrell gave a wonderful talk about the new raster image support available in recent versions of R (since version 2.11.0). Raster graphics support makes it easy in R to incorporate images into charts created like R. So if you want to incorporate a photo background into an infographic, or connect a series of PNG icons into a network diagram, or use an image as a scatterplot mark, all of that is now possible in R. You lay out images any way you like, in fact, as Paul showed:

Photo album in R

(Paul's slides aren't on-line yet, hence the phone camera shot above. I'll link to his slides here when they're available.) As an added bonus, raster images are much more efficient than the "old" way of doing things in R (by drawing lots of little squares, one by one). As a result, plots that contain raster images — like image plots and heatmaps — render much faster in R, and create smaller and higher-quality exported image files. (If you're a regular user of the image function in R, for example, you should make a habit of using the new useRaster=TRUE option.)

The 'a-ha' moment for me in the talk, though, was that these facilities now make R a scriptable alternative to image editors like ImageMagick or GIMP. Paul showed a great example of producing an infographic by defining an area to cut-and-paste out using a polygonal mask, and then colour-correcting the image within that shape (to create a transparent overlay). Sure, all of these things are easy to do in image-processing tools, but by doing it in an R script it makes the process automated and repeatable — perfect if you want to recreate an infographic on a daily basis with updated data, for example.

You can see some code examples working with images in R from Chapter 18 of the forthcoming second edition of Paul's book, R Graphics.

Bay Area R User Group: Paul Murrell: Is Image Everything?

To leave a comment for the author, please follow the link and comment on their blog: Revolutions. offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Tags: , , ,

Comments are closed.


Mango solutions

RStudio homepage

Zero Inflated Models and Generalized Linear Mixed Models with R

Dommino data lab

Quantide: statistical consulting and training



CRC R books series

Six Sigma Online Training

Contact us if you wish to help support R-bloggers, and place your banner here.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)