Matplotlib中的零值颜色问题:十六进制网格图。

16

我有一些空间分布的数据。 我正在使用 matplotlib.pyplot.hexbin 绘制它,并希望更改“背景”(即零值)颜色。 下面显示了一个示例 - 我选择的颜色映射为 matplotlib.cm.jet:

Example data

如何将基本颜色从蓝色更改为白色? 当使用 pcolormesh 时,我已经使用掩码数组做过类似操作,但我无法在 hexbin 参数中找到这样做的方式。 我的直觉是编辑颜色映射本身,但我没有太多经验。

我正在使用 matplotlib v.0.99.1.1

1个回答

22

hexbin(x,y,mincnt=1)就能解决问题。基本上,你只想显示那些里面的计数大于 1 的六边形。

from numpy import linspace
from numpy.random import normal
from pylab import hexbin,show

n = 2**6

x = linspace(-1,1,n)
y = normal(0,1,n)

h = hexbin(x,y,gridsize=10,mincnt=0)

给定, 包含零计数的箱子

h = hexbin(x,y,gridsize=10,mincnt=1)则给出, 计数从一开始的箱子


太好了!我不知道怎么会错过那个参数,在 pydoc 中很明显!谢谢。 - Dave
@Dave:没问题。我也花了一些时间才弄明白。 - lafras

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