bokeh.core.properties

ストーリーおよびシーンを記述するために使用可能なモデルの作成および使用を簡略化および自動化するために、Bokehは、属性および属性混合のセットを提供する。属性クラスは,大量の有用なタイプ集合に自動検証と直列化を提供する.MixinとContainerクラスにより,モデルクラスに属性を容易に一括追加することができる.

Bokehモデルに属性タイプを提供する

属性は,自動直列化,検証,文書を提供するために,Bokehモデル上のクラス属性に割り当てることができるオブジェクトである.

本稿では,以下の部分に分類する.

概要

モジュールには多くの属性タイプが定義されています例えば Int 整数値を表すために Seq シーケンス(例えば、リストまたはタプルなど)を表す。属性を組み合わせることもできます Seq(Float) 一連の浮動小数点値を表す.

たとえば,以下では整数,文字列,リストを含むモデルを定義する. [ブイ.ブイ] 属性:

class SomeModel(Model):
    foo = Int
    bar = String(default="something")
    baz = List(Float, help="docs for baz prop")

図に示すように、属性は、属性タイプとしてのみ宣言されてもよく、例えば、 foo = Int この場合,属性は新たなModelオブジェクト上で自動的にインスタンス化される.あるいは、この属性をクラス上でインスタンス化し、デフォルト値およびヘルプ文字列を使用して構成することができる。

初期値設定項目にキーワードパラメータを指定することで、このような属性を初期化することができる:

m = SomeModel(foo=10, bar="a str", baz=[1,2,3,4])

インスタンス上の属性を設定することによって、以下の動作を実行することもできる。

m.foo = 20

属性を誤ったタイプの値に設定しようとすると ValueError 例外的な場合:

>>> m.foo = 2.3
Traceback (most recent call last):

  << traceback omitted >>

ValueError: expected a value of type Integral, got 2.3 of type float

属性を持つモデルは自分をどのように直列化するかを知っており,BoehJSは理解できる.また,使用中のSphinx拡張は,属性に関する任意のヘルプ文字列を容易かつ自動的に抽出することができる bokeh.sphinxext モジュールです。

基本属性

class Angle(default=None, help=None, serialized=None, readonly=False)[ソース]

浮動小数点角値を受け取る.

Angle 相等しい. Float 意味的により意味的に提供されています

パラメータ
  • default (float or None, optional) -- この属性から作成された属性のデフォルト値(デフォルト値:なし)

  • help (str or None, optional) -- この属性の文書文字列それは自動的に bokeh_prop Spinx文書を生成する際の拡張子.(デフォルト値:なし)

  • serialized (bool, optional) -- この属性から作成された属性が直列化に含まれるべきかどうか(デフォルト:true)

  • readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

class Any(default=None, help=None, serialized=None, readonly=False)[ソース]

すべての値を受け取る。

♪the Any 属性は何の検証や変換も実行しない.

パラメータ
  • default (obj or None, optional) -- この属性から作成された属性のデフォルト値(デフォルト値:なし)

  • help (str or None, optional) -- この属性の文書文字列それは自動的に bokeh_prop Spinx文書を生成する際の拡張子.(デフォルト値:なし)

  • serialized (bool, optional) -- この属性から作成された属性が直列化に含まれるべきかどうか(デフォルト:true)

  • readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

例を引く

>>> class AnyModel(HasProps):
...     prop = Any()
...

>>> m = AnyModel()

>>> m.prop = True

>>> m.prop = 10

>>> m.prop = 3.14

>>> m.prop = "foo"

>>> m.prop = [1, 2, 3]
class AnyRef(default=None, help=None, serialized=None, readonly=False)[ソース]

すべての値を受け入れて引用を強制的に発見する。

class Auto[ソース]

文字列“AUTO”のみを受け付けます。

“自動”行動に構成できる属性には非常に有用である.

例を引く

この属性は通常 Either 財産です。

>>> class AutoModel(HasProps):
...     prop = Either(Float, Auto)
...

>>> m = AutoModel()

>>> m.prop = 10.2

>>> m.prop = "auto"

>>> m.prop = "foo"      # ValueError !!

>>> m.prop = [1, 2, 3]  # ValueError !!
class Bool(default=None, help=None, serialized=None, readonly=False)[ソース]

