Bokehライブラリを使ってPythonで線グラフ(折れ線グラフ)を作成する方法
Bokehとは?
Bokehは、Pythonでデータ可視化を行うためのオープンソースパッケージです。HTMLとJavaScriptを使ってプロットを描画するため、Webベースのダッシュボード開発に特に適しています。
データの可視化は分析において非常に重要なステップです。数値を一つひとつ確認したり複雑な計算を実行したりしなくても、データ全体の傾向や特徴を直感的に把握できるようになるからです。
BokehはNumPyやPandasなど他のPythonパッケージと簡単に連携でき、インタラクティブなグラフやダッシュボードなどを生成できます。定量的な洞察を効果的に伝えるための強力なツールと言えます。
Bokehの仕組み
BokehはデータソースをJSONファイルに変換します。このファイルは、JavaScriptライブラリであるBokehJSへの入力として使用されます。BokehJSはTypeScriptで書かれており、モダンなブラウザ上で可視化をレンダリングします。
MatplotlibやSeabornが静的なグラフを生成するのに対し、Bokehはインタラクティブなグラフを生成する点が大きな特徴です。ユーザーがグラフに対してズームやパンなどの操作を行うと、表示がそれに応じて変化します。
また、作成したグラフはFlaskやDjangoで構築したWebアプリケーションの出力として埋め込むこともできますし、Jupyter Notebook上で表示することも可能です。
Bokehの依存ライブラリ
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
x = [7, 3, 5, 9, 2, 0]
y = [2, 5, 8, 1, 2, 4]
output_file('sample.html')
fig = figure(title = 'Line plot ', x_axis_label = 'x', y_axis_label = 'y')
fig.line(x,y)
show(fig)
実行結果

コードの解説
必要なパッケージをインポートし、エイリアスを設定します。
データを2つのリスト(x座標とy座標)として定義します。
figure関数を呼び出して、タイトルや軸ラベルを指定した図を作成します。
output_file関数を呼び出し、生成されるHTMLファイルの名前を指定します。
Bokehに用意されているline関数を呼び出して、線を描画します。
show関数を使用して、グラフをブラウザ上に表示します。
-
Seabornライブラリを使ってPythonでカテゴリ散布図を表示する方法
Seabornはデータ可視化を支援するPythonライブラリで、洗練されたカスタムテーマと高水準インターフェースを備えています。Matplotlibをベースとしており、少ないコード量で美しいグラフを作成できるのが大きな特徴です。 ただし、扱う変数がカテゴリ型(カテゴリカル変数)である場合、通常の散布図やヒストグラムでは適切に表現できません。こうしたケースで活躍するのが「カテゴリ散布図」です。 カテゴリ変数を扱うためのプロットとしては、「stripplot」や「swarmplot」などが用意されています。「stripplot」関数は、少なくとも1つの変数がカテゴリ型である場合に使用でき、データ
-
Seabornライブラリを使ってPythonでポイントプロットを可視化する方法
Seabornは、データの可視化を支援するPythonライブラリです。このインターフェースを利用することで、データの種類やフィルタ適用時の挙動を柔軟にカスタマイズ・制御できます。棒グラフ(バープロット)を活用すると、データ分布の中心的な傾向(中央傾向)を把握できます。barplot関数は、カテゴリ変数と連続変数の間の関係を表現するために使われます。データは長方形のバーとして描画され、バーの長さがそのカテゴリにおけるデータの割合を示します。ポイントプロットとはポイントプロットは棒グラフとよく似ていますが、塗りつぶされたバーの代わりに、データ点の推定値をもう一方の軸上の特定の高さにある「点」で表現