【问题标题】:understanding matplotlib set_bad colormap了解 matplotlib set_bad 颜色图
【发布时间】:2020-12-16 11:11:57
【问题描述】:

我正在运行以下代码片段:

from matplotlib.colors import ListedColormap

cm = ListedColormap(['green','red'])
cm.set_bad(color="black")
cm(np.nan)

我希望 cm(np.nan) 返回黑色,但它确实返回绿色。 如何确定bad/masked/nan/missing值对应的颜色?

【问题讨论】:

  • 不,cm(np.nan) 为我返回 (0.0, 0.0, 0.0, 1.0),我最后检查的是黑色 [RGBA = (0,0,0,1) = #000000]。我使用的是 3.3.3 版
  • 你的版本是什么?看起来 cm(np.nan) 为 here
  • 我使用的是 2.2.2。很好解释。你能回答吗?

标签: python matplotlib missing-data colormap


【解决方案1】:

cm(np.nan) 对于早期版本的 matplotlib 将返回 set_under 的颜色(对你来说似乎默认为绿色)而不是 set_bad。 3.2 版已修复此问题,请参阅 this PR

在版本 >= 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 即可获得具有预期行为的最新版本。

【讨论】:

    猜你喜欢
    • 2020-09-30
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 2021-09-30
    • 2019-10-22
    相关资源
    最近更新 更多