ブール値を受ける。

パラメータ
  • default (obj or None, optional) -- この属性から作成された属性のデフォルト値(デフォルト値:なし)

  • help (str or None, optional) -- この属性の文書文字列それは自動的に bokeh_prop Spinx文書を生成する際の拡張子.(デフォルト値:なし)

  • serialized (bool, optional) -- この属性から作成された属性が直列化に含まれるべきかどうか(デフォルト:true)

  • readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

例を引く

>>> class BoolModel(HasProps):
...     prop = Bool(default=False)
...

>>> m = BoolModel()

>>> m.prop = True

>>> m.prop = False

>>> m.prop = 10  # ValueError !!
class Byte(default=0, help=None)[ソース]

全数字節値(0−255)が受け入れられる。

例を引く

>>> class ByteModel(HasProps):
...     prop = Byte(default=0)
...

>>> m = ByteModel()

>>> m.prop = 255

>>> m.prop = 256  # ValueError !!

>>> m.prop = 10.3 # ValueError !!
class Color(default=None, help=None)[ソース]

色の値を様々な方法で受け取る。

色については、命名色と“#”で始まる16進数値がサポートされているので、文字列値を受信すると、147個のSVG命名色のうちの1つである場合、または“#”で始まる場合、値として解釈されるという解釈がある。

3タプルが提供された場合、RGB(0..255)とみなされる。4タプルが提供された場合、RGBA(0..255)とみなされ、alphaは0と1の間の浮動小数点数とみなされる。(これはHTML 5 Canvas APIに従う。)

例を引く

>>> class ColorModel(HasProps):
...     prop = Color()
...

>>> m = ColorModel()

>>> m.prop = "firebrick"

>>> m.prop = "#a240a2"

>>> m.prop = (100, 100, 255)

>>> m.prop = (100, 100, 255, 0.5)

>>> m.prop = "junk"              # ValueError !!

>>> m.prop = (100.2, 57.3, 10.2) # ValueError !!
class Complex(default=None, help=None, serialized=None, readonly=False)[ソース]

複数の浮動小数点値を受け取る.

パラメータ
  • default (complex or None, optional) -- この属性から作成された属性のデフォルト値(デフォルト値:なし)

  • help (str or None, optional) -- この属性の文書文字列それは自動的に bokeh_prop Spinx文書を生成する際の拡張子.(デフォルト値:なし)

  • serialized (bool, optional) -- この属性から作成された属性が直列化に含まれるべきかどうか(デフォルト:true)

  • readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

class DashPattern(default=[], help=None)[ソース]

線引き仕様を受ける。

線の表示パターンを記述する。 DashPattern 値は、様々な方法で指定することができる:

  • 列挙:“実線”,“破折番号”,“一点鎖線”,“一点鎖線”,“破折号”

  • 整数のタプルまたはリスト。 HTML5 Canvas dash specification style それがそうです。なお、整数リストが奇数個の要素を有する場合、コピーされ、複製されたリストが新しいブレークスルー番号リストとなることに留意されたい。

破線が閉じていること(実線)を示すには,空リスト[]を指定してください.

class Date(default=None, help=None, serialized=None, readonly=False)[ソース]

受理日時(ただし日時を受け付けない)値.

class Datetime(default=None, help=None)[ソース]

日時値を受け取る。

class Either(tp1, tp2, *type_params, **kwargs)[ソース]

他の属性タイプによる系列受信値.

例:

>>> class EitherModel(HasProps):
...     prop = Either(Bool, Int, Auto)
...

>>> m = EitherModel()

>>> m.prop = True

>>> m.prop = 10

>>> m.prop = "auto"

>>> m.prop = 10.3   # ValueError !!

>>> m.prop = "foo"  # ValueError !!
class Enum(enum, *values, **kwargs)[ソース]

列挙からの値を受け取る.

エニュメレーションの最初の値はデフォルト値として使われています default キーワードパラメータを用いる.

bokeh.core.enums より多くの情報を得ることができます

class Float(default=None, help=None, serialized=None, readonly=False)[ソース]

浮動小数点値を受け取る。

