【发布时间】:2018-06-21 19:25:41
【问题描述】:
一些标准的matplotlibcmaps,例如viridis或jet在小值中显示深色。虽然这是我需要的,但我希望它们不显示任何内容,即如果值完全为零,则显示白色背景。对于非零值,该颜色图的常用颜色很好。
可以这样做吗?
【问题讨论】:
标签: python matplotlib colormap
一些标准的matplotlibcmaps,例如viridis或jet在小值中显示深色。虽然这是我需要的,但我希望它们不显示任何内容,即如果值完全为零,则显示白色背景。对于非零值,该颜色图的常用颜色很好。
可以这样做吗?
【问题讨论】:
标签: python matplotlib colormap
您宁愿从数据中屏蔽零,例如将这些值设置为 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 魔法是你自己去发现的好东西。