bokeh.driving#

提供一组装饰器,用于在每次调用函数时以指定的方式重复更新函数参数。

这些装饰器在与 Bokeh 服务器应用程序中的周期性回调结合使用时特别有用。

示例

例如,考虑 bounce 强制函数,它向前和向后推进一个序列

from bokeh.driving import bounce

@bounce([0, 1, 2])
def update(i):
    print(i)

如果重复调用此函数,它将在标准输出上打印以下序列

0 1 2 2 1 0 0 1 2 2 1 ...
bounce(sequence: Sequence[int]) partial[Callable[[], None]][source]#

返回一个驱动函数,它可以推进一组“反弹”的值序列。

seq = [0, 1, 2, 3]

# bounce(seq) => [0, 1, 2, 3, 3, 2, 1, 0, 0, 1, 2, ...]
参数:

sequence (seq) – 驱动程序要反弹的值序列

cosine(w: float, A: float = 1, phi: float = 0, offset: float = 0) partial[Callable[[], None]][source]#

返回一个驱动函数,它可以推进一组余弦值序列。

value = A * cos(w*i + phi) + offset
参数:
  • w (float) – 余弦驱动程序的频率

  • A (float) – 余弦驱动程序的振幅

  • phi (float) – 余弦驱动程序的相位偏移量

  • offset (float) – 要添加到驱动程序值的全局偏移量

count() partial[Callable[[], None]][source]#

返回一个驱动函数,它可以推进一个简单的计数。

force(f: Callable[[Any], None], sequence: Iterator[Any]) Callable[[], None][source]#

返回一个装饰器,它可以使用任意提供的生成器来“强制”函数

参数:

sequence (iterable) – 用于驱动 f 的生成器

返回:

装饰器

linear(m: float = 1, b: float = 0) partial[Callable[[], None]][source]#

返回一个驱动函数,可以推进一列线性值。

value = m * i + b
参数:
  • m (float) – 线性驱动的斜率

  • b (float) – 线性驱动的偏移量

repeat(sequence: Sequence[int]) partial[Callable[[], None]][source]#

返回一个驱动函数,可以推进一列重复的值。

seq = [0, 1, 2, 3]

# repeat(seq) => [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, ...]
参数:

sequence (seq) – 驱动程序要反弹的值序列

sine(w: float, A: float = 1, phi: float = 0, offset: float = 0) partial[Callable[[], None]][source]#

返回一个驱动函数,可以推进一列正弦值。

value = A * sin(w*i + phi) + offset
参数:
  • w (float) – 正弦驱动的频率

  • A (float) – 正弦驱动的振幅

  • phi (float) – 用于启动正弦驱动的相位偏移量

  • offset (float) – 要添加到驱动程序值的全局偏移量