title: Midpoint of discrete diverging scale in ggplot2
body: <p>I'm working with some grid data and I'm having problems with working with discrete diverging scales. Specifically, how to set the midpoint so it's not at the center of the range. This is a reproducible example to get what i mean:</p>
  
  <pre><code>library(ggplot2)
  grid &lt;- expand.grid(lon = seq(0, 360, by = 2), lat = seq(-90, 0, by = 2))
  grid$z &lt;- with(grid, cos(lat*pi/180) - .7)
  
  ggplot(grid, aes(lon, lat)) +
    geom_raster(aes(fill = cut_width(z, .1))) +
    scale_fill_brewer(palette = "RdBu")
  </code></pre>
  
  <p><img src="https://i.imgur.com/g8fUoN3.png" alt=""></p>
  
  <p>Here, the center of the scale is not a the divide between positive and negative values. I know I could use a continuous scale, but I find that having fewer colours help with what I'm trying to show. </p>
  
  <p>Is there a way to shift the midpoint in a discrete scale? Other alternatives that achieve the same result are welcome too. </p>