重要な概念を定義する

用語表

本“ユーザガイド”を活用するためには、いくつかの高度な概念および用語の文脈を理解することが重要である。以下にBokehの中で最も重要な概念の小語彙表を示す.


応用

BokehアプリケーションはBokeh文書を生成する秘訣である.通常、これはBokehサーバが新しいセッションを作成する際に実行するPythonコードです。

BokehJS

ブラウザに実際に視覚効果を提示し,Bokeh図と小部品のUIのインタラクションを扱うJavaScriptクライアントライブラリ.通常,ユーザはBokehの側面をあまり考慮する必要はない. ** しかし,この二分法を基本的に知ることは良い.詳細についてはご参照ください BokehJS 第二章 開発者. ガイドです。

書類

Bokehアプリケーションのための組織データ構造。文書には、ブラウザにインタラクティブな可視化またはアプリケーションを提示するために必要なすべてのBokehモデルおよびデータが含まれています。

埋め込み

WebアプリケーションやページやIPythonノートにBokeh描画およびウィジェットを含める様々な方法。見 Bokehコンテンツを埋め込む もっと細かいことを知っています。

象形文字

Bokeh図の基本的な視覚は、線、矩形、正方形、楔形、パッチなどの基本的な視覚構築ブロックである。 bokeh.plotting インタフェースは、字形を中心に描画を作成する便利な方法を提供する。見 基本字を使って印刷する より多くの情報を得ることができます

模型

Bokeh“シーン図”を構成する最下位層オブジェクト.この人たちは bokeh.models 界面 多くのユーザはこのレベルのインタフェースを用いて描画を直接組み立てることはない. しかし,結局,すべてのBokehグラフはモデル集合からなるため,それらの属性や属性を配置するために十分に知ることが重要である.見 視覚属性スタイルの設定 より多くの情報を得ることができます

サーバー.サーバー

Bokehサーバは、大規模なデータセットのストリームを処理するために、または小さな構成要素および選択に基づいて複雑なユーザ対話を実現するために、Bokeh描画およびアプリケーションを共有および配布するために使用することができるオプションのコンポーネントである。見 Bokehサーバの実行 もっと説明を求める。

小部品.

Bokeh描画以外のユーザインタフェース要素としては,スライダ,プルダウンメニュー,ボタンなどがある.ガジェットからのイベントおよび更新は、他の計算を通知することができ、またはBokeh描画更新をもたらすことができる。ウィジェットは、独立したアプリケーションで使用されてもよいし、Bokehサーバと共に使用されてもよい。例と情報については,参照されたい 相互作用を行う それがそうです。


出力方法

ユーザガイドによく見られるように,Bokeh文書の出力を生成する方法は様々である.最も一般的なインタラクティブな使い方は

output_file

Bokeh可視化のための簡単な独立HTML文書を生成するために用いられる.

output_notebook

Jupyter/ZeppelinノートユニットにBokeh可視化をイントラネットで表示するために使用される.

これらの関数は show あるいは…。 save 機能する。これらの命令を用いて出力されるスクリプトは,通常以下のようになる.

from bokeh.plotting import figure, output_file, show

output_file("output.html")

p = figure()
p.line(x=[1, 2, 3], y=[4,6,2])

show(p)

このスクリプトを呼び出すと foo.py そして実行します python foo.py HTMLファイルが生成されます output.html 線図とともに生成する.これらの関数は、通常、対話型設定において有用であるか、または独立したBokeh文書を作成してサービス(Flask、Djangoなど)を提供するために使用される。Webアプリケーション。

しかしBokehには強力なコマンドツールが付属しています bokeh これはまた、様々なタイプの出力を生成するために使用することができる。

bokeh html

任意のタイプのBokehアプリケーションソースから独立したHTML文書を作成します:例えば、pythonスクリプト、アプリケーションディレクトリ、JSONファイルなどです。

bokeh json

任意のタイプのBokehアプリケーションソースからBokeh文書の直列化JSON表現を生成する.

bokeh serve

Bokeh文書をインタラクティブなWebアプリケーションとして配布する.

使用 bokeh コマンドの特徴の1つは、あなたが作成したコードが特定の出力方法やフォーマットを指定する必要がないことです。書いてもいいです 可視化コードだけ 1回,そして異なる方法で出力することにした.上記の例は、以下のように簡略化される。

from bokeh.plotting import figure, curdoc

p = figure()
p.line(x=[1, 2, 3], y=[4,6,2])
curdoc().add_root(p)

今、逃げてもいいです bokeh html foo.py 独立したHTML文書を生成したり bokeh serve foo.py この文書をWebアプリケーションとしてサービス提供を開始するには,以下の操作を実行してください.コマンドツールの詳細については、ご参照ください コマンドラインを使用する それがそうです。

界面

