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)
出力結果

コードの解説
必要なパッケージ(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を使えばわずか数行のコードで美しいインタラクティブなグラフを手軽に作成できます。ぜひさまざまなデータの可視化に活用してみてください。
-
Bokehライブラリを使ってPythonで線グラフ(折れ線グラフ)を作成する方法
Bokehとは?Bokehは、Pythonでデータ可視化を行うためのオープンソースパッケージです。HTMLとJavaScriptを使ってプロットを描画するため、Webベースのダッシュボード開発に特に適しています。データの可視化は分析において非常に重要なステップです。数値を一つひとつ確認したり複雑な計算を実行したりしなくても、データ全体の傾向や特徴を直感的に把握できるようになるからです。BokehはNumPyやPandasなど他のPythonパッケージと簡単に連携でき、インタラクティブなグラフやダッシュボードなどを生成できます。定量的な洞察を効果的に伝えるための強力なツールと言えます。Bokeh
-
PythonのMatplotlibでヒストグラムを作成する方法をわかりやすく解説
Matplotlibは、データ可視化のために広く使われている人気のPythonライブラリです。データの可視化は非常に重要なステップです。数値を一つずつ確認したり複雑な計算を行ったりしなくても、データ全体の傾向や特徴を直感的に把握できるようになるからです。また、定量的な洞察を効果的に伝える手段としても優れています。MatplotlibとはMatplotlibは、データをもとに2次元のプロット(グラフ)を作成するためのライブラリです。オブジェクト指向のAPIを備えており、作成したグラフをPythonアプリケーションに組み込むことも簡単に行えます。IPythonシェル、Jupyter Noteboo