パラメータ
  • default (float or None, optional) -- この属性から作成された属性のデフォルト値(デフォルト値:なし)

  • help (str or None, optional) -- この属性の文書文字列それは自動的に bokeh_prop Spinx文書を生成する際の拡張子.(デフォルト値:なし)

  • serialized (bool, optional) -- この属性から作成された属性が直列化に含まれるべきかどうか(デフォルト:true)

  • readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

例を引く

>>> class FloatModel(HasProps):
...     prop = Float()
...

>>> m = FloatModel()

>>> m.prop = 10

>>> m.prop = 10.3

>>> m.prop = "foo"  # ValueError !!
class FontSize(default=None, help=None, serialized=None, readonly=False)[ソース]
class Image(default=None, help=None, serialized=None, readonly=False)[ソース]

画像ファイルタイプ、例えば、PNG、JPEG、TIFF等を受け付ける。

この属性は、以下のように構成することができる。

  • ロードする文字列ファイル名 PIL.Image.open

  • RGB(A)NumPy配列は,PNGに変換する.

  • A PIL.Image.Image 客体.

いずれの場合も、画像データはBase 64符号化文字列にシーケンス化される。

class Instance(instance_type, default=None, help=None, readonly=False, serialized=True)[ソース]

事例としての値を受け取る HasProps それがそうです。

パラメータ

readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

class Int(default=None, help=None, serialized=None, readonly=False)[ソース]

符号付き整数値を受け取る.

パラメータ
  • default (int or None, optional) -- この属性から作成された属性のデフォルト値(デフォルト値:なし)

  • help (str or None, optional) -- この属性の文書文字列それは自動的に bokeh_prop Spinx文書を生成する際の拡張子.(デフォルト値:なし)

  • serialized (bool, optional) -- この属性から作成された属性が直列化に含まれるべきかどうか(デフォルト:true)

  • readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

例を引く

>>> class IntModel(HasProps):
...     prop = Int()
...

>>> m = IntModel()

>>> m.prop = 10

>>> m.prop = -200

>>> m.prop = 10.3  # ValueError !!
class Interval(interval_type, start, end, default=None, help=None)[ソース]

与えられた間隔に含まれる値を受け取る.

パラメータ
  • interval_type (numeric property) -- numeric types for the range, e.g. Int, Float

  • start (number) -- この範囲の最小許容値。値が小さい start 検証ミスを招きます。

  • end (number) -- 範囲の最大許容値。値が大きい end 検証ミスを招きます。

例を引く

>>> class RangeModel(HasProps):
...     prop = Range(Float, 10, 20)
...

>>> m = RangeModel()

>>> m.prop = 10

>>> m.prop = 20

>>> m.prop = 15

>>> m.prop = 2     # ValueError !!

>>> m.prop = 22    # ValueError !!

>>> m.prop = "foo" # ValueError !!
class JSON(default=None, help=None, serialized=None, readonly=False)[ソース]

JSON文字列の値を受け取ります。

BoehJSはこの値を ひも. JSONの内容が含まれています。つまり、あなたは使用しなければなりません JSON.parse 値をJavaScriptハッシュに伸張する.

パラメータ
  • default (string or None, optional) -- この属性から作成された属性のデフォルト値(デフォルト値:なし)

  • help (str or None, optional) -- この属性の文書文字列それは自動的に bokeh_prop Spinx文書を生成する際の拡張子.(デフォルト値:なし)

  • serialized (bool, optional) -- この属性から作成された属性が直列化に含まれるべきかどうか(デフォルト:true)

  • readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

class MarkerType(**kw)[ソース]
class MinMaxBounds(accept_datetime=False, default='auto', help=None)[ソース]

範囲のための(最小、最大)境界タプルを受け入れる。

境界はタプル形式で提供されています (min, max) したがって、あなたの範囲が増大するか減少するかにかかわらず、第1の項は範囲の最小値であるべきであり、第2の項は最大値であるべきである。最小値>最大値を設定すると ValueError それがそうです。

境界を設定することで、必要に応じて描画を許可することができません。描画の一端のみを制約したい場合には,minまたはmaxを設定することができる. None 例: DataRange1d(bounds=(None, 12))

class NonNegativeInt(default=None, help=None, serialized=None, readonly=False)[ソース]