Bokehは、ソフトウェアの詳細に気を取られたくないデータ科学者および分野の専門家に、より多くの制御またはより複雑な機能を制御またはアクセスしたい可能性のあるアプリケーション開発者およびソフトウェアエンジニアに非常に詳細なインターフェースを提供することを目的としている。そのため,Bokehは階層的な方法を採用し,使用レベルに応じて異なるプログラミングインタフェースを提供している.本節では,Bokehユーザが利用可能な様々なインタフェースの概要と,ライブラリ中で最も重要な概念に関するより多くのコンテキストを提供する.直接基本描画に入りたい場合は、転送してください 基本字を使って印刷する それがそうです。

bokeh.models

Bokehは実際に2つのライブラリコンポーネントから構成されている.

1つ目のコンポーネントは,ブラウザで動作するJavaScriptライブラリBoehJSである.このライブラリはすべてのレンダリングとユーザインタラクションを担当する.その入力は“シーン図”を構成する宣言的JSONオブジェクトの集合である.このシーン図のオブジェクトには、BokehJSが処理すべきすべての内容が記述されている:どのような描画やウィジェットが存在するか、どのような配列で、描画にはどのようなツール、レンダラ、軸があるのか、などが記述されている。これらのJSONオブジェクトは、ブラウザにおいてBokehJSモデルに変換され、対応するBokehJSビューによって提示される。

第2のコンポーネントは、上記JSONのPython(または他の言語)ライブラリを生成することができる。Python Bokehライブラリでは、ブラウザで作成されたBoehJSモデルセットを正確に反映した“モデル”クラスのセットを最低レベルで公開することで実現されています。これらのPythonモデルクラスは、その内容や属性をどのように検証し、自身をどのようにJSONに系列化するかを知っています。これらの低級モデルは low-level |boke.model|インタフェース.多くのモデルは非常に簡単であり,通常いくつかの属性から構成されており,方法はない.モデルを作成する際にモデル属性を配置してもよいし,後でモデルオブジェクトに属性値を設定することでモデル属性を配置してもよい.次はいくつかの例を示します |Rect| 字形オブジェクト:

# properties can be configured when a model object is initialized
glyph = Rect(x="x", y="y2", w=10, h=20, line_color=None)

# or by assigning values to attributes on the model later
glyph.fill_alpha = 0.5
glyph.fill_color = "navy"

これらの構成方法は、通常、すべてのBokehモデルに適用される。そのため,また,すべてのBokehインタフェースは最終的にBokehモデル集合を生成するため,どのインタフェースを用いても,定式化と描画や小部品を配置する方式はほぼ同じである.

|boke.model|インタフェースを用いてBokeh描画とBokehウィジェットの組合せや配置方式を完全に制御することができる.しかし,それは意味的または正確な方法でモデルを組み立てるのに何の助けにもならない.これは,開発者がシーン図を“手作業”で構築することに完全に依存する.したがって、多くのユーザは、より細かい制御を必要とする特別な要求がない限り、以下に説明する|boke.ploting|インタフェースを使用することを望むことができる。すべてのBokehモデルの詳細については、ご参照ください 参考にする それがそうです。

bokeh.plotting

Bokehは mid-level 汎用|boke.ploting|インタフェースは,その特性が類似している. Matplotlib あるいは…。 Matlab スタイル印刷インタフェース。そのコアは,ユーザに表示したい視覚的なフォントを彼らのデータに関連付けることであり,そうでなければ,描画を合理的な黙認軸,メッシュ,およびツールと組み合わせることに注意する必要がある.BokehJSがレンダリング可能なシーン図を形成するために適切なBokehモデルを組み立てるすべての苦しい作業は自動的に処理される.

Boeh.ploting|インタフェースにおける主クラスは figure() 機能します。これは Figure 異なるタイプの字形を描画に追加する方法を含むモデル.さらに、それは任意の追加的な作業を必要としない適切な方法で黙認軸、グリッド、そしてツールを構成する。

以下に|boke.ploting|用法の典型的な例および生成された描画を示す.

from bokeh.plotting import figure, output_file, show

# create a Figure object
p = figure(plot_width=300, plot_height=300, tools="pan,reset,save")

# add a Circle renderer to this figure
p.circle([1, 2.5, 3, 2], [2, 3, 1, 1.5], radius=0.3, alpha=0.5)

# specify how to output the plot(s)
output_file("foo.html")

# display the figure
show(p)

主な観察結果は,典型的な用法が使用に関与していることである figure() 関数、そして|Figure.Circle|のようなフォント方法を用いて私たちのデータにレンダラを追加します。任意の軸やメッシュを配置する心配はなく(必要に応じて配置できるにもかかわらず),ツールを指定するにはツールの名前を付加すればよい.最後に,いくつかの出力関数を用いて我々のグラフを示す.

他にも多くの可能性があります:それを表示するのではなく、軸やメッシュのスタイルを設定したり、軸やメッシュを削除したり、追加のレンダラを追加したり、複数の描画を一緒にレイアウトしたりします。♪the 基本字を使って印刷する この部分の ユーザーガイド |boke.ploting|インタフェースを使用する例と一般的な用例をより多くご紹介します。