matplotlib hist2d颜色图为空像素

fra*_*uao 5 python matplotlib

我发现将空像素设置为白色的一般方法是使用lognorm颜色图。

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

谢谢!

小智 6

您可以使用“ .set_under”:

import matplotlib.pyplot as plt

my_cmap = plt.cm.jet
my_cmap.set_under('w',1)
...
plt.hist2d( ..., cmap = my_cmap)
Run Code Online (Sandbox Code Playgroud)

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

  • 以防万一人们发现它不起作用,请在hist2d参数中添加vmin = 1。 (5认同)

Jür*_*aak 5

在 matplotlib 的新版本中,您可以简单地使用cmin = 1,即

plt.hist2d(x,y,cmin = 1)
Run Code Online (Sandbox Code Playgroud)

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