LoginSignup
3
8

More than 5 years have passed since last update.

Bokehのグラフを画像(PNG・SVG)に出力する

Posted at

Bokeh ではグラフの出力先は HTML でしたが、バージョン 0.12.6 から PNG形式と SVG形式に出力できるようになりました。

前提条件

  • Bokeh 0.12.6以降
  • selenium
  • pillow
  • phantomjs

なんと、selenium や phantomjs をインストールしないといけないようです。
内部でどんなことやってるかを想像すると空恐ろしいですね・・・

下記の手順は linux を対象としています。余裕があれば Windows で試した手順も更新したいと思います。

pip install selenium pillow
sudo npm install -g phantomjs-prebuilt

PNGで出力

export_png() 関数を使います。従来では show() 関数でグラフを出力していましたが、これの代わりに export_png() を使うと思っておけば問題ないと思います。

from bokeh.plotting import figure
from bokeh.io import export_png


p = figure()
p.line([1, 2], [1, 2])
export_png(p, 'line.png')

SVGで出力

export_svgs() 関数を使います。注意する点として、figure() 関数のキーワード引数 output_backend に 'svg' を指定する必要があります。

from bokeh.io import export_svgs


p = figure(output_backend='svg')
p.line([1, 2], [1, 2])
export_svgs(p, 'line.svg')
3
8
1

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
3
8