首页 > 解决方案 > Matplotlib “重” 3D 散点图

问题描述

我需要使用 python 绘制一个 3D 散点图。可视化需要有一个点云来显示一些属于一个区域的点和一些属于另一个区域的点。

这是一个例子。我的真正任务需要使用方程式未描述但任务相似的形状来执行此操作

从 mpl_toolkits.mplot3d 导入 numpy 作为 np 导入 Axes3D 导入 matplotlib.pyplot 作为 plt

points = np.linspace(-10,10,50)
xx,yy,zz = np.meshgrid(points,points,points,indexing='ij')

# cylinder in the meshgrid
cylinder_coordinates = zz**2+yy**2 <= 4

xxCyl = xx[cylinder_coordinates]
yyCyl = yy[cylinder_coordinates]
zzCyl = zz[cylinder_coordinates]

fig = plt.figure()
ax = Axes3D(fig)
ax.scatter(xx,yy,zz,alpha=0.2)
ax.scatter(xxCyl,yyCyl,zzCyl,c='red') 

已经使用上面的代码,我的计算机很难渲染输出。对于真正的任务,它需要永远。有人知道如何执行此任务但使其“更轻”吗?

我希望可视化的数据与统计变量无关。这是一个纯几何问题。我需要证明属于几何的点已根据不同区域正确分类,因此我对它们执行了正确的操作。

标签: pythonmatplotlibscatter-plot

解决方案


推荐阅读