PythonのBokehで棒グラフを可視化する方法をわかりやすく解説
Bokehは、データ可視化を支援するPythonパッケージの一つで、オープンソースプロジェクトとして公開されています。BokehはHTMLとJavaScriptを使ってプロットを描画するため、Webベースのダッシュボードを構築する際に特に有用です。
Bokehの仕組み
BokehはデータソースをJSONファイルに変換します。このJSONファイルは、JavaScriptライブラリであるBokehJSへの入力として使用されます。BokehJSはTypeScriptで書かれており、モダンなブラウザ上で可視化をレンダリングすることを可能にしています。
MatplotlibやSeabornが静的なプロットを生成するのに対し、Bokehはインタラクティブなプロットを生成できる点が大きな特徴です。つまり、ユーザーがプロットに対して操作(ズーム、パンなど)を行うと、グラフがそれに応じて動的に変化します。
また、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
xvals = ['label_1', 'label_2', 'label_3']
yvals = [56, 78, 99]
fig = figure(x_range = xvals, plot_width = 400, plot_height = 300)
cols = ['navy','cyan','orange']
fig.vbar(x = xvals, top = yvals, color = cols, width = 0.5)
show(fig)
実行結果
上記のコードを実行すると、3本の棒が異なる色(ネイビー、シアン、オレンジ)で描画された棒グラフがブラウザ上に表示されます。
コードの解説
- 必要なパッケージをインポートし、エイリアスを設定します。
- figure関数を呼び出し、プロットの幅と高さを指定します。
- データはリスト形式で定義します。x軸用のラベルリストとy軸用の数値リストを用意します。
- 色のリストも定義でき、これにより棒グラフの各バーに異なる色を割り当てることができます。
- vbar関数にデータを渡して呼び出すことで、垂直方向の棒グラフ(縦棒グラフ)を描画します。
- show関数を使用すると、生成されたプロットがブラウザで表示されます。
このように、Bokehを使えば数行のコードでインタラクティブな棒グラフを簡単に作成できます。Webアプリケーションとの親和性が高いため、ダッシュボード開発にもぜひ活用してみてください。
-
Seabornのfactorplotを使ってPythonでデータを可視化する方法
Seabornは、データの可視化を支援するPythonライブラリです。カスタマイズされたテーマと高水準インターフェースを備えており、美しい統計グラフを少ないコード量で作成できるのが特徴です。 棒グラフ(barplot)と点グラフ(pointplot)の基本 barplot関数は、カテゴリ変数と連続変数の関係を表現します。データは長方形のバーとして描画され、バーの長さがそのカテゴリにおけるデータの割合を示します。 pointplotは棒グラフに似ていますが、塗りつぶしのバーの代わりに、データポイントの推定値がもう一方の軸上の特定の高さにある点として表現される点が異なります。 factorplot
-
PythonのSeabornライブラリで棒グラフ(barplot)を使う方法をわかりやすく解説
Seabornは、データの可視化を支援するPythonライブラリです。洗練されたカスタムテーマと高水準インターフェースを備えており、少ないコード量で美しい統計グラフを作成できるのが大きな特徴です。 棒グラフ(barplot)とは これまでの散布図などのプロットでは、データセット全体をグラフ上に描画していました。一方、棒グラフ(bar plot)を利用すると、データ分布の中心的な傾向(中央傾向)を直感的に把握することができます。 barplot関数は、カテゴリ変数と連続変数の関係を表現するために使用します。データは長方形のバーとして描画され、バーの高さ(長さ)がそのカテゴリにおける値の大きさや割