性能面では、mayavi
にプロットすると次のコードスニペットがうまく機能します。Pythonの10,000+ Point 3Dスキャッタプロット(クイックレンダリング付き)
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')
しかしmayavi
は一度チョークを開始します。 matplotlib
の類似の3Dプロットルーチン(Axes3D.scatter
)は、このサイズのデータセットで同様に苦労しています(最初はmayavi
を調べ始めました)。
最初に、10,000+ポイント散布図をレンダリングするのがはるかに簡単になるように、私が紛失しているmayavi
(些細でも重要なものでも)に何かがありますか?
第2に、上記の答えがいいえの場合、他のどのようなオプション(mayavi
または別のpythonパッケージのいずれか)でこの大きさのデータセットをプロットする必要がありますか?
私はParaViewにタグを付けて、そのレンダリングを追加するだけで、ParaViewのデータは非常にスムーズになり、私が何か不合理なことをやろうとしているとは信じられません。
更新:2Dグリフなどのモードを指定するには、
高速化物事アップに向けた長い道のりを行きます。例えば。
mlab.points3d(x, y, z, s, colormap="RdYlBu", scale_factor=0.02,
scale_mode='none', mode='2dcross')
は、誰でも簡単に3Dのグリフのレンダリングを高速化する方法についていくつかの情報を追加することができればそれはまだいいだろう、最大100,000ポイント
をサポートすることができます。
この質問を蘇らせていただきありがとうございます! VisPyは非常に強力な視覚化パッケージであるようですが、一見すると、APIはPythonパッケージで使用されていたよりも複雑で、特に動的な描画/レンダリングに適しています。とにかく、私はそれが次の日に私の目的に合っているかどうか、ありがとう! – lanery