bokeh.models.widgets.widget

すべてのBokeh小部品モデルに基底クラスを提供する.

異なるタイプの描画に加えて、様々なUIコントロール(例えば、スライダ、ボタン、入力など)Bokeh文書に含めることができる.これらの小さな部品は組み合わせて使うことができます CustomJS ブラウザで実行されるコールバック、またはBokehサーバで実行されるPythonコールバック。

class Widget(*args, **kwargs)[ソース]

ベースクラス: bokeh.models.layouts.LayoutDOM

すべてのインタラクティブな小部品タイプの基本クラスです

注釈

これは,Bokehモデルタイプの階層構造の組織を支援するための抽象基底クラスである. 単独インスタンス化は無駄である.

align

属性タイプ: Either () Enum () Align )、 Tuple () Enum () Align )、 Enum () Align ).

親容器内の整列点。

この属性は、このコンポーネントがレイアウト(例えば、メッシュ)のサブ要素である場合にのみ有用である。親コンテナは、自己整列(例えば、グリッド軌跡整列)を覆うことができる。

aspect_ratio

属性タイプ: Either () Enum (エニュメレーション(自動)), Float

コンポーネントの幅と高さの間の比例関係を記述する.

コンポーネントの任意のサイズがサイズに柔軟である場合、この方法は有効である。数字に設定すると width / height = aspect_ratio 私たちの関係は維持されるだろう。そうでなければ "auto" コンポーネントの好ましい幅および高さは、アスペクト比を決定するために使用されるであろう(設定されていない場合、アスペクト比は保持されない)。

background

属性タイプ: Color

コンポーネントの背景。

css_classes

属性タイプ: List () String

このDOM要素のCSSクラス名リストに追加します。注意:クラス名はそのまま追加するだけであり,他の保証は提供しない.

タプルからの代入も許可されているが、これらのタプルは調整されており、この属性は常に1つのリストを含む。

default_size

属性タイプ: Int

支配的なサイズのデフォルトサイズ(幅または高さ)。

主要次元は小部品方向によって決定される.

disabled

属性タイプ: Bool

表示時にガジェットを無効にするかどうか。

もし True この場合、ウィジェットは灰色で表示され、UIイベントに応答しない。

height

属性タイプ: NonNegativeInt

コンポーネントの高さ(画素単位).

これは、固定高さであってもよく、第一選択高さであってもよく、特に高さ調整戦略に依存する。

height_policy

property type: Either ( Auto , Enum ( SizingPolicy ) )

コンポーネントがその高さをどのように維持すべきかを説明する。

"auto"

コンポーネントを使用するためには、サイズ調整ポリシーが優先的である。

"fixed"

正確に使う height ピクセルです。コンポーネントは利用可能な垂直空間を入れることができないとあふれてしまう.

"fit"

コンポーネントの好ましい高さ(設定されている場合)を使用し、設定されている場合、最小高さ限界および最大高さ限界内に利用可能な垂直空間を挿入することを可能にする。コンポーネントの高さは過度に最小化されることもなく,最大化されることもない.

"min"

最小高さ(設定すれば)以上の最小高さ以上の垂直空間を使用する。始点は第一選択高さ(設定すれば)である.親レイアウト、アスペクト比管理、および他の要因によっては、コンポーネントの高さが縮小または増大する可能性がある。

"max"

最大高さ(設定すれば)を超えないようにできるだけ多くの垂直空間を用いる.始点は第一選択高さ(設定すれば)である.親レイアウト、アスペクト比管理、および他の要因によっては、コンポーネントの高さが縮小または増大する可能性がある。

注釈

これは将来的に変わるかもしれない試験的な機能だ。自分でそれを使うかどうかを決めることができます。もっと使うのが好きです sizing_mode もしこのようなレベルの統制が厳格でなければ。

js_event_callbacks

property type: Dict ( String , List ( Instance ( CustomJS ) ) )

イベント名のリストへのマッピング CustomJS 返電します。

通常,この属性を直接修正すべきではなく,使用すべきである Model.js_on_event 方法:

callback = CustomJS(code="console.log('tap event occurred')")
plot.js_on_event('tap', callback)
js_property_callbacks

property type: Dict ( String , List ( Instance ( CustomJS ) ) )

属性名のリストへのマッピング CustomJS コールバックは、文書作成時にBoehJS端に設定されます。

