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

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の依存パッケージ

Numpy
Pillow
Jinja2
Packaging
Pyyaml
Six
Tornado
python-dateutil

Bokehのインストール方法

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

pip3 install bokeh

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

conda install bokeh

Bokehで正弦波の折れ線グラフを描いてみる

それでは、Bokehを使って正弦波の折れ線グラフを生成してみましょう。

from bokeh.plotting import figure, output_file, show
import numpy as np
import math

# 0から4πまでを0.1刻みで並べたx座標の配列を生成
x = np.arange(0, math.pi*4, 0.1)
# 各xの値に対応する正弦値を計算
y = np.sin(x)

# 出力されるHTMLファイル名を指定
output_file("sample.html")

# 図(キャンバス)を作成し、タイトルと軸ラベルを設定
p = figure(title="シンプルな正弦波", x_axis_label='x', y_axis_label='y')

# 折れ線グラフを描画
p.line(x, y, legend_label="sin", line_width=2)

# グラフを表示
show(p)

出力結果

PythonのBokehで正弦波を生成・可視化する方法を解説

コードの解説

  • 必要なパッケージ(bokeh.plotting、numpy、math)をインポートし、エイリアスを設定しています。

  • np.arange(0, math.pi*4, 0.1)により、0から4πまでを0.1刻みで並べたx座標の配列をNumPyで生成します。

  • np.sin(x)によって、各xの値に対応する正弦値yを計算します。

  • output_file関数を呼び出し、実行結果が出力されるHTMLファイルの名前を指定します。

  • figure関数で図(キャンバス)を作成し、タイトルとx軸・y軸のラベルを設定します。

  • line関数を呼び出して、xとyのデータを結ぶ折れ線を描画します。line_widthで線の太さを指定できます。

  • 最後にshow関数を実行すると、既定のブラウザでインタラクティブなグラフが表示されます。

このように、Bokehを使えばわずか数行のコードで美しいインタラクティブなグラフを手軽に作成できます。ぜひさまざまなデータの可視化に活用してみてください。

  1. Bokehライブラリを使ってPythonで線グラフ(折れ線グラフ)を作成する方法

    Bokehとは?Bokehは、Pythonでデータ可視化を行うためのオープンソースパッケージです。HTMLとJavaScriptを使ってプロットを描画するため、Webベースのダッシュボード開発に特に適しています。データの可視化は分析において非常に重要なステップです。数値を一つひとつ確認したり複雑な計算を実行したりしなくても、データ全体の傾向や特徴を直感的に把握できるようになるからです。BokehはNumPyやPandasなど他のPythonパッケージと簡単に連携でき、インタラクティブなグラフやダッシュボードなどを生成できます。定量的な洞察を効果的に伝えるための強力なツールと言えます。Bokeh

  2. PythonのMatplotlibでヒストグラムを作成する方法をわかりやすく解説

    Matplotlibは、データ可視化のために広く使われている人気のPythonライブラリです。データの可視化は非常に重要なステップです。数値を一つずつ確認したり複雑な計算を行ったりしなくても、データ全体の傾向や特徴を直感的に把握できるようになるからです。また、定量的な洞察を効果的に伝える手段としても優れています。MatplotlibとはMatplotlibは、データをもとに2次元のプロット(グラフ)を作成するためのライブラリです。オブジェクト指向のAPIを備えており、作成したグラフをPythonアプリケーションに組み込むことも簡単に行えます。IPythonシェル、Jupyter Noteboo