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

PythonのBokehを使って複数の折れ線を可視化する方法

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

Bokehの仕組み

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

MatplotlibやSeabornが静的なグラフを生成するのに対し、Bokehはインタラクティブなグラフを生成できる点が大きな特徴です。ユーザーがグラフと操作(ズーム、パン、ホバーなど)を行うと、それに応じて表示が変化します。

また、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

複数の折れ線を描画するサンプルコード

それでは、実際にBokehを使って複数の折れ線を可視化する例を見てみましょう。

コード例

from bokeh.plotting import figure, output_file, show
output_file("patchplot.html")
p = figure(plot_width=500, plot_height=300)

p.multi_line([[1, 2, 2], [3, 2, 5, 8]], [[2, 3, 7], [4, 8, 9, 0]],
   color=["firebrick", "cyan"], alpha=[0.9, 0.3], line_width=4)

show(p)

出力結果

このコードを実行すると、「patchplot.html」というファイルが生成され、ブラウザ上に2本の異なる色(firebrickとcyan)の折れ線が描画されます。それぞれの線は透明度(alpha)も個別に設定されています。

コードの解説

  • 必要なパッケージをインポートし、エイリアスを設定します。

  • figure関数を呼び出し、グラフの幅(plot_width)と高さ(plot_height)を指定します。

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

  • Bokehに用意されているmulti_line関数を呼び出し、X座標とY座標のデータを渡して複数の折れ線を定義します。color引数で各線の色を、alpha引数で透明度を、line_width引数で線の太さを指定できます。

  • show関数を使用して、グラフをブラウザに表示します。

multi_line関数は、1回の呼び出しで複数の折れ線をまとめて描画できる便利なメソッドです。大量の時系列データなどを効率的に可視化したい場合に活用するとよいでしょう。

  1. 【Python】Seabornのfactorplot関数でバイオリン図を可視化する方法

    データ分析において、カテゴリ変数と連続変数の関係を視覚的に把握することは非常に重要です。Pythonの可視化ライブラリ「Seaborn」には、カテゴリカルデータを見やすく可視化するための機能が多数用意されています。本記事では、factorplot関数を使ってバイオリン図(バイオリンプロット)を描く方法を解説します。 barplot(棒グラフ)とpointplot(点グラフ)との違い barplot関数は、カテゴリ変数と連続変数の関係を表現するための関数です。データは長方形のバーとして描画され、バーの長さがそのカテゴリにおけるデータの推定値(割合)を示します。 一方、pointplotも棒グラフ

  2. PythonのSeabornでpairplotを使って多変量データを視覚化する方法

    Seabornは、データの視覚化を支援するPythonのライブラリです。カスタマイズされたテーマと高水準なインターフェースが備わっており、美しいグラフを少ないコード量で作成できるのが特徴です。実際のデータ分析では、データセットに多数の変数(特徴量)が含まれていることが一般的です。そのような場合、すべての変数同士の関係を1つずつ分析しようとすると、二変量分布のプロットを繰り返すことになり、時間がかかるうえにコードも複雑になってしまいます。pairplot関数とはそこで役立つのが「複数のペアごとの二変量分布」を一度に可視化する手法です。Seabornのpairplot関数を使えば、データフレーム内