通常,この属性を直接修正すべきではなく,使用すべきである Model.js_on_change 方法:

callback = CustomJS(code="console.log('stuff')")
plot.x_range.js_on_change('start', callback)
margin

property type: Tuple ( Int , Int , Int , Int )

部品の周りに追加空間を作ることを可能にする。タプル中の値の順序は以下のとおりである:上距離,右距離,下距離,左距離は,CSS基準に類似している.負のエッジ距離値は、任意の方向から空間を縮小するために使用することができる。

max_height

属性タイプ: NonNegativeInt

高さが調整可能である場合、コンポーネントの最大高さ(画素単位)である。

max_width

属性タイプ: NonNegativeInt

幅が調整可能である場合、コンポーネントの最大幅(画素単位)である。

min_height

属性タイプ: NonNegativeInt

高さが調整可能である場合、コンポーネントの最小高さ(画素単位)である。

min_width

属性タイプ: NonNegativeInt

幅が調整可能である場合、コンポーネントの最小幅(画素単位)である。

name

属性タイプ: String

このモデルのユーザが提供する任意の名前.

文書を検索して特定のBokehモデルを検索する際には,この名前が有用である可能性がある.

>>> plot.circle([1,2,3], [4,5,6], name="temp")
>>> plot.select(name="temp")
[GlyphRenderer(id='399d53f5-73e9-44d9-9527-544b761c7705', ...)]

注釈

提供された任意の名前に対して一意保証または他の条件を強制的に実行することはなく、Bokehもいかなる理由でもその名前を直接使用することはない。

orientation

属性タイプ: Enum (列挙(水平·垂直))

水平(デフォルト)または垂直にガジェットの方向を調整する。

すべての小さな部品が垂直方向をサポートしているわけではないことに注意してください。

sizing_mode

属性タイプ: Enum () SizingMode

コンポーネントは自身のサイズをどのように調整すべきか.

This is a high-level setting for maintaining width and height of the component. To gain more fine grained control over sizing, use width_policy, height_policy and aspect_ratio instead (those take precedence over sizing_mode).

起こりうる状況:

"fixed"

コンポーネントは応答しません。後続のどのブラウザウィンドウサイズ調整イベントにもかかわらず、元の幅および高さを維持する。

"stretch_width"

コンポーネントは、アスペクト比を維持することなく、それに応じてサイズを調整して利用可能な幅に延伸する。コンポーネントの高さはコンポーネントのタイプに依存し,固定されていてもよいし,コンポーネントの内容に適応してもよい.

"stretch_height"

コンポーネントは、アスペクト比を維持することなく、それに応じてサイズを調整して利用可能な高さまで延伸する。コンポーネントの幅はコンポーネントのタイプに依存し,固定されていてもよいし,コンポーネントの内容に適していてもよい.

"stretch_both"

コンポーネントは完全に応答して、幅および高さで独立しており、これがコンポーネントのアスペクト比を変更しても、利用可能なすべての水平空間および垂直空間を占有するであろう。

"scale_width"

コンポーネントは、元のアスペクト比または提供されたアスペクト比を維持しながら、それに応じてサイズを調整して利用可能な幅に延伸する。

"scale_height"

コンポーネントは、元のアスペクト比または提供されたアスペクト比を維持しながら、利用可能な高さまで延伸するために、それに応じてサイズを調整する。

"scale_both"

コンポーネントは、元のアスペクト比または提供されたアスペクト比を維持しながら、応答してサイズを利用可能な幅および高さに調整する。

subscribed_events

属性タイプ: List () String

Pythonは購読しているイベントリストをコールバックします。このモデルに対して、これはBokehJSからPythonに返されるイベントのセットです。

tags

属性タイプ: List () Any

このモデルに付加されるユーザが提供する任意の値のオプションリスト。

特定のBokehモデルを検索するために文書を検索する際に、このデータは有用である可能性がある:

>>> r = plot.circle([1,2,3], [4,5,6])
>>> r.tags = ["foo", 10]
>>> plot.select(tags=['foo', 10])
[GlyphRenderer(id='1de4c3df-a83d-480a-899b-fb263d3d5dd9', ...)]

あるいは必要なメタデータをアクセス可能なモデルに付加する便利な方法でしかありません CustomJS ダイヤルして待つ.

注釈

