This post is an instructional one on how to plot a chart on top of a background image in ggplot2 and R. The motivation for plotting on a background may just be a design choice or it may serve the purpose of supporting the message of the chart. I will show how i create my previous post's chart showing the location of successful free kicks on a football pitch. Below code creates a 10x10 matrix with normally distributed doubles, which we will use as dummy data so you can easily replicate the results. N We can convert this into a data frame and plot the initial data. library(ggplot2) df Next we need a background image which you can import with the jpeg package. In my case this is a picture of half a football pitch. library(jpeg) img We can now combine these two parts and annotate the background image to the ggplot plot. We are using ggplot's annotation_custom and the rasterGrob function of the grid package. Essentially we are saying not to scale the imported...