icon
icon

PythonのBokehライブラリについて現役エンジニアが解説【初心者向け】

初心者向けにPythonのBokehライブラリについて現役エンジニアが解説しています。Bokehライブラリとは、Webブラウザ用のグラフを表示するときに使われるPythonのライブラリです。Bokehライブラリの使い方やグラフの書き方などを解説します。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

PythonのBokehライブラリについて、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PythonのBokehライブラリについて詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

Bokehライブラリとは

Bokehライブラリとは、Webブラウザ用のグラフを表示するときに使われるPythonライブラリです。

Pythonの可視化ライブラリで有名なライブラリがmatplotlibですが、BokehではJavascriptやCSSが組み込まれたHTMLファイルが出力されるので、可視化したグラフをすぐにWeb上で公開することができることが最大の特徴です。

HTMLにより、グラフの拡大、縮小の操作をできたり、ボタンやスライダーをつけることができるので、インタラクティブな可視化を実現できます。ちなみに読み方はボケです。写真のボケから来ている言葉です。

[PR] 未経験からWebエンジニアを目指す方法とは

Bokehライブラリの使い方

Bokehは以下のpipコマンドでインストールできます。

pip install bokeh

ライブラリをインストールしたら、ターミナル(Windowsの方はコマンドプロンプト)を立ち上げて以下のコマンドを実行して、サンプルのデータをインストールしておきます。

bokeh sampledata

基本的な使い方はmatplotlibに近いので、matplotlibを使ったことある方であれば簡単に使うことができると思います。

実際に書いてみよう

それでは、実際に使ってみましょう。今回は適当な乱数を生成させてそれをグラフ上にプロットするプログラムを作成したいと思います。

このプログラムではnumpyをインストールするので、まだインストールしていない場合は以下のコマンドでnumpyをインストールします。

pip install numpy

以下のソースコードを適当なディレクトリに保存します。

from bokeh.io import show
from bokeh.plotting import figure
import numpy as np

x = np.arange(11)
y = np.random.randint(100, size = 11)

bp = figure(plot_width=400, plot_height=400)

bp.line(x, y, line_width=2)

show(bp)

プログラムを実行するとブラウザが立ち上がり、以下のように乱数のグラフが出力されたら成功です。(乱数なので、グラフの形は画像と異なります)

まとめ

今回はBokehを使ってグラフの可視化を行う方法を紹介しました。

Pythonでの可視化といえばmatplotlibだと思いますが、Bokehを使えば簡単にHTMLで表示させるグラフを表示させることができます。また、HTMLなのでJupyter notebook上でも使うことができるので、よりインタラクティブな可視化を行うときにはぜひお試しください。

監修してくれたメンター

メンター三浦

モバイルゲームを運用している会社のエンジニアをしています。趣味でWEB開発やクラウドコンピューティングもやっており、ソフトもハードもなんでもやります。

TechAcademyジュニアではPythonロボティクスコースを担当しています。好きな言語はPython, Node.js。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。