lan*_*ery 6 python matplotlib mayavi paraview
在性能方面,以下代码片段在mayavi.
import numpy as np
from mayavi import mlab
n = 5000
x = np.random.rand(n)
y = np.random.rand(n)
z = np.random.rand(n)
s = np.sin(x)**2 + np.cos(y)
mlab.points3d(x, y, z, s, colormap="RdYlBu", scale_factor=0.02, scale_mode='none')
Run Code Online (Sandbox Code Playgroud)
而是mayavi开始噎住了n >= 10000。matplotlib, ( Axes3D.scatter) 中类似的 3d 绘图例程同样难以处理这种大小的数据集(为什么我首先开始研究mayavi)。
首先,在mayavi(琐碎的或非平凡的)中是否有一些我遗漏的东西会使 10,000 多个点散点图更容易渲染?
其次,如果上面的答案是否定的,那么mayavi我还需要哪些其他选项(在python 包中或不同的 python 包中)来绘制这种量级的数据集?
我标记 ParaView 只是为了添加在 ParaView 中渲染我的数据非常顺利,这让我相信我并没有试图做任何不合理的事情。
更新:
将模式指定为 2D 字形对加快速度大有帮助。例如
mlab.points3d(x, y, z, s, colormap="RdYlBu", scale_factor=0.02,
scale_mode='none', mode='2dcross')
Run Code Online (Sandbox Code Playgroud)
可轻松支持多达 100,000 个点
如果有人可以添加一些有关如何加速 3D 字形渲染的信息,那仍然会很好。
| 归档时间: |
|
| 查看次数: |
5032 次 |
| 最近记录: |