Pythonで3Dデータの可視化を行うため、 Mayavi の導入を行いました。
最終的には、以下のような 3D図をJupyterノートブック内に表示させることが目標です。
本記事の内容は、
- Anaconda3によるPython環境
- Linux オペレーティングシステム
のもとで行いました。
なお、以下の記事も参考にしています。
Mayavi のインストール
Mayaviの導入には色々な周辺ライブラリのインストールが必要です。特に後述するvtkにはバージョン指定が必要だったりするので、他の作業環境を壊さないよう、専用の仮想環境内を整えることにします。
Anacondaでpython 3.6のための仮想環境を作成するには
conda create -n mayavi python=3.6
を行います。
ここでは mayavi という名前の仮想環境を作成しました。
仮想環境内に入るためには
source activate mayavi
を実行します。
必要なライブラリを conda-forge チャンネルからインストールします。
conda install -y -c conda-forge qt pyvtk pyside envisage mesalib
なお、この記事 では vtk, mayavi も conda コマンドからインストールするよう書いてありますが、そのまま実行するとインストール自体は終了するものの
python -c "from mayavi import mlab"
のように mayavi をインポートしようとすると
ModuleNotFoundError: No module named 'vtkIOParallelPython'
と言われ、インストールがうまく行っていないことがわかります。
どうも Anaconda にある vtk のバイナリパッケージに不具合があるらしく、このままでは使うことができません。
そのため、今回は vtk と mayavi をpipからインストールすることにしました。
(その際にCythonも必要なのでAnacondaから入れておきます。)
conda install cython
pip install vtk mayavi
インストールの確認
うまくインストールできているか確認するため、以下を実行します。
from mayavi import mlab
mlab.test_plot3d()
mlab.show()
JupyterでMayaviを使う
Jupyterノートブック内でMayaviを表示させます。
まだこの環境には mayavi を動かす最低限のライブラリしかインストールできていないので、必要に応じてライブラリをインストールしましょう。
ここでは、numpy, scipy, jupyter をインストールします。
conda install numpy scipy jupyter
さらに、Jupyter内で mayavi を表示させるためには Jupyter の拡張機能が必要です。 公式サイト に従って、これについてもインストールします。
jupyter nbextension install --py mayavi --user
Jupyterノートブック内で、
from mayavi import mlab
mlab.init_notebook()
mlab.test_plot3d()
とすると、ノートブック内に描画できます。