title: ggplot: gradient scale to diverge on specific break
body: <p>I have this data:</p>
  
  <pre><code>df &lt;- data.frame(x = 1:10,
                   y = 1:10,
                   value = c(seq(from = 0.5, to = 3.2, length.out = 9), Inf))
  </code></pre>
  
  <p>which I want to plot with a gradient colour scale highlighting three break values:</p>
  
  <pre><code>breaks &lt;- c(0.5,1,3.2)
  </code></pre>
  
  <p>I want the <code>white</code> colour to highlight my middle breaking value (that is <code>1</code>) and then the other two to increase in intensity as they reach the two tails of the distribution. Yet this will plot</p>
  
  <pre><code>require(ggplot)
  ggplot(df, aes(x,y,colour=value)) + geom_point(size=10) +
    scale_colour_gradientn(colours = c("red","white","blue"),
                           breaks = breaks, labels = format(breaks))
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/fCkPO.png" alt="enter image description here"></p>
  
  <p>with <code>white</code> centered on the mean/median value (<code>1.85</code>). I don't understand what's the point in declaring break points then. </p>