Python 三维散点图的Matplotlib替代方案

Python 三维散点图的Matplotlib替代方案,python,matplotlib,scatter3d,Python,Matplotlib,Scatter3d,在应用主成分分析或线性判别分析后,我很难使用Matplotlib将数据的重投影结果可视化为三维。在做散点图之后,我无法在轻松缩放时旋转数据或更改视点(即使在缩放后旋转轴仍保持不变,如果缩放过多的点,则会消失),每次更改都需要一秒钟的时间。Matplotlib非常有用,但是对于这个特定的用例,它开始变得非常令人沮丧,因为它可能不是为这样的任务而设计的。Python中是否有Matplotlib的替代方案可以更好地处理3d散点图,并且可以在云中流畅地导航 下图显示了一个示例。我在每个数据集群周围绘制了

在应用主成分分析或线性判别分析后,我很难使用Matplotlib将数据的重投影结果可视化为三维。在做散点图之后,我无法在轻松缩放时旋转数据或更改视点(即使在缩放后旋转轴仍保持不变,如果缩放过多的点,则会消失),每次更改都需要一秒钟的时间。Matplotlib非常有用,但是对于这个特定的用例,它开始变得非常令人沮丧,因为它可能不是为这样的任务而设计的。Python中是否有Matplotlib的替代方案可以更好地处理3d散点图,并且可以在云中流畅地导航

下图显示了一个示例。我在每个数据集群周围绘制了对应于特定类的球体,并用红色标记了重叠球体。现在我想看看这些球体是如何相交的。我认为Matplotlib最大的问题是它不允许用鼠标移动整个图形,它只允许围绕一个固定点旋转,一旦你稍微放大一点,事情就会变得非常混乱


matplotlib对于3d图形还不是很成熟:

mplot3d旨在允许用户创建与matplotlib的2D绘图具有相同“外观和感觉”的简单3D图形。此外,用户可以使用他们已经熟悉的相同工具包来生成二维和三维绘图

我不认为在3d绘图中轻松导航是可行的(如果不调整库,即使3d缩放也是不可能的)。mplot3d在一开始并不是真正打算成为一个成熟的3D图形库,但对于需要基本3D和熟悉matplotlib 2D绘图结构的人来说更是一个不错的补充

您可能想看看MayaVI(它非常好):

MayaVi2是一个功能强大的3D图形库。对于高级3D场景和出色的渲染功能,强烈建议使用MayaVi2


请注意,与matplotlib不同,MayaVI尚未与Python3兼容(并且在可预见的将来可能不兼容),因此您需要安装Python2。

一个非常好的替代方案,但不是在Python中,是ILNumerics()的3D绘图。它在.NET中

Matplotlib在3D环境下运行正常,但在需要交互性时不会太快:

Mayavi速度非常快,并且与Python 3兼容:


不知道没有代码的情况下具体是什么问题,但您是否查看过这里:正如我刚才所说,Matplotlib不允许在云上进行良好的旋转和缩放。当你绘制几千个点时,它会像地狱一样滞后。你可以使用三角形图来显示从K维空间到2D的不同投影()matplotlib对于3d图形来说还不太成熟:。我不认为在3d绘图中轻松导航是可能的(如果不调整库,甚至3d缩放也是不可能的)。你可能想看看玛雅维。@Nihl非常感谢,玛雅维正是我需要的:),你可以把它变成一个答案。