未完放流

終わりなど無い、有るのは試練だけだ……

Jupyter widgets の検討

「Jupyter notebook でグラフをグリグリできると良いな」とwidgetsのページを見ながら考えていたので、 検討してみました。

結果として現状標準機能は自分の用途には合わず、Jpyter Labに期待という感じです。

jupyter.org

JupyterはRとbashのみにしたかったのですが、widgetsはpythonでしか使えないようです。 RではShiny*1を使った方が確実だと思います。

何はともあれ実践 ipywidgets

またQiitaですね。いい加減アカウント作った方が良いかもしれません。

qiita.com

まず、これらの記事をみて思うのは、 「ほうほう、これでsin curveをグリグリできるんだね」

じゃ、まずnoteをダウンロードしてみよう。 参照した記事はすでに1年以上経過しているので、packageの変更があったようなので 合わせて名称を変更します。

IPython.html.widgets -> ipywidgets
IntSliderWidget      -> IntSlider

動きました。動くのですが( ^ω^)・・・、でも期待していたものと何か違います。

f:id:idwonder21:20170402221518p:plainf:id:idwonder21:20170402221517p:plainf:id:idwonder21:20170402221519p:plain

お分かりいただけるでしょうか?

実はスライダーを動かす度に画像が連続的に生成されてしまうのです。 これらはパラメータ3つ動かしたときにできた画像です。 セルの書き換え命令とか個別にあるのかもしれないのですが、以下のような記事を見つけました。

nonbiri-tereka.hatenablog.com

……標準機能の可能性が高そうですね。とりあえず、これ以上の追及はやめておきます。

ただニーズは高そうな機能なので、公式ページなどにはこれらを wrap したパッケージ bqplot (開発元 bloomberg)などもあり、 こちらの方が高機能かもしれません。 ダウンロードしてexampleに一部動かないものがありました。

現段階ではJupyter上でwidgetを使うのは実用性が乏しいかもしれません。 bqplotの詳細などが分かったら、また記事にするかも。

mybinder が復活していたので確認。期待していたタイプのものはなかった残念。 また kernel が python2であった。 conda のバージョンを上げたら notebook が5.0になっていた何か違うのだろうか?

*1:Rの有名な統合開発環境RStudioも開発しています Shiny