title: How can I plot NaN values as a special color with imshow in matplotlib?
body: <p>I am trying to use imshow in matplotlib to plot data as a heatmap, but some of the values are NaNs. I'd like the NaNs to be rendered as a special color not found in the colormap.</p>
  
  <p>example:</p>
  
  <pre><code>import numpy as np
  import matplotlib.pyplot as plt
  f = plt.figure()
  ax = f.add_subplot(111)
  a = np.arange(25).reshape((5,5)).astype(float)
  a[3,:] = np.nan
  ax.imshow(a, interpolation='nearest')
  f.canvas.draw()
  </code></pre>
  
  <p>The resultant image is unexpectedly all blue (the lowest color in the jet colormap).  However, if I do the plotting like this:</p>
  
  <pre><code>ax.imshow(a, interpolation='nearest', vmin=0, vmax=24)
  </code></pre>
  
  <p>--then I get something better, but the NaN values are drawn the same color as vmin... Is there a graceful way that I can set NaNs to be drawn with a special color (eg: gray or transparent)?</p>