मैं डेटा को हीटमैप के रूप में प्लॉट करने के लिए matplotlib में imshow का उपयोग करने की कोशिश कर रहा हूं, लेकिन कुछ मान NaN हैं। मैं चाहूंगा कि NaNs को एक विशेष रंग के रूप में प्रदान न किया जाए जो कि कॉलोरम में नहीं पाया जाता है।
उदाहरण:
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()
परिणामी छवि अप्रत्याशित रूप से सभी नीले (जेट कॉलोर्मैप में सबसे कम रंग) है। हालांकि, अगर मैं इस तरह की साजिश कर रहा हूं:
ax.imshow(a, interpolation='nearest', vmin=0, vmax=24)
- तब मुझे कुछ बेहतर मिलता है, लेकिन NaN मानों को vmin के समान रंग दिया जाता है ... क्या कोई सुंदर तरीका है कि मैं NaN को एक विशेष रंग (जैसे: ग्रे या पारदर्शी) के साथ तैयार कर सकता हूं?
matplotlib.__version__=='1.2.1'
), यह एक समस्या के बिना काम करता है।