title: Set specific fill colors in ggplot2 by sign
body: <p>Hi wanted to adjust the following chart so that the values below zero are filled in red and the ones above are in dark blue. How can I do this with ggplot2?</p>
  
  <pre><code>   mydata = structure(list(Mealtime = "Breakfast", Food = "Rashers", `2002` = 9.12, 
                              `2003` = 9.5, `2004` = 2.04, `2005` = -20.72, `2006` = 18.37, 
                              `2007` = 91.19, `2008` = 94.83, `2009` = 191.96, `2010` = -125.3, 
                              `2011` = -18.56, `2012` = 63.85), .Names = c("Mealtime", "Food", "2002", "2003", "2004", "2005", "2006", "2007", "2008","2009", "2010", "2011", "2012"), row.names = 1L, class = "data.frame")
  x=ggplot(mydata) +
    aes(x=colnames(mydata)[3:13],y=as.numeric(mydata[1,3:13]),fill=sign(as.numeric(mydata[1,3:13]))) +
    geom_bar(stat='identity') + guides(fill=F)
  print(x)
  </code></pre>