感谢mwaskon推荐mayavi图书馆。
我在mayavi重新创建了密度散点图,如下所示:import numpy as np
from scipy import stats
from mayavi import mlab
mu, sigma = 0, 0.1
x = 10*np.random.normal(mu, sigma, 5000)
y = 10*np.random.normal(mu, sigma, 5000)
z = 10*np.random.normal(mu, sigma, 5000)
xyz = np.vstack([x,y,z])
kde = stats.gaussian_kde(xyz)
density = kde(xyz)
# Plot scatter with mayavi
figure = mlab.figure('DensityPlot')
pts = mlab.points3d(x, y, z, density, scale_mode='none', scale_factor=0.07)
mlab.axes()
mlab.show()
将“缩放模式”设置为“无”可防止图示符按比例缩放到密度向量。除了对大型数据集,我还禁用了场景渲染,并使用了一个遮罩来减少点的数量。# Plot scatter with mayavi
figure = mlab.figure('DensityPlot')
figure.scene.disable_render = Tru