Skip to main content

Posts

Showing posts with the label r

[How-To] Installation of gganimate and devtools for R in an Anaconda environment

I have recently started to play around with gganimate to create some animated graphs based on the ggplot framework. This allows you to include another dimension in your chart, e.g. a time dimension for a scatter plot and save them as gifs. You can see some cool examples on the gganimate github page which I linked before. I had some complication with installing devtools which is necessary to install gganimate through github. I think I only had these problem because I am running R/RStudio in the Anaconda environment. When trying to install devtools through install.packages("devtools") I got the below error: x86_64-apple-darwin13.4.0-ar: no such file or directory make: *** [libmygit.a] error 1 error: compilation failed for package ‘git2r’ devtools requires git2r to be installed as a dependency but somehow this failed for my R environment. The solution to my problem was to install git2r beforehand through Anaconda directly by running the following line in the ...

[How-To] How to plot a chart on top of a background image in ggplot2

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...