もっとたくさんのパーティクルを除いて、このようなプロットを作りたいと思います。 Matplotlibは悲惨なほど不十分です。 jupyterノートを走るのpython 3.5でpython-- mayaviから生成された多数の積み重ねられた球をプロットする?パラビューとpyevtk? .npyを.vtkに変換する方法
今私が使用していますmayavi。 5x10^5球をプロットする必要があるので、時間はすでに2x10^4球での制限因子であるため、実用的ではありません。
ここで私のパイソンコードはmayaviプロットを生成します。私は値[a、r、x、y、z]の数の少ない配列を持っています。この問題の最初の数量は関係ありません。
"""VISUALIZATION WITH MAYAVI"""
#I think this is too slow to be practical.
#view particles with mayavi
import mayavi
from mayavi import mlab
%gui qt
def plot_sphere(p): #feed it p and get back a sphere \n",
t1,R,a,b,c = p
[phi,theta] = np.mgrid[0:2*np.pi:12j,0:np.pi:12j] #increase the numbers before j for better resolution but more time
x = R*np.cos(phi)*np.sin(theta) + a
y = R*np.sin(phi)*np.sin(theta) + b
z = R*np.cos(theta) + c
return mlab.mesh(x, y, z)
#run s over all particles and plot it
def view(particles):
for p in particles:
plot_sphere(p)
view(spheres)
このコードは次のようにプロットを生成します。私は、私は、その後、evtkを使用してファイルを.vtkために私のnumpyのアレイを書いてあるParaViewでこれらを可視化になるはずと言われている
。私はparaviewをダウンロードし、thisを読むが、おそらく私のバージョンのpythonは私を制限しているのだろうか?最初に、pyevtkをインストールしてください - okay: 私はconda install -c opengeostat pyevtk = 1.0.0をインストールしようとしましたが、Pythonバージョンとの互換性がないために失敗します。私は詳細を探しましたが、何も見つかりませんでした。
次へ私はリポジトリ[ここ] [https://pypi.python.org/pypi/PyEVTK/1.0.0]]をダウンロードし、ピップを使用して正常にインストールしました。
次へ私はevtk.py、vtk.py、hl.py、xml.pyを入れ、リポジトリにいくつかの例を試しました。どれも動作しません。いくつかの問題があると思われます。
from .vtk import *
コマンドがあります。私は4つの.pyファイルでこれらすべてを置き換えようとしました。
from evtk import vtk
from vtk import *
などですが運はありません。長い話を簡単に言えば、pyevtkがnumpy配列を.vtkファイルとしてエクスポートすることはできません。私はこの点でいくつかの助けをすることができました、またはより良いまだ私は、私のnumpy配列をparaviewでレンダリングする別のオプションが大好きです。どんな助けもありがとう!