title: ggplot2 heatmap with colors for ranged values
body: <p>I want to make a heatmap in ggplot2. My toy data and code is:</p>
  <pre><code>set.seed(12345)
  dat &lt;- 
    data.frame(
        Row = rep(x = LETTERS[1:5], times = 10)
      , Col = rep(x = LETTERS[1:10], each = 5)
      , Y = rnorm(n = 50, mean = 0, sd = 1)
      )
  library(ggplot2)
  p &lt;- ggplot(data =  dat, aes(x = Row, y = Col)) + 
        geom_tile(aes(fill = Y), colour = &quot;white&quot;) +
        scale_fill_gradient(low = &quot;white&quot;, high = &quot;steelblue&quot;)
  p
  </code></pre>
  <p>I want to have color scheme for ranged values like this:</p>
  <pre><code>-3 &lt;= Y &lt; -2  ---&gt; Dark Blue
  -2 &lt;= Y &lt; -1  ---&gt; Blue
  -1 &lt;= Y &lt;  0  ---&gt; Light Blue
   0 &lt;= Y &lt;  1  ---&gt; Light Green
   1 &lt;= Y &lt;  2  ---&gt; Green
   2 &lt;= Y &lt;= 3  ---&gt; Dark Green
  </code></pre>