非負整数を受け取る.

class Percent(default=None, help=None, serialized=None, readonly=False)[ソース]

浮動小数点100%比を受け入れます

Percent Alphaの値や範囲などを指定するためには非常に有用である可能性があり,意味的にも意味がある.

パラメータ
  • default (float or None, optional) -- この属性から作成された属性のデフォルト値(デフォルト値:なし)

  • help (str or None, optional) -- この属性の文書文字列それは自動的に bokeh_prop Spinx文書を生成する際の拡張子.(デフォルト値:なし)

  • serialized (bool, optional) -- この属性から作成された属性が直列化に含まれるべきかどうか(デフォルト:true)

  • readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

例を引く

>>> class PercentModel(HasProps):
...     prop = Percent()
...

>>> m = PercentModel()

>>> m.prop = 0.0

>>> m.prop = 0.2

>>> m.prop = 1.0

>>> m.prop = -2  # ValueError !!

>>> m.prop = 5   # ValueError !!
class PositiveInt(default=None, help=None, serialized=None, readonly=False)[ソース]

正の整数を受け取る。

class RGB(default=None, help=None, serialized=None, readonly=False)[ソース]

色を受ける。RGB値。

class Regex(regex, default=None, help=None)[ソース]

与えられた正規表現にマッチする文字列を受け取る.

パラメータ
  • default (string or None, optional) -- この属性から作成された属性のデフォルト値(デフォルト値:なし)

  • help (str or None, optional) -- この属性の文書文字列それは自動的に bokeh_prop Spinx文書を生成する際の拡張子.(デフォルト値:なし)

  • serialized (bool, optional) -- この属性から作成された属性が直列化に含まれるべきかどうか(デフォルト:true)

  • readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

例を引く

>>> class RegexModel(HasProps):
...     prop = Regex("foo[0-9]+bar")
...

>>> m = RegexModel()

>>> m.prop = "foo123bar"

>>> m.prop = "foo"      # ValueError !!

>>> m.prop = [1, 2, 3]  # ValueError !!
class Size(default=None, help=None, serialized=None, readonly=False)[ソース]

非負値を受け入れる。

パラメータ
  • default (float or None, optional) -- この属性から作成された属性のデフォルト値(デフォルト値:なし)

  • help (str or None, optional) -- この属性の文書文字列それは自動的に bokeh_prop Spinx文書を生成する際の拡張子.(デフォルト値:なし)

  • serialized (bool, optional) -- この属性から作成された属性が直列化に含まれるべきかどうか(デフォルト:true)

  • readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

例を引く

>>> class SizeModel(HasProps):
...     prop = Size()
...

>>> m = SizeModel()

>>> m.prop = 0

>>> m.prop = 10e6

>>> m.prop = -10   # ValueError !!

>>> m.prop = "foo" # ValueError !!
class String(default=None, help=None, serialized=None, readonly=False)[ソース]

文字列の値を受け取る.

パラメータ
  • default (string or None, optional) -- この属性から作成された属性のデフォルト値(デフォルト値:なし)

  • help (str or None, optional) -- この属性の文書文字列それは自動的に bokeh_prop Spinx文書を生成する際の拡張子.(デフォルト値:なし)

  • serialized (bool, optional) -- この属性から作成された属性が直列化に含まれるべきかどうか(デフォルト:true)

  • readonly (bool, optional) -- この属性から作成された素性が読み専用であるかどうか.(デフォルト値:FALSE)

例を引く

>>> class StringModel(HasProps):
...     prop = String()
...

>>> m = StringModel()

>>> m.prop = "foo"

>>> m.prop = 10.3       # ValueError !!

>>> m.prop = [1, 2, 3]  # ValueError !!
class Struct(**fields)[ソース]

構造に属する値を受け取る.

class TimeDelta(default=datetime.timedelta(0), help=None)[ソース]

TimeDelta値を受け取る.

容器属性

class Array(item_type, default=None, help=None)[ソース]

NumPy配列の値を受け取る.

class ColumnData(keys_type, values_type, default={}, help=None)[ソース]

Python辞書として適切なPython辞書を受け入れます data 対象の属性 ColumnDataSource それがそうです。

