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

関連記事

Flast-Sockets + redis-py で簡単 Websocket サーバー実装

参考にしたサイト Using WebSockets on Heroku with Python | Heroku

記事を読む

Pythonで簡単に画像検出でLinux GUI操作自動化ライブラリを作ったよ

[2015/02/07 追記] [bm url="http://fx-kirin.com/python

記事を読む

Interactive Brokers 証券の Python API を利用する

Interactive Brokers 証券とは 日本には珍しく自動売買プラットフォームが提供されいてる証券会社です。

記事を読む

Python requests に DefaultTimeout を設定する

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

記事を読む

ctypes で c_char array を c_char_p に変換する

なかなか情報がなかったのでメモ書き。

記事を読む

Call Python/Numpy Function within Metatrader 4

Github Link [bm url="https://github.com/fx-kirin/mt4-nump

記事を読む

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

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

記事を読む

no image

vim-ipythonをWindows 7 x64で使うとR6034 が出る件

個人的なただの忘備録。 Visual Studioのコマンドプロンプトから実行すること。 http://st

記事を読む

CPP extension vs Cython vs CPython on calculating the mean of numpy array

I'd like to get any feedback to make cython faster like

記事を読む

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を意識して作られてるはずなんです。

Message

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

Adsense

Fixing kernel error AMD-Vi: Event logged IO_PAGE_FAULT on Ryzen Machine

My pc was periodically shut down on 7:40 am JS

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を実行するとアウトプットセルの行が増える これがとても面倒だった。上の

→もっと見る

PAGE TOP ↑