title: ggplot - heat color palette
body: <p>i want a color scale like in the picture:</p>
  
  <p><a href="https://i.stack.imgur.com/9S9cM.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/9S9cM.png" alt="enter image description here"></a></p>
  
  <p>So from top to buttom we have:</p>
  
  <p>a very bright yellow (white-ish), orange, red, black, blue, light blue to very bright blue (white-ish)</p>
  
  <p>I want a value of 0 always to be displayed as "black". The smallest (negative) value should be that "extreme bright blue". The biggest value (postive) should be the "extreme bright yelllow".</p>
  
  <p>Please note that the min and max are not equally distant from the origin 0.</p>
  
  <p>Thats where i am:</p>
  
  <pre><code>library(ggplot2)
  df &lt;- data.frame(xDim = c(0, 1, 2, 0, 1, 2, 0, 1, 2), yDim = c(2, 2, 2, 1, 1, 1, 0, 0, 0), high = c(0, -1, 6, -3, 8, 5, -2, 7, 5))
  
  ggplot(df, aes(xDim, yDim)) +
      geom_raster(aes(fill = high)) +
      scale_fill_gradient2(low = "blue", mid = "black", high = "red", midpoint = 0)
  </code></pre>