提供されたいかなるラベルに対しても一意保証または他の条件を強制的に実行することはなく、Bokehもいかなる理由でもこれらのラベルを直接使用することはない。

visible

属性タイプ: Bool

コンポーネントが見えるかどうか、およびレイアウトの一部であるかどうか。

width

属性タイプ: NonNegativeInt

コンポーネントの幅(画素単位)である.

これは、固定幅であってもよいし、好ましい幅であってもよく、具体的には、幅サイズ調整ポリシーに依存する。

width_policy

property type: Either ( Auto , Enum ( SizingPolicy ) )

コンポーネントがその幅をどのように維持すべきかを説明する。

"auto"

コンポーネントを使用するためには、サイズ調整ポリシーが優先的である。

"fixed"

正確に使う width ピクセルです。コンポーネントは利用可能な水平空間を入れることができないとあふれてしまう.

"fit"

コンポーネントの好ましい幅(設定されている場合)が使用され、設定されている場合、最小および最大幅限界(設定されている場合)内の利用可能な水平空間に適合することができる。コンポーネントの幅は過度に最小化されることもなく,最大化されることもない.

"min"

できるだけ少ない水平空間を使用して、最小幅(設定すれば)以上である。始点は優先幅(設定すれば)である.親レイアウト、アスペクト比管理、および他の要因によっては、コンポーネントの幅が縮小または増大する可能性がある。

"max"

できるだけ多くの水平空間を用いて,最大幅(設定すれば)を超えない.始点は優先幅(設定すれば)である.親レイアウト、アスペクト比管理、および他の要因によっては、コンポーネントの幅が縮小または増大する可能性がある。

注釈

これは将来的に変わるかもしれない試験的な機能だ。自分でそれを使うかどうかを決めることができます。もっと使うのが好きです sizing_mode もしこのようなレベルの統制が厳格でなければ。

apply_theme(property_values)

アプリケーションのセットは、デフォルト値のテーマ値ではなく使用されるが、アプリケーションセット値はカバーされない。

入力された辞書はそのまま保持し,他の事例と共有してメモリを節約することができる(したがって呼び出し方和 HasProps インスタンスはそれを修正すべきである).

パラメータ

property_values (dict) -- デフォルト値の代わりにテーマ値を使用します

戻り値

なし

classmethod dataspecs()

全員の名前を集める DataSpec 属性です。

この方法は いつも クラス階層構造を遍歴し,任意の親クラスで定義された属性を含む.

戻り値

名前または名前 DataSpec 特性

戻り値の型

set[str]

classmethod dataspecs_with_props()

辞書を集めて全員の名前をマッピングします DataSpec 属性は関連する属性に付加される.

この方法は いつも クラス階層構造を遍歴し,任意の親クラスで定義された属性を含む.

戻り値

名前と名前のマッピング DataSpec 特性

戻り値の型

dict[str, DataSpec]

equals(other)

モデルの構造は平等である.

パラメータ

other (HasProps) -- 比較するもう一つの例は

戻り値

属性が構造的に等しいならばTrue,そうでなければFalseとなる.

2つのBokehモデル属性をJavaScriptを用いてリンクする.

これは、CustomJSコールバックを追加して、1つのBokehモデル属性が値を変更するときに別のBokehモデル属性を更新するプロセスを簡略化することができる便利な方法である。

パラメータ
  • attr (str) -- このモデル上のBokeh属性の名前

  • other (Model) -- Self.attrにリンクされたBokehモデル

  • other_attr (str) -- 上の属性 other リンクがつながっている

  • attr_selector (Union[int, str]) -- 購読可能表中の項目をリンクするためのインデックス attr

バージョン1.1での追加

例外

ValueError --

サンプル

このコードには js_link

select.js_link('value', plot, 'sizing_mode')

以下と同等である.

from bokeh.models import CustomJS
select.js_on_change('value',
    CustomJS(args=dict(other=plot),
             code="other.sizing_mode = this.value"
    )
)

また,範囲スライダの左側をattr_selectorを用いて描画のx_rangeに付加する:

range_slider.js_link('value', plot.x_range, 'start', attr_selector=0)

これは以下のようなものです

from bokeh.models import CustomJS
range_slider.js_on_change('value',
    CustomJS(args=dict(other=plot.x_range),
             code="other.start = this.value[0]"
    )
)
js_on_change(event, *callbacks)

付加する. CustomJS 任意のBoehJSモデルイベントのコールバック.

