ipyvolumeでインタラクティブ3Dプロット

提供: Eospedia
移動: 案内検索

参考

  • 開発者(Maarten Breddels)によるプレゼン @ SciPy conference 2018

インストール

私はJupyterLab使う人なのでJupyterLab用のインストール手順に従った。既に nodejs (v12.3.1)インストール済みの環境で、以下を実行。

$ jupyter labextension install @jupyter-widgets/jupyterlab-manager
$ jupyter labextension install ipyvolume
$ jupyter labextension install jupyter-threejs

なんか警告がいっぱい出た。ちょっと何言ってるかよくわかんないのでとりあえず無視して進める。

上記だけだと ipyvolume 自体はインストールされなかったので、別途 pip でインストール。

$ pip install ipyvolume

使ってみる

JupyterLabの拡張機能を追加したので、よくわかんないけど再起動が必要なような気がするから、まずはJupyterサーバーを再起動。

その上で、https://ipyvolume.readthedocs.io/en/latest/examples.html にある例をとりあえず試し、動作確認した。

で、やりたいことは、以下のプロットを3Dでグリグリ回して色んな方向から見ること。

ipyvolume-01.png


ipyvolume触ってみてわかったこと

  • scatter関数、meshgridに対応していない、なんか知らんけど
  • matplotlibとAPIは似ているけどオプションがなかったりする
    • ただでさえmatplotlibは覚えきれないのにまた違うのを覚えるとか、ちょっとうんざり


めんどくさいのでpendingにします...


追記

  • 代わりに以下のようなものを見つけた。
    • https://github.com/matplotlib/jupyter-matplotlib
      • 3Dだとちょっとバグっぽい挙動があったり、あんまり3Dぽく見えなかったりと難点があるが、上に示したようなグラフをとりあえず簡単にくるくる回したい程度ならこっちで十分かも。
      • マジックコマンド %matplotlib widget でmatplotlibの描画バックエンドを変えるだけなので、コード自体を変更する必要も何か使い方を覚える必要もなし。