この種類は Dict これは,NumPy配列である列の符号化を効率的に扱う.

class Dict(keys_type, values_type, default={}, help=None)[ソース]

Python辞書値を受け取ります。

デフォルト値が入力される場合、この属性の新しい使用のたびに、その値の浅い表のコピーが使用される。

class List(item_type, default=[], help=None)[ソース]

Pythonリストの値を受け取ります。

class RelativeDelta(default={}, help=None)[ソース]

時間増分値のRelativeDelta判定を受ける.

class Seq(item_type, default=None, help=None)[ソース]

リスト、メタデータ、配列などの非文字列順序の値列を受け取る。

class Tuple(tp1, tp2, *type_params, **kwargs)[ソース]

Pythonタプルの値を受け取ります。

データ仕様属性

class AngleSpec(default=None, units_default='rad', help=None)[ソース]

A DataSpec 属性は、数値固定値を受け取り、角度単位を格納するために関連する単位属性を提供する。

単位の受信可能値は "rad" そして "deg" それがそうです。

class ColorSpec(default, help=None, key_type=<bokeh.core.property.enum.Enum object>)[ソース]

A DataSpec 属性、その属性を受け入れる Color 固定値。

♪the ColorSpec 属性は,まず文字列の値を色として解釈することを試みる.そうでなければ、文字列値はフィールド名として解釈される。例:

m.color = "#a4225f"   # value (hex color string)

m.color = "firebrick" # value (named CSS color string)

m.color = "foo"       # field (named "foo")

この自動解釈はDICTフォーマットで上書きすることもできますし、使用することもできます field() 機能:

m.color = { "field": "firebrick" } # field (named "firebrick")

m.color = field("firebrick")       # field (named "firebrick")
class DataDistanceSpec(default=None, help=None)[ソース]

A DataSpec データ空間距離の数値固定値を受け入れる属性であって、関連する単位属性も提供する属性であって、前記属性報告 "data" 一つの単位として。

class DataSpec(key_type, value_type, default, help=None)[ソース]

属性の基底クラスは,これらの属性は固定値または引用を受ける ColumnDataSource それがそうです。

多くのBokehモデルは、ユーザがそれを単一の固定値に設定することを望むか、またはデータソース内のある列から値をとることを望む可能性がある属性を有する。具体例としては、1つの字形があることを考慮してください x 位置の属性。例えば、描画されたすべての字形を同じ位置に設定することが望ましいかもしれません x=10 それがそうです。以下のことを書くだけで便利です。

glyph.x = 10

あるいは、データソースの“圧力”列に応じて、描画可能な各フォントには異なる位置があるはずである。この例ではこう書きたいと思います

glyph.x = "pressure"

ポーク! DataSpec 属性(およびサブクラス)は,このような表現の単純さと整合性を提供する.結局のところ全ての DataSpec 属性解析は辞書値であり,使用可能である "value" 鍵、または1つ "field" キーは,具体的にはその設定方式に依存する.

例:

glyph.x = 10          # => { 'value': 10 }

glyph.x = "pressure"  # => { 'field': 'pressure' }

ブラウザがこれらの下位辞書辞書の値を受信すると、BokehJSはそれらを解釈し、正しい予期される操作を行うことを知っている(すなわち、ここでは、 x=10 フォントを使用したり x “圧力”の欄からの座標)。このように,ユーザの立場から見ると,これら2つの用例はいずれも異なる処理を行うことなく容易にPythonで表現することができる.

注目すべきは DataSpec フォーマットの正しい辞書値を使用して属性を直接設定することもできます:

glyph.x = { 'value': 10 }         # same as glyph.x = 10

glyph.x = { 'field': 'pressure' } # same as glyph.x = "pressure"

場合によっては、属性を辞書に直接設定することが有用である可能性がある。例えばいくつかは DataSpec サブクラスはもう一つ追加されました "units" 辞書の鍵です。このキーは通常自動的に設定されるが,辞書フォーマットは必要に応じて上書きする直接機構を提供する.また、 DataSpec はい一つあります。 "transform" 任意の固定値またはフィールド値を使用する前に、任意の固定値またはフィールド値に適用すべきクライアント変換を指定するキー。例えば皆さんは Jitter 変換して x 価値:

