PyData.Tokyo Meetup #11 LT

Preview:

Citation preview

PythonでhighchartsPyData.Tokyo Meetup #11 LTdriller@patraqushe

About me▷Twitter: @patraqushe略してどりらん▷おしごと : トレーダー最近、急に忙しくなりました

fin-py発足▷10/25 fin-py決起会▷11/27 fin-pyもくもく会

finの人も pyの人も金融に興味があるかたは是非

highchartsHighcharts makes it easy for developers to set up interactive charts in their web pages

互換性▷iOSと Androidマルチタッチ・サポート、シームレスな操作性▷標準的なブラウザ

SVGによるレンダリング▷IE

VMLによるレンダリング

ライセンス▷非商業目的には無償提供▷オープン

ピュア JAVASCRIPT▷プラグイン不要▷2つの JSファイルだけで動作

チャートタイプ▷折れ線グラフ▷スプライン曲線▷面グラフ▷エリアスプライン▷横棒グラフ▷縦棒グラフ▷散布図

▷ OHLC▷ローソク足▷エリアレンジ▷エリアスプラインレンジ

レンジセレクタ▷時系列データを素早く表示▷時間範囲の選択

1か月、 1年、日付指定▷時間範囲のチャートをズーム

ツールチップ・ラベル▷データ系列やポイントに関する情報をツールチップ・テキストで表示▷マウスをグラフの上に動かすと、ツールチップが表示

エクスポートと印刷▷ボタンをクリックして指定のフォーマットでエクスポート

PNG、 JPG、 PDF、 SVG▷ウェブ・ページから直接チャートを印刷

Why highcharts?

きれい かるい すごい

きれい

かるいサンプルデータ# 1000個のランダムなデータを 7つのグループに色分けして散布図を出力するimport numpy as npimport pandas as pd

num = 1000x, y = np.random.random((2, num))labels = np.random.choice(['a', 'b', 'c', 'e', 'f', 'g', 'h'], num)df = pd.DataFrame(dict(x=x, y=y, label=labels))

かるい出力結果

matplotlib bokeh

plotlyhighcharts

かるいベンチマーク時のバージョン

package version

Python 3.5.2

matplotlib 1.5.3

bokeh 0.12.2

plotly 1.12.9

python-highcharts 0.3.1

かるいimport(初期化 )ありの場合

かるいimport(初期化 )なしの場合

爆速!!!

すごい

スライドだと絵が動かないのでデモ

Jupyterでhighchartsお手軽にきれいな可視化

htmlマジック▷Jupyter notebookのセル上に JSを書く▷IPython.display.HTMLで上記のJSを描画参考サイト

http://sinhrks.hatenablog.com/entry/2015/06/13/195344

python-highcharts▷JSを使わずに Pythonで書ける▷htmlに saveできる▷Jupyter notebook上に出力できる

pandas_highcharts▷pandasの DataFrameをhighchartsの json形式に変換

▷Jupyter notebookに出力できる▷テンプレートに組み込める

まとめ▷highartsできれいにかるくすごいグラフが書ける▷でも JS書かなきゃいけないんでしょ?▷いゃいゃ、 Pythonで書けますよ!

ご清聴ありがとうございました