我正在尝试绘制叠加的等高线图(针对KDE绘制的正态分布)。我已经达到了创建轮廓的程度,但我坚持让它们重叠。理想情况下,我想要的是绘图区域从近透明到高度不透明的平滑变化,由样本着色。我相信如果我可以将每个轮廓填充到相同的alpha
级别,我可以这样做,但我无法轻松调试:是否可以访问QuadContourSet
的基础艺术家?有更好的方法吗?
以下是相关代码:
for sample in samples:
x = data[sample.id]
# Plot probability density function
res = sample.res
T = res.params[0]
s = res.bse[0]
# Peform the kernel density estimate
xx, yy = N.mgrid[x.min():x.max():1000j, -3*s:3*s:1000j]
yy += T
kernel = gaussian_kde(x)
P = norm.pdf(yy.ravel(),T,s)
v = kernel(xx.ravel())*P
f = N.reshape(v, xx.shape)
cset = comp_ax.contour(xx, yy, f,colors=sample.color, alpha=0.5)
我也玩过contourf
(特别是使用从透明到所需颜色的自定义色彩图),但这无处可去。关于这种方法的任何建议也会受到欢迎。
这就是我现在的位置(为布局卫生不良而道歉)......