matplotlib hist2d 用于空像素的颜色映射

9

我发现将空像素设置为白色的一般方法是使用对数归一化(colormap)。

有没有一种方法可以使用线性(colormap),但仍将空像素设置为白色?

谢谢!

2个回答

11
在新版本的matplotlib中,您可以简单地使用cmin = 1,即。
plt.hist2d(x,y,cmin = 1)

将所有计数少于一的箱子设置为NaN,即非可见。如果您的背景是白色(默认),那么这些箱子将显示为白色。但它们会随着背景而改变。


9
你可以使用'.set_under':
import matplotlib.pyplot as plt

my_cmap = plt.cm.jet
my_cmap.set_under('w',1)
...
plt.hist2d( ..., cmap = my_cmap)

这将把所有小于1的值(即最低计数)设置为'w'(=白色)。


非常好的简单解决方案。 - frankliuao
6
以防万一,如果发现它不起作用,可以在hist2d参数中添加vmin=1。 - frankliuao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接