我正在运行以下代码片段:
from matplotlib.colors import ListedColormap
cm = ListedColormap(['green','red'])
cm.set_bad(color="black")
cm(np.nan)
我希望cm(np.nan)返回黑色,但它确实返回绿色。如何确定与坏/蒙面/nan/缺失值对应的颜色?
发布于 2020-12-16 11:26:21
对于matplotlib的早期版本,cm(np.nan)
将返回set_under
的颜色(对于您来说,这似乎默认为绿色),而不是set_bad
。这是修正的版本3.2,请参阅这个公关。
在>= 3.2版上,此功能如预期的那样工作:
from matplotlib.colors import ListedColormap
matplotlib.__version__
# '3.3.3'
cm = ListedColormap(['green','red'])
cm.set_bad(color="black")
cm(np.nan)
# (0.0, 0.0, 0.0, 1.0)
IOW,只需pip install --update matplotlib
就可以获得最新版本的预期行为。
https://stackoverflow.com/questions/65322133
复制相似问题