PythonのBokehを使ってインタラクティブな散布図を生成する方法
Bokehとは?
Bokehは、Pythonでデータ可視化を行うためのオープンソースのパッケージです。最大の特徴は、HTMLとJavaScriptを使ってグラフを描画する点にあり、Webベースのダッシュボードを構築する際に特に威力を発揮します。
仕組みとしては、BokehがデータソースをJSONファイルに変換し、それをJavaScriptライブラリである「BokehJS」への入力として渡します。BokehJSはTypeScriptで実装されており、モダンブラウザ上で高速に可視化をレンダリングできるのが強みです。
Matplotlib・Seabornとの違い
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
散布図の作成例
実際にBokehを使って散布図を描画してみましょう。
from bokeh.plotting import figure, output_file, show
fig = figure(plot_width = 500, plot_height = 400)
fig.scatter([1,3,7,5,4,9], [6,5,9,8,0,1], marker = "circle", size = 20, fill_color = "grey")
output_file('scatterplot.html')
show(fig)出力結果

コードの解説
必要なパッケージ(figure、output_file、show)をインポートします。
figure関数を呼び出し、プロットの幅(500px)と高さ(400px)を指定して図を作成します。
output_file関数で、生成されるHTMLファイルの名前(scatterplot.html)を指定します。
scatter関数にX座標・Y座標のデータを渡し、マーカーの種類(circle)、サイズ(20)、塗りつぶし色(grey)を設定して散布図を描画します。
show関数を実行すると、ブラウザ上にインタラクティブな散布図が表示されます。
-
Kerasを使ってPythonでモデルをプロットする方法をわかりやすく解説
TensorFlowとはTensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術が数多く組み込まれています。TensorFlowにおける「テンソル(Tensor)」は、データを扱うための基本的なデータ構造です。テンソルは多次元配列(またはリスト)であり、データフローグラフと呼ばれる計算グラフのノード同士をエッジでつ
-
PythonとSeabornを使って散布図を表示する方法をわかりやすく解説
データ分析において可視化(ビジュアライゼーション)は非常に重要なステップです。数値を一つひとつ確認したり複雑な計算を行ったりしなくても、データに何が起きているのかを直感的に把握できるからです。その可視化を手軽に実現できるライブラリの一つが、Pythonの「Seaborn」です。 散布図(scatter plot)とは、データポイントをグラフ上に点として散りばめて分布を表現するグラフのことです。数値データの値をドットで表し、横軸・縦軸上の各ドットの位置が、それぞれのデータポイントの値を示します。散布図を使うことで、2つの変数間の関係性(相関)を視覚的に理解することができます。 ここでは、Sea