LoginSignup
61
56

More than 5 years have passed since last update.

Jupyter notebookで動的なグラフを表示する。(D3.jsのインライン表示)

Last updated at Posted at 2017-02-20

Jupyterでデータを触っていて、可視化のためにグラフをインラインで表示したいことは多々あると思います。
多くの場合は

%matplotlib inline

で十分だと思います。

しかし、データが多すぎて読めないグラフが表示されたり、もっと綺麗な図で見たい場合もあると思います。
そこで、動的な綺麗なグラフをJupyterで出す方法をみつけたので試してみました。

まずはデモを見てください。

↓移動や拡大縮小ができる分散図
d3.gif

↓Twitterのフォローした人と自分を結んだグラフ図
twitter8.gif

具体的にはD3.js(https://d3js.org/ )というデータの可視化に特化したJavaScriptのライブラリを使った結果をJupyterにインライン表示します。

まず、jupyterを動かしている環境にpy_d3というエクステンションを入れます。(https://github.com/ResidentMario/py_d3

pip install py_d3

jupyter notebookでインポートしてエクステンションをロードしてください。

import py_d3
%load_ext py_d3

そうすれば、セルの先頭で%%d3というマジックをつければD3.jsが使えるようになります。

%%d3

<g></g>

<script>
d3.select("g").text("Hello World");
</script>

と入力して実行すると、
Screenshot from 2017-02-20 19-11-11.png

こんな感じです。

また、外部のJSファイルやCSSも読み込めるので、過去に作ったものがあるならすぐに実行できます。
D3.jsを使ったことある人は何が出来るのか想像出来ると思いますが、そうでない人はD3.jsの公式サイトpy_d3のgithubのREADMEを見ると感じがつかめると思います。思っている以上にすごいことが出来ます。

61
56
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
61
56