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

使用Python绘制2D内核密度估计图,第1张

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

这是使用

scipy
matplotlib
仅解决方案:

import numpy as npimport matplotlib.pyplot as plimport scipy.stats as stdata = np.random.multivariate_normal((0, 0), [[0.8, 0.05], [0.05, 0.7]], 100)x = data[:, 0]y = data[:, 1]xmin, xmax = -3, 3ymin, ymax = -3, 3# Peform the kernel density estimatexx, 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 plotcfset = 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 plotcset = ax.contour(xx, yy, f, colors='k')# Label plotax.clabel(cset, inline=1, fontsize=10)ax.set_xlabel('Y1')ax.set_ylabel('Y0')pl.show()

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

它具有一个不透明的x轴,一个不透明的y轴以及轮廓上的密度值。这是预期的结果吗?



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5673573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存