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

PythonのBokehライブラリで水平バープロットを描画する方法

Bokehとは

Bokehは、Pythonでデータ可視化を行うためのオープンソースパッケージです。HTMLとJavaScriptを使ってプロットを描画する仕組みになっており、Webベースのダッシュボードを作成する際に特に威力を発揮します。

データの可視化は、膨大な数値を逐一確認したり複雑な計算を行ったりしなくても、データの中で何が起きているのかを直感的に把握できるようにする、分析作業において非常に重要なステップです。

BokehはNumPyやPandasをはじめとする他のPythonパッケージと容易に連携でき、インタラクティブなプロットやダッシュボードなどを生成できます。また、定量的なインサイトを相手に効果的に伝えるためのツールとしても役立ちます。

内部では、Bokehはデータソースを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プロンプトからインストールする場合:

conda install bokeh

水平バープロットの作成例

from bokeh.plotting import figure, output_file, show
fig = figure(plot_width = 400, plot_height = 200)
fig.hbar(y = [2, 5, 9, 1], height = 1, left = 0, right = [1, 6, 3, 9], color = "Cyan")
output_file('bar plot.html')
show(fig)

実行結果

PythonのBokehライブラリで水平バープロットを描画する方法

コードの解説

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

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

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

  • Bokehのhbar関数にデータポイントを渡して呼び出します。yにはバーの縦方向の位置、heightにはバーの太さ、leftとrightにはそれぞれバーの開始位置と終了位置を指定します。

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

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

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

  2. PythonとSeabornを使って散布図を表示する方法をわかりやすく解説

    データ分析において可視化(ビジュアライゼーション)は非常に重要なステップです。数値を一つひとつ確認したり複雑な計算を行ったりしなくても、データに何が起きているのかを直感的に把握できるからです。その可視化を手軽に実現できるライブラリの一つが、Pythonの「Seaborn」です。 散布図(scatter plot)とは、データポイントをグラフ上に点として散りばめて分布を表現するグラフのことです。数値データの値をドットで表し、横軸・縦軸上の各ドットの位置が、それぞれのデータポイントの値を示します。散布図を使うことで、2つの変数間の関係性(相関)を視覚的に理解することができます。 ここでは、Sea