BokehJS側では,モデル属性の変更イベントの形式は "change:property_name" それがそうです。便宜上,このメソッドに渡されるイベント名もモデル上の属性の名前であれば, "change:" 自動:

# these two are equivalent
source.js_on_change('data', callback)
source.js_on_change('change:data', callback)

しかし,属性変更イベントに加えて,他のタイプのイベントに応答することも可能である.例えば、データがストリーミングされる限り ColumnDataSource 使用、使用 "stream" 源上の事件:

source.js_on_change('streaming', callback)
layout(side, plot)
classmethod lookup(name)

見つかる PropertyDescriptor クラス上のBokeh属性に対して,属性名を与える.

パラメータ

name (str) -- 検索する属性の名前

戻り値

名前の属性の記述子 name

戻り値の型

PropertyDescriptor

on_change(attr, *callbacks)

このオブジェクトには,以下の場合にトリガするコールバックを追加する. attr 変化する。

パラメータ
  • attr (str) -- このオブジェクトの属性名

  • *callbacks (callable) -- 登録するコールバック関数

戻り値

なし

例:

widget.on_change('value', callback1, callback2, ..., callback_n)
classmethod properties(with_bases=True)

このような上の属性名を収集する.

この方法は (オプション) クラス階層構造を遍歴し,任意の親クラスで定義された属性を含む.

パラメータ

with_bases (bool, optional) -- 結果に親クラスで定義された属性が含まれているかどうか.(デフォルト値:TRUE)

戻り値

属性名

戻り値の型

set[str]

classmethod properties_containers()

このようなすべてのコンテナ属性の名前を収集する.

この方法は いつも クラス階層構造を遍歴し,任意の親クラスで定義された属性を含む.

戻り値

容器属性名

戻り値の型

set[str]

classmethod properties_with_refs()

このクラスにも引用されているすべての属性の名前を収集する.

この方法は いつも クラス階層構造を遍歴し,任意の親クラスで定義された属性を含む.

戻り値

引用の属性を持つ名前

戻り値の型

set[str]

properties_with_values(include_defaults: bool = True) → Dict[str, Any]

属性名をその値にマッピングした辞書を収集する.

この方法は いつも クラス階層構造を遍歴し,任意の親クラスで定義された属性を含む.

直列化不可能な属性をスキップし、属性値は、一般に属性から読み出される値とはやや異なる可能性がある“直列化”フォーマットを採用し、この方法は、オブジェクトインスタンスを可逆的に再構成するために必要な情報を返すことを目的とする。

パラメータ

include_defaults (bool, optional) -- オブジェクト作成以来明示的に設定されていない属性が含まれているかどうか。(デフォルト値:TRUE)

戻り値

属性名からその値へのマッピング

戻り値の型

dict

query_properties_with_values(query, include_defaults=True)

クエリの属性値 HasProps 述語を持つインスタンス.

パラメータ
  • query (callable) -- 属性記述子を受け取ってTrueまたはFalseの呼び出し可能関数を返す

  • include_defaults (bool, optional) -- ユーザが明示的に設定していない属性(デフォルト値:true)が含まれているかどうか

戻り値

適合属性の属性名と値のマッピング

戻り値の型

dict

references()

すべてに戻る Models この対象は引用されている.

remove_on_change(attr, *callbacks)

この対象からコールバックを削除する

select(selector)

このオブジェクトおよびそのすべての参照において、所与のセレクタに一致するオブジェクトがクエリされる。

パラメータ

selector (JSON-like) --

戻り値

配列番号. [模型]

select_one(selector)

このオブジェクトおよびそのすべての参照において、所与のセレクタに一致するオブジェクトがクエリされる。複数のオブジェクトが見つかれば,エラーを引き起こす.単一のマッチングオブジェクトを返し、何も見つからない場合は、NONEを返す:パラメータセレクタ::タイプセレクタ:JSONに類似している

戻り値

模型

set_from_json(name, json, models=None, setter=None)

JSONからこのオブジェクトの属性値を設定する.

