python核密度图_使用Python绘制2D核密度估计

下面是一个溶液中使用scipy和matplotlib只:

import numpy as np

import matplotlib.pyplot as pl

import scipy.stats as st

data = np.random.multivariate_normal((0, 0), [[0.8, 0.05], [0.05, 0.7]], 100)

x = data[:, 0]

y = data[:, 1]

xmin, xmax = -3, 3

ymin, ymax = -3, 3

# Peform the kernel density estimate

xx, yy = np.mgrid[xmin:xmax:100j, ymin:ymax:100j]

positions = np.vstack([xx.ravel(), yy.ravel()])

values = np.vstack([x, y])

kernel = st.gaussian_kde(values)

f = np.reshape(kernel(positions).T, xx.shape)

fig = pl.figure()

ax = fig.gca()

ax.set_xlim(xmin, xmax)

ax.set_ylim(ymin, ymax)

# Contourf plot

cfset = ax.contourf(xx, yy, f, cmap='Blues')

## Or kernel density estimate plot instead of the contourf plot

#ax.imshow(np.rot90(f), cmap='Blues', extent=[xmin, xmax, ymin, ymax])

# Contour plot

cset = ax.contour(xx, yy, f, colors='k')

# Label plot

ax.clabel(cset, inline=1, fontsize=10)

ax.set_xlabel('Y1')

ax.set_ylabel('Y0')

pl.show()

前面的代码给出以下结果:

2Oyd0.jpg

其具有非透明x轴,非 - 透明y轴和轮廓上的密度值。这是预期的结果吗?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值