Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのBokehライブラリで複数の図形をプロットして可視化する方法

Bokehは、データ可視化を支援するPythonパッケージです。オープンソースプロジェクトとして公開されており、HTMLとJavaScriptを使ってプロットを描画します。そのため、Webベースのダッシュボードを構築する際に特に有用なライブラリです。

BokehはデータソースをJSONファイルに変換します。このJSONファイルは、JavaScriptライブラリであるBokehJSへの入力として使用されます。BokehJSはTypeScriptで記述されており、モダンブラウザ上で可視化をレンダリングします。

MatplotlibやSeabornが静的なプロットを生成するのに対し、Bokehはインタラクティブなプロットを生成できる点が大きな特徴です。ユーザーがプロットに操作を加えると、それに応じて表示が変化します。

また、生成したプロットはFlaskやDjangoで構築したWebアプリケーションの出力として埋め込むことも可能です。Jupyter Notebook上でレンダリングすることもできます。

Bokehの依存パッケージ

Numpy
Pillow
Jinja2
Packaging
Pyyaml
Six
Tornado
python-dateutil

Bokehのインストール方法

Windowsのコマンドプロンプトからインストールする場合は、以下のコマンドを実行します。

pip3 install bokeh

Anaconda環境の場合は、Anacondaプロンプトから以下のコマンドでインストールできます。

conda install bokeh

複数の図形を描画するサンプルコード

次の例では、1つのプロット上に矩形・正方形・楕円・卵形の4種類の図形を描画しています。

from bokeh.plotting import figure, output_file, show

output_file("shapes.html")
my_fig = figure(plot_width=400, plot_height=300)
my_fig.rect(x=11, y=11, width=150, height=75, width_units='screen', height_units='screen')
my_fig.square(x=2, y=3, size=80, color='blue')
my_fig.ellipse(x=7, y=6, width=30, height=10, fill_color=None, line_width=2)
my_fig.oval(x=6, y=6, width=2, height=1, angle=-0.4)
show(my_fig)

出力結果

PythonのBokehライブラリで複数の図形をプロットして可視化する方法

コードの解説

  • 必要なモジュール(figure、output_file、show)をbokeh.plottingからインポートします。

  • output_file関数を呼び出し、生成されるHTMLファイルの名前を指定します。

  • figure関数を呼び出し、プロットの幅(plot_width)と高さ(plot_height)を指定して図を作成します。

  • Bokehが提供するrect(矩形)、square(正方形)、ellipse(楕円)、oval(卵形)の各メソッドを、座標やサイズなどのデータとともに呼び出します。fill_color=Noneを指定すると塗りつぶしなしの輪郭のみの図形になります。

  • 最後にshow関数を使って、作成したプロットをブラウザ上に表示します。

  1. Seabornのfactorplotを使ってPythonでデータを可視化する方法

    Seabornは、データの可視化を支援するPythonライブラリです。カスタマイズされたテーマと高水準インターフェースを備えており、美しい統計グラフを少ないコード量で作成できるのが特徴です。 棒グラフ(barplot)と点グラフ(pointplot)の基本 barplot関数は、カテゴリ変数と連続変数の関係を表現します。データは長方形のバーとして描画され、バーの長さがそのカテゴリにおけるデータの割合を示します。 pointplotは棒グラフに似ていますが、塗りつぶしのバーの代わりに、データポイントの推定値がもう一方の軸上の特定の高さにある点として表現される点が異なります。 factorplot

  2. PythonのSeabornライブラリで棒グラフ(barplot)を使う方法をわかりやすく解説

    Seabornは、データの可視化を支援するPythonライブラリです。洗練されたカスタムテーマと高水準インターフェースを備えており、少ないコード量で美しい統計グラフを作成できるのが大きな特徴です。 棒グラフ(barplot)とは これまでの散布図などのプロットでは、データセット全体をグラフ上に描画していました。一方、棒グラフ(bar plot)を利用すると、データ分布の中心的な傾向(中央傾向)を直感的に把握することができます。 barplot関数は、カテゴリ変数と連続変数の関係を表現するために使用します。データは長方形のバーとして描画され、バーの高さ(長さ)がそのカテゴリにおける値の大きさや割