glyph.x = { 'value': 10, 'transform': Jitter(width=0.4) }

Note that DataSpec is not normally useful on its own. Typically, a model will define properties using one of the subclasses such as NumberSpec or ColorSpec. For example, a Bokeh model with x, y and color properties that can handle fixed values or columns automatically might look like:

class SomeModel(Model):

    x = NumberSpec(default=0, help="docs for x")

    y = NumberSpec(default=0, help="docs for y")

    color = ColorSpec(help="docs for color") # defaults to None
class DistanceSpec(default=None, units_default='data', help=None)[ソース]

A DataSpec 属性,その属性は引用を受ける ColumnDataSource また、関連する単位属性も提供されて単位情報を格納する。単位の受信可能値は "screen" そして "data" それがそうです。

class FontSizeSpec(default, help=None, key_type=<bokeh.core.property.enum.Enum object>)[ソース]

A DataSpec 属性は,その属性はフォントサイズの固定値を受け取る.

♪the FontSizeSpec 属性は,まず文字列値をフォントサイズ(すなわち有効なCSS長さ値)と解釈することを試みる.そうでなければ、文字列値はフィールド名として解釈される。例:

m.font_size = "13px"  # value

m.font_size = "1.5em" # value

m.font_size = "foo"   # field

すべての有効CSS長さ単位の完全なリストは、ここで見つけることができる:

Https://drafts.csswg.org/css-value/#Length

class MarkerSpec(default, help=None, key_type=<bokeh.core.property.enum.Enum object>)[ソース]

A DataSpec 属性は,その属性はタグタイプを固定値として受け取る.

♪the MarkerSpec 属性は,まず文字列の値をタグタイプとして解釈することを試みる.そうでなければ、文字列値はフィールド名として解釈される。例:

m.font_size = "circle" # value

m.font_size = "square" # value

m.font_size = "foo"    # field
class NumberSpec(default=None, help=None, key_type=<bokeh.core.property.enum.Enum object>, accept_datetime=True, accept_timedelta=True)[ソース]

A DataSpec 数値と日時固定値の属性を受け取る.

デフォルトの場合,日付と日時値はただちに紀元以来のミリ秒数に変換される.日時値の処理は、以下のパラメータを渡すことで無効にすることができます accept_datetime=False それがそうです。

デフォルトの場合,timedelta値はただちに絶対ミリ秒に変換される.時間増分値の処理は、以下のパラメータを渡すことで無効にすることができる accept_timedelta=False

Timedelta値は絶対ミリ秒と解釈される.

m.location = 10.3  # value

m.location = "foo" # field
class PropertyUnitsSpec(default, units_type, units_default, help=None)[ソース]

A DataSpec 属性は、数値固定値を受け取り、単位情報を格納するために関連するUnits属性を提供する。

class ScreenDistanceSpec(default=None, help=None)[ソース]

A DataSpec スクリーン空間距離の数値固定値を受け入れる属性であって、関連する単位属性も提供する属性であって、前記属性報告 "screen" 一つの単位として。

class StringSpec(default, help=None, key_type=<bokeh.core.property.enum.Enum object>)[ソース]

A DataSpec 文字列の固定値の属性を受け取る

許容可能な固定値およびフィールド名はともに文字列であるため、これらの可能性を明示的に除去する必要がある場合がある。デフォルトの場合、文字列の値はフィールドと解釈されるが、 value() 関数を使用して、文字列を値として解釈すべきである:

m.title = value("foo") # value

m.title = "foo"        # field
class UnitsSpec(default, units_type, units_default, help=None)[ソース]

A DataSpec 属性は、当該属性が数値固定値を受け取り、関連するセル値を直列化する。

助っ人

expr(expression, transform=None)[ソース]

Bokehの“expr”仕様を明示的に返す便利な関数 DataSpec 財産です。

パラメータ
  • expression (Expression) -- 対象の計算式 DataSpec 財産です。

  • transform (Transform, optional) -- 適用する変換(デフォルト値:なし)

戻り値

{ "expr": expression }

戻り値の型

dict

注釈

この関数を含むのは完全性のためである.デフォルトの場合、属性仕様の文字列値はフィールド名と解釈される。

field(name, transform=None)[ソース]

