Wizard In The Market
システムトレードの魔術師

*

まだBokehで消耗してるの?これからはPandas-Bokehを使おうぜ

公開日: : Python , , , ,

タイトルはあまり気にしないでください。全然、Bokehで消耗する価値があるとは思っています。ただ、最近PandasのDataFrameを頑張って動的に操作するためにBokehを直に触っている記事とかを見つけたので、それぐらいならPandas-Bokehで一発だぜということを知ってほしくて記事にしました。もちろん、私もPandas-Bokehを使い出すまではそういう作業でオレオレ描画ライブラリとか書いていました。

レポジトリ

インストール

使い方

最初にpandas_bokehの読み込みコマンドを実行します。今回はjupyter notebook上で使いたいので、ouutput_notebook としました。

plotをplot_bokehに変えるだけ

Pandasをよく使っている人は、DataFrame.plot.bar()でチャートを書くことができることは知っていると思います。Pandas-Bokehの良いところは、そのplotplot_bokehに変えるだけでmatplotlibで描画していたチャートをbokehの動的なチャートに変えることができます。

例えば、ラインチャート書きたければ、これだけで完結します。

コードの違いとしては、見て分かるとおりplotplot_bokehにしているだけですね。

Matplotlibのラインチャートの描画

Pandas-Bokehのラインチャートの描画

これだけで描画にはこれだけの違いが出ます。描画するチャートを選定できたり、凡例を表示できたり、ズームしたりと痒いところに手が届くチャートになっています。X軸のメモリが細かすぎて見えないときでもズームしたら簡単に値を確認できるのも良いところ。

ぜひ、一度試してみてください。もうPandas-Bokehから離れられなくなりますよ。コツとしては、描画に必要なデータだけを確保したDataFrameを用意して、それからplot_bokehを呼んでやるという流れを使うことです。

groupby の例

Pandas-Bokehなのですが、まだ公開が2018年12月とかなり若いライブラリのため、基本的なところでエラーが出たりと動かないことがあります。その例が、groupbyを使った際に index 関連のエラーが出てしまうことなのですが、indexをstr型に置き換えてしまえば描画上は問題なく動きます。

Bokehのラッパーライブラリについて。

ここからは余談です。

Chartify

Bokehのライブラリで最近話題になったspotifyのbokehのラッパーでchartifyというのがあり、これが今回紹介したPandas-Bokehみたいな機能を実装しているはずだと期待していました。しかし、内容は「静的なチャート」に特化したライブラリと明記されていました。なんじゃそれ。Matplotlibでいいやんというのが個人的な感想。

にほんブログ村 為替ブログへ 
Fx-Kirin

About Fx-Kirin

2009年10月にFXを開始、翌年2010年5月から脱サラをしてFX業界に専念。 2012年10月頃から本格的に勝ち始め、一月で資産を倍にする、2年半月間負けなし等、安定した収支で2013年11月に生涯FX収支が1億を超える。 投資スタイルはシステムトレード。プログラミングの知識がほぼない状態から、独学で自分がしたいと思うことであればほぼ実現することが可能なレベルまで成長。好きな言語はRuby, Python。必要となればC++からVBA、Pascal等なんでも行う。MT4/MT5のプログラミングも得意。 2011年にはFXで稼いだ資金をもとにシンガポールに移住し、留学も兼ねて起業をチャレンジするほど、ビジネスを興すことに熱意がある。国内の業者を主に使い始めたことから、2012年に帰国。零細株式会社経営中。

Adsense

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 67 follow us in feedly

関連記事

vim-slime を使って VIM の内容をコンソールに送信

この記事はVim Advent Calendar 2016の20日目の記事です。 選択行の内容をコンソールに送信

記事を読む

PythonのThreadを待機させるか、必要の度に作成するのかのベンチマーク比較

QueueとThreadのベンチマーク比較 2つのケースについて比較検証してみました。 実際に処理する内

記事を読む

Python requests に DefaultTimeout を設定する

Pythonコード 参考リンク [bm url="https://stackoverflow.com/quest

記事を読む

Derivatives analytics with Python の学習ノート 1,2章

洋書を読んでいると、いつも読んだ気になってちゃんと理解出来てるか自信がないことが多いので、チャプターごとに要点をまとめ

記事を読む

Python Mock で オリジナルのインスタンメソッドのを呼びたい時

autospec と sideeffect を組み合わせるのが解決策だった。

記事を読む

ipdb だけではなく IPython.embed も使おう

ipdb だと複数行の挿入ができなかったりするが、その問題が解消される。明らかにこちらのほうが使い勝手がいい。行のデ

記事を読む

Python での Log 収集

プロジェクトが大きくなるにつれて、プログラムの不備を見つけるのにログの構成、ログデザインを考えることが重要になってく

記事を読む

Python 2, Python 3 で string を bytes に変換する。

共通の処理系にしておきたかったので、メモ書き。 [bm url="https://python-future.or

記事を読む

Wine 上の MT4から ZeroMQ を使って Linux の pyzmq の通信をさせる

こんにちは。キリンです。 最近、年に数度のMQLを書くときがきたのですが、Pythonに慣れまくっていると苦行でし

記事を読む

VimでPythonのIDE 環境を一から構築する

追記 これ見ておいたほうがいいかも。 Vimを最強のPython開発環境にする2 - Λlisue's blog

記事を読む

Comment

  1. Piro より:

    Holoviewsが最近plotly対応したみたいなのですが、holoviewsはダメですかね…?
    書きにくい、ですかね?

  2. Fx-Kirin Fx-Kirin より:

    >piro
    pandas の標準の方法でBokehでプロットできるという利点とはまた違ってるので、なんともですねー。HoloviewsはRのggplot2を意識して作られてるはずなんです。

Piro にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

Ubuntu で仮想ディスプレイを使う

雑多な備忘録ですが、せっかくなので残しておきます。 Ubuntu 18.04 の resolv.c

PYPIへの登録を10秒でできるようになる方法

pip 使ってますよね Pythonを使っている人であれば、pip installでライブラリ

The art of debugging with GDB, DDD, and Eclipse の読書メモ

GDBの勉強がしたくて、下の本を原著で読んでみました。10年前の本だけど全然現役でした。

JupyterでボタンからJavascriptを実行して追加のアウトプットをさせない方法

Javascriptを実行するとアウトプットセルの行が増える これがとても面倒だった。上の

まだBokehで消耗してるの?これからはPandas-Bokehを使おうぜ

タイトルはあまり気にしないでください。全然、Bokehで消耗する価値があるとは思っています。ただ

→もっと見る

PAGE TOP ↑