Antialias plotting in R using Cairo

In my recent post on spatial SQL queries, I included plots showing the results of my performace tests.  I wanted to show the results, and a graph is good for that, but I wasn’t completely happy with the graphics. Mainly because they lack antialiasing.

I plotted the graphs using R and refuse to believe that R can not do a better job at it.

So a bit of googling tells me that indeed R can.  If I use the Cairo package for plotting.

With the plain old plotting to png, using some random points for a plot:

I get a result like this:

Pretty ugly, right?

Well, installing Cairo and plotting

gives me this:

I was hoping for more of an improvement. It is a little better, but it still looks a bit ugly on the webpage.

The improvement when I look in an image viewer is great, but the rendering here isn’t improved much.

So I’m back to looking for ways to get better graphics on my blog…


This week in the blogs

Well, everyone else seems to summarise the posts they found interesting during the week, so it is only fair that I get to as well.  Even with my new year resolution of posting on average a post per day, I cannot cover all the posts I find interesting, so it also gives me an opportunity to simply list a lot of links and perhaps group related posts so you have a chance of reading them together.

In this first installation, though, I’m going to go back a little further this month as well, though, since I collected a few interesting links there. Anyway, here goes:


  1. Sequences from first settlers reveal rapid evolution in Icelandic mtDNA pool (PLoS Genetics)
    1. Genetic variation in space & time – Iceland (Gene Expression)
    2. The genetic history of Iceland (Genetic Future)
    3. Ancient DNA analysis of the Icelandic settlers (Me!)
    4. Genetic drift eliminated rare mtDNA haplotypes from Iceland (John Hawks)
    5. mtDNA selection in Iceland? (John Hawks)
  2. Pervasive Hitchhiking at coding and regulatory sites in humans (PLoS Genetics)
    1. Humans have adapted on genome-wide level? (Gene Expression)
    2. How much selection is going on in humans? (Me!)
  3. A genome-wide genetic signature of Jewish ancestry perfectly separates individuals with and without full Jewish ancestry in a large random sample of European Americans (Genome Biology)
    1. How Ashkenazi Jewish are you? (Gene Expression)
    2. Another paper on Ashkenazi Jewish distinctiveness (Dienekes)

Sequences and alignments

  1. Phylogenetic inference under recombination using Bayesian stochastic topology selection (Bioinformatics)
    1. Phylogenetic inference under recombination using Bayesian stochastic topology selection (Me!)
  2. The experts agree (Finchtalk)


  1. Dynamic languages: Not just for scripting any more (CIO)
  2. Emacs 23 (emacs-fu)


  1. Making classes interactive: better learning or just more fun? (Discovering Biology in a Digital World)
  2. TeacherTube: YouTube for teachers (Discovering Biology in a Digital World)
  3. Students know what physicists believe, but they don’t agree: A study using the CLASS survey (Phys. Rev. ST Phys. Educ.)
    1. Students know what physicists belive, but they don’t agree (Uncertain Principles)

Peer reviewing

  1. How are the mighty fallen (Michael Nielsen)
  2. Three myths about scientific peer review (Michael Nielsen)