matplotlib/matplotlib — pull request #3858 by phobson (2014-11-27 16:31:23+00:00)
Title: WIP: Add offset, symmetrical normalizers

Not currently on a good machine for development, but I think this pretty straight-forward, so hopefully Travis a test runner will suffice...

`OffsetNorm`: This let's you set vmin, vcenter, and vmax. The use case for this is when you have data ranging from e.g., -1, to +2, and you want the the white/gray part at 0, but would also like to use the full range of the red scale. So:

```python
offset = mcolors.OffsetNorm(vmin=-1, vcenter=0, vmax=2)
offset([-1.0, -0.5, 0.0, 1.0, 2.,])

#prints
[0, 0.25, 0.5, 0.75, 1.0]
```

Next I'll add `SymNorm`, that will look at the absolute values of vmin and vmax to produce:
```python
sym = mcolors.SymNorm(vmin=-1, vcenter=0, vmax=2)
sym([-1.0, -0.5, 0.0, 1.0, 2.,])

#prints
[0.25, 0.325, 0.5, 0.75, 1.0]
```