Bokehの“field”仕様を明示的に返すための便利な関数 DataSpec 財産です。

パラメータ
  • name (str) -- 参照するデータソースフィールドの名前 DataSpec 財産です。

  • transform (Transform, optional) -- 適用する変換(デフォルト値:なし)

戻り値

{ "field": name }

戻り値の型

dict

注釈

この関数を含むのは完全性のためである.デフォルトの場合、属性仕様の文字列値はフィールド名と解釈される。

value(val, transform=None)[ソース]

Bokehの“value”仕様を明示的に返す便利な関数 DataSpec 財産です。

パラメータ
  • val (any) -- 属性が指定する固定値. DataSpec 財産です。

  • transform (Transform, optional) -- 適用する変換(デフォルト値:なし)

戻り値

{ "value": name }

戻り値の型

dict

注釈

デフォルトの場合、属性仕様の文字列値はフィールド名と解釈される。テキスト属性を使用して固定値を指定する場合、この関数は特に有用である。

例を引く

# The following will take text values to render from a data source
# column "text_column", but use a fixed value "16px" for font size
p.text("x", "y", text="text_column",
       text_font_size=value("16px"), source=source)

特殊な属性

class Include(delegate, help='', use_prefix=True)[ソース]

Bokehモデルには“混合”属性集合が含まれる.

bokeh.core.property_mixins もっと細かいことを知っています。

class Override(**kwargs)[ソース]

派生モデルにおけるBokeh属性の属性をカバーする.

Bokeh Modelをサブクラス化する際には,クラス上の属性ではなく,属性自体の何らかの属性を変更する必要がある可能性がある.これは使用することで Override 級友たち。

現在のところ Override 書き換えにしか使えない default 属性の値。

キーワード引数

default (obj) -- サブクラス上のこの属性のデフォルト値

例を引く

以下のクラス定義を考慮してください。

from bokeh.model import Model
from bokeh.properties import Int, Override

class Parent(Model):
    foo = Int(default=10)

class Child(Parent):
    foo = Override(default=20)

親クラスは整数属性を持つ foo デフォルト値は10です。サブクラスは以下のコードを用いる:

foo = Override(default=20)

指定する foo サブクラスのインスタンスでは、属性は20であるべきである:

>>> p = Parent()
>>> p.foo
10

>>> c = Child()
>>> c.foo
20

検証のみの属性

class PandasDataFrame(default=None, help=None, serialized=None, readonly=False)[ソース]

Pandas DataFrame値を受け取る.

この属性は、“Accept”節のようなタイプ検証をサポートするためにのみ使用される。それ自体は直列化不可能であり,Bokehモデルに直接追加することはあまり役に立たない.

class PandasGroupBy(default=None, help=None, serialized=None, readonly=False)[ソース]

Pandas DataFrame値を受け取る.

この属性は、“Accept”節のようなタイプ検証をサポートするためにのみ使用される。それ自体は直列化不可能であり,Bokehモデルに直接追加することはあまり役に立たない.

検証制御

デフォルトの場合,Bokeh属性は値に対してタイプ検証を行う.これは、PythonとJavaScriptの間で交換される任意のデータの一貫性を確保し、ユーザがエラータイプの値を設定しようとしたときに詳細かつ即時的なフィードバックを提供するのに役立ちます。しかし、このようなタイプのチェックはいくつかのオーバヘッドを発生させる。場合によっては、性能を向上させるためには、特定の位置で検証を完全にオフにする必要がある可能性がある。以下のAPIは、いつタイプ検証が行われるかを制御するために使用され

class validate(value)[ソース]

制御BOKEH属性の検証

コンテキストマネージャとして使用することも、通常の呼び出し可能なものとしても使用することができる

パラメータ

value (bool) -- 検証すべきかどうか

例を引く

with validate(False):  # do no validate while within this block
    pass

validate(False)  # don't validate ever

参考

validation_on() :検証状態のチェック

without_property_validation() :機能装飾器

without_property_validation(input_function)[ソース]

プロパティ検証は、更新コール中にオフになります

例を引く

@without_property_validation
def update(attr, old, new):
    # do things without validation

参考

validate :コンテキストマネージャは、より細粒度の制御を実現