title: How do you change the axis labels in a list of ggplots?
body: <p>I'm creating a list of ggplots in order to make an animation.  I want to highlight a label on the x-axis, and the position of this highlight changes over the different frames of animation.</p>
  
  <p>Here's a sample plot.  The first axis label should be highlighted in frame one, and the second in frame two.</p>
  
  <pre><code>p &lt;- ggplot(mtcars, aes(factor(cyl), mpg)) + 
    geom_boxplot() 
  p_list &lt;- list()
  
  for(i in 1:2)  
  {
    x_label_cols &lt;- rep("grey50", 3)
    x_label_cols[i] &lt;- "red"
    p_list[[i]] &lt;- p + 
      opts(
        axis.text.x = theme_text(
          colour = x_label_cols
        )
      )
  }
  </code></pre>
  
  <p>Unfortunately, it seems that <code>x_label_cols</code> is evaluated when the plot is printed, not when it is created, so both frames have the second label highlighted.  Thus  <code>print(p_list[[1]])</code> displays incorrectly.</p>
  
  <p>How do I get different axis label colours for each plot in the list?</p>