0

我正在为散景创建自定义扩展。一切正常,文档中的示例很有用。但是,我正在尝试镜像 image_rgba 的功能,即使用您可以执行的图像:

figure.image_rgba(
  image="image_path_in_source", 
  source=ColumnDataSource(dict(image_path_in_source=[np.array(...)]))
)
# or
figure.image_rgba(image=[np.array(...)])

我查看了源代码以重新创建实现此功能的官方方法,但出现错误。让我用代码解释一下:

我的自定义模型定义:

CustomModel.define({
    source: [p.Instance],
    dx: [p.NumberSpec],
    dy: [p.NumberSpec]
});

并且计划是在源更改时使用 dataspec 构造:

const data = this.model.materialize_dataspecs(source);

但是当我从 python 端发送一个stringfor时dx,它会抱怨:

Number property 'dx' given invalid value: "path_to_dx"
    at e.validate (properties.js:134)
    at e.t._init (properties.js:112)
    at e.t.update (properties.js:46)

这显然是正确的,因为我说它将是 aNumberSpec并且我发送了string. 但是我该如何正确地做到这一点?

4

1 回答 1

0

啊,我也忘记将python模型的属性更改为NumberSpec:

class CustomModel(LayoutDOM):
    __implementation__ = '...'

    source = Instance(ColumnDataSource)
    dx = NumberSpec()
    dy = NumberSpec()
于 2019-02-14T09:59:46.487 回答