matplotlib hexbin 中的零值颜色
我有一些空间分布的数据。我正在用 matplotlib.pyplot.hexbin
来绘制这些数据,并且想要改变“背景”(也就是零值)的颜色。下面是一个例子 - 我选择的颜色映射是 matplotlib.cm.jet
:
我该如何把基础颜色从蓝色改成白色呢?我之前在使用 pcolormesh
时做过类似的事情,使用了掩码数组,但在 hexbin
的参数中找不到这样做的方法。我觉得可以直接编辑颜色映射,但我对这方面的经验不多。
我使用的是 matplotlib 版本 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)
则会得到,
