Python 数据可视化之密度散点图 Density Scatter Plot
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gaussian_kde
# 生成模拟数据
np.random.seed(0)
data = np.vstack((np.random.normal(5, 2, 200), np.random.normal(5, 2, 200)))
# 计算KDE
kde = gaussian_kde(data.T)
x, y = np.mgrid[0:10:200j, 0:10:200j]
z = kde((x.ravel(), y.ravel())).reshape(x.shape)
# 绘制散点图
fig, ax = plt.subplots(figsize=(8, 6))
ax.scatter(data[0], data[1], c='k', s=3, edgecolor='')
ax.contourf(x, y, z, levels=10, cmap=plt.cm.Blues_R)
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
ax.set_title('Density Scatter Plot')
ax.set_xlabel('X')
ax.set_ylabel('Y')
plt.show()
这段代码首先生成了两组正态分布的模拟数据,并使用scipy.stats.gaussian_kde
计算了这些数据的KDE(Kernel Density Estimate)。然后,使用matplotlib.pyplot
绘制了这些数据的散点图,并在其上绘制了KDE的10条等高线,代表不同密度的区域。最后,展示了图表。这是一个常用于可视化数据分布的方法。
评论已关闭