【问题标题】:matplotlib modified color map with white as zeromatplotlib 修改颜色图,白色为零
【发布时间】:2018-06-21 19:25:41
【问题描述】:

一些标准的matplotlibcmaps,例如viridisjet小值中显示深色。虽然这是我需要的,但我希望它们不显示任何内容,即如果值完全为零,则显示白色背景。对于非零值,该颜色图的常用颜色很好。

可以这样做吗?

【问题讨论】:

    标签: python matplotlib colormap


    【解决方案1】:

    您宁愿从数据中屏蔽零,例如将这些值设置为 nan 或使用掩码数组。然后你就可以 set_bad("white") 为你的颜色图。

    【讨论】:

    • 谢谢。奇迹般有效!但只是最后一个(也许有点笼统)的问题。通常是更快地掩蔽(即zz = np.ma.masked_where(zz < 0.2, zz))还是为大型矩阵分配NaN(即zz[zz<0.2] = np.NaN)?例如
    • 我其实不知道。我猜想将元素设置为 nan 比使用 ma 数组更快。但是话又说回来,在绘图时,您最关心的是绘制时间,不绘制掩码数组可能与不绘制 nans 一样快。 IPython %timeit 魔法是你自己去发现的好东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 2013-04-15
    相关资源
    最近更新 更多