パラメータ
  • name -- (Str):設定する属性の名前

  • json -- (json-value):設定する属性の値

  • models (dict or None, optional) -- モデルIDからモデルへのマッピング(デフォルト値:なし)更新する属性も参照する値を持つ場合には,このオプションが必要となる.

  • setter (ClientSession or ServerSession or None, optional) -- これはBokehアプリケーションの“ブーメラン”の更新を阻止するためのものです。Bokehサーバアプリケーションのコンテキストでは,入力された属性更新は,更新を実行するセッションを用いてアノテーションを行う.この値は、更新によってトリガされた任意の後続の変更通知によって伝播される。セッションは、イベント設定器自身と比較し、自身からの任意の更新を抑制することができる。

戻り値

なし

set_select(selector, updates)

指定された属性/値を有する所与のセレクタに一致するオブジェクトが更新される。

パラメータ
  • selector (JSON-like) --

  • updates (dict) --

戻り値

なし

themed_values()

すべてのテーマが提供するカバーを得る。

結果は属性名から値までの辞書形式で返されるか,または None 主題がこのインスタンスの任意の値をカバーしていない場合。

戻り値

DICTやNONE

to_json(include_defaults)

この対象属性を返す辞書は,“JSONタイプ”(文字列,数字,ブール値,無,辞書,リスト)のみを含む.

他のオブジェクトへの参照は“refs”(オブジェクトIDとタイプ情報のみ)に系列化されるため,逆直列化プログラムはそれらの他のオブジェクトの完全な属性を単独で持つ必要がある.

対応のない from_json() 逆直列化オブジェクトは、通常、文書コンテキストで行われるからである(文書は引用を解析できるので)。

ほとんどの場合、文書全体を直列化して逆直列化することが望ましい。

パラメータ

include_defaults (bool) -- デフォルト値から変更されていない属性が含まれているかどうか

to_json_string(include_defaults)

このオブジェクト属性をコードするJSON文字列を返す.

他のオブジェクトへの参照は参照(オブジェクトIDとタイプ情報のみ)に系列化されるため,逆直列化プログラムはそれらの他のオブジェクトの完全な属性を単独で持つ必要がある.

対応のない from_json_string() 逆直列化オブジェクトは、通常、文書コンテキストで行われるからである(文書は引用を解析できるので)。

ほとんどの場合、文書全体を直列化して逆直列化することが望ましい。

パラメータ

include_defaults (bool) -- デフォルト値から変更されていない属性が含まれているかどうか

trigger(attr, old, new, hint=None, setter=None)
unapply_theme()

すべてのトピック値を削除し、デフォルト値を復元します。

戻り値

なし

update(**kwargs)

与えられたキーワードパラメータに基づいてオブジェクトの属性を更新する.

戻り値

なし

サンプル

以下の内容は等価である.

from bokeh.models import Range1d

r = Range1d

# set properties individually:
r.start = 10
r.end = 20

# update properties together:
r.update(start=10, end=20)
update_from_json(json_attributes, models=None, setter=None)

JSON属性辞書から対象の属性を更新する.

パラメータ
  • json_attributes -- (json-dict):更新する属性と値

  • models (dict or None, optional) -- モデルIDからモデルへのマッピング(デフォルト値:なし)更新する属性も参照する値を持つ場合には,このオプションが必要となる.

  • setter (ClientSession or ServerSession or None, optional) -- これはBokehアプリケーションの“ブーメラン”の更新を阻止するためのものです。Bokehサーバアプリケーションのコンテキストでは,入力された属性更新は,更新を実行するセッションを用いてアノテーションを行う.この値は、更新によってトリガされた任意の後続の変更通知によって伝播される。セッションは、イベント設定器自身と比較し、自身からの任意の更新を抑制することができる。

戻り値

なし

property document

♪the Document このモデルは添付されています None

property struct

このモデルのBokehプロトコル“構造”,すなわち以下の形式の辞書:

{
    'type' : << view model name >>
    'id'   : << unique model id >>
}

他にもあるかもしれません subtype フィールド(このモデルがサブタイプである場合)。

JSON Prototype
{
  "align": "start",
  "aspect_ratio": null,
  "background": null,
  "css_classes": [],
  "default_size": 300,
  "disabled": false,
  "height": null,
  "height_policy": "auto",
  "id": "18002",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "margin": [
    5,
    5,
    5,
    5
  ],
  "max_height": null,
  "max_width": null,
  "min_height": null,
  "min_width": null,
  "name": null,
  "orientation": "horizontal",
  "sizing_mode": null,
  "subscribed_events": [],
  "tags": [],
  "visible": true,
  "width": null,
  "width_policy": "auto"
}