web-dev-qa-db-ja.com

インタラクティブなmatplotlibプロットをWebページに埋め込む方法

インタラクティブなmatplotlibウィジェット(このようなもの: http://matplotlib.org/examples/widgets/slider_demo.html )をWebページに埋め込む方法を探していました。最終的な目的は、教育ページを作成することです。

質問を重複させないことを願っています。グーグルが見つけたのは、常にプロットを静止画として画像形式で埋め込む方法です。

私はipython Notebookまたはplotlyまたはgjango。しかし、私は混乱しました。

魅力的なプロットは可能ですか?私がどの方向に考え、取り組むべきかについてのあなたのガイドに感謝します。

ありがとうございました。

11
Amin

2015年の夏、私は同様の課題に直面しています。スライダーを動かすと、基になるデータを変更するインタラクティブなウィジェットを埋め込みます。これは、ローカルマシンで実行するとインタラクティブになる インタラクティブIPythonウィジェット と非常によく似ています。私が欲しいものの例は見つけることができます jakevdpのブログ

これまでに行われた作業を要約すると、次のようになります。

  • ipywidgets-static インタラクティブなIPythonウィジェットを静的HTMLに変換します。ただし、このライブラリは維持されなくなりました。開発は ipython/ipywidgets に移動しました。
  • IPythonは ipython/ipywidgets に取り組んでいます。これらのウィジェットを静的にし、スタンドアロンのHTMLファイルに埋め込むための Githubの問題 があります。
  • HoloViews 静的HTMLファイルに埋め込むことができるいくつかのインタラクティブなスライダーオプションを提供します(IPythonのnbconvertを使用)
  • ボケ インタラクティブスライダーに依存するプロット サーバーが必要
  • plot.ly スライダーなどをサポートしていません。私はこれがこれに基づいて真実であると信じています ブログ投稿
  • mpld matplotlibとd3の間で変換します。このライブラリは、スライダーやインタラクティブ機能ではなく、パンとズームをサポートしていると思います。これが 関連するGithubの問題

Scientific Python in the browser:it'scoming! "」というタイトルのブログ投稿もあります。この投稿の日付は2014-3-31です。

私にとって、最も魅力的な2つのオプションはipywidgetsとHoloViewsですが、IPythonが静的なインタラクティブウィジェットを提供するのを楽しみにしています。静的インタラクティブウィジェットの確実なサポートが迅速かつ5年/ 2020未満(および2年/ 2017?)で見られることを期待しています。

10
Scott

2014年4月上旬の時点で、答えは「はい」です。この分野で行われている作業に基づいて、このようなライブラリの質と量は非常に急速に向上し続けると思います。

IPython 2.0、特にノートブックは、 インタラクティブコントロール をサポートします。これは、Brian Grangerの講演 で詳細に説明されています。 IPython-ソフトウェアの属性とそれらが私たちの仕事にどのように影響するか (興味のある部分については32:25以降を参照してください)

次世代のpython視覚化ライブラリのために、サーバー側とクライアント側のコードを組み合わせた、現在取り組んでいる素晴らしいプロジェクトがいくつかあります。現時点では、これには MPLD3 および ipywidgets ライブラリ。JakeVanderplasのブログにはいくつかの優れたインタラクティブプロットがあります Pythonic Perambulations は、これを示しています。

2
Andrew Walker