【Bokeh】Pythonだけでインタラクティブなグラフを作成できる

【Bokeh】Pythonだけでインタラクティブなグラフを作成できる プログラミング

「インタラクティブで見栄えの良いグラフを作成したい」
「Pythonは書けるが、JavaScriptはわからない・・・」

このような場合には、Bokehがオススメです。
この記事では、Bokehについて解説しています。

本記事の内容

  • Bokehとは?
  • Bokehのシステム要件
  • Bokehのインストール
  • Bokehの動作確認

それでは、上記に沿って解説していきます。

Bokehとは?

Bokeh公式
https://docs.bokeh.org/

Bokehは、インタラクティブなビジュアライゼーションを作成するためのPythonライブラリです。
これだけでは意味がよくわからないので、以下をご覧ください。

Bokehを使えば、このようなグラフを描画することができるのです。
見た目だけではなく、拡大するなどの動きを加えたグラフを作成できます。

本来、このようなグラフを作成するにはWebスキルが必要です。
具体的には、JavaScriptのスキルを必要とします。

しかし、Bokehを使えばPythonのスキルだけで済みます。
そのため、皆さんはデータを集めてPythonを書くだけです。

Pythonを書くだけで、見た目の良いインタラクティブなグラフを作成できるようになります。
このことは、特定の職種の人には朗報と言えるでしょう。

それは、データ分析・解析、機械学習を業務とするような人たちですね。
Pythonは使えても、JavaScriptのスキルまで持ち合わせていない場合があります。

そのような人たちには、人気のあるライブラリです。
GitHubでもスターの数(2002年7月末時点)が、凄いことになっています。

そして、Bokehをサポートする組織も多く存在しています。

正直、ANACONDAとNVIDIA以外はよく知りませんけどね。
ANACONDAと言えば、インストール方法の紹介で「conda」がメインで記載されています。

これは、スポンサーであるANACONDAに忖度したのかどうかはわかりません。
でも、個人的には「conda」のインストールはオススメできません。

「conda」を使ったインストールの方を推奨するライブラリは、ほとんど見たことがありません。
「pip」を使ったインストールが、Pythonライブラリではデファクトスタンダードです。

以上、Bokehについて説明しました。
次は、Bokehのシステム要件を説明します。

Bokehのシステム要件

現時点(2022年7月末)でのBokehの最新バージョンは、2.4.3となります。
この最新バージョンは、2022年5月19日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

サポート対象となるPythonのバージョンは、以下となっています。

  • Python 3.7
  • Python 3.8
  • Python 3.9

以下は、Python公式開発サイクルです。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

若干、Python公式開発サイクルとはズレています。
しかし、Bokehの公式サイトでは次のような記載があります。

Bokeh is officially supported and tested on Python 3.7 and above (CPython).

Python 3.7以降であれば、サポートするということです。
よって、Python 3.10も問題ないでしょう。

以上、Bokehのシステム要件を説明しました。
次は、Bokehのインストールを説明します。

Bokehのインストール

検証は、次のバージョンのPythonで行います。

$ python -V
Python 3.10.2

まずは、現状のインストール済みパッケージを確認しておきます。

$ pip list
Package    Version
---------- -------
pip        22.2.1
setuptools 63.2.0
wheel      0.36.2

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、Bokehのインストールです。
Bokehのインストールは、以下のコマンドとなります。

pip install bokeh

Bokehのインストールには、少しだけ時間がかかります。
終了したら、どんなパッケージがインストールされたのかを確認します。

$ pip list
Package           Version
----------------- -------
bokeh             2.4.3
Jinja2            3.1.2
MarkupSafe        2.1.1
numpy             1.23.1
packaging         21.3
Pillow            9.2.0
pip               22.2.1
pyparsing         3.0.9
PyYAML            6.0
setuptools        63.2.0
tornado           6.2
typing_extensions 4.3.0
wheel             0.36.2

Bokehが、依存しているパッケージを確認できます。
有名どころが多いという印象です。

そのこともあり、BokehはPython仮想環境へのインストールをオススメします。

以上、Bokehのインストールを説明しました。
次は、Bokehの動作確認を説明します。

Bokehの動作確認

Bokehの動作確認を行います。
以下は、公式に掲載されているサンプルコードです。

test.py

from bokeh.plotting import figure, show

# prepare some data
x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]

# create a new plot with a title and axis labels
p = figure(title="シンプルな線の例", x_axis_label='x', y_axis_label='y')

# add a line renderer with legend and line thickness to the plot
p.line(x, y, legend_label="Temp.", line_width=2)

# show the results
show(p)

上記を実行すると、スクリプトと同じ名前のhtmlファイルが作成されます。
上記のスクリプトであれば、test.htmlが作成されることになります。

また、同時にブラウザでそのhtmlが表示されます。

このグラフは、範囲を指定して拡大することができます。
つまり、単なる画像ではなくインタラクティブなグラフということです。

以上、Bokehの動作確認を説明しました。

タイトルとURLをコピーしました