gpt4 book ai didi

javascript - Bokeh 自定义保存工具

转载 作者:行者123 更新时间:2023-11-28 22:28:48 25 4
gpt4 key购买 nike

我正在尝试在 Bokeh 中创建自定义保存工具,这就是我所拥有的:

class NewSaveTool(Tool):
JS_CODE = """
import * as p from "core/properties"
import {ActionTool, ActionToolView} from "models/tools/actions/action_tool"
export class NewSaveToolView extends ActionToolView
do: () ->
save_name = @model.source
@plot_view.save(save_name)

export class NewSaveTool extends ActionTool
default_view: NewSaveToolView
type: "SaveTool"
tool_name: "Save"
icon: "bk-tool-icon-save"
@define {
source: [ p.String ]
}
"""
source = String
__implementation__ = JS_CODE

该工具已加载并位于工具栏中,但是当我单击该按钮时,我得到了

Uncaught TypeError: this.plot_view.save is not a function

这正是源代码中保存工具使用的功能,所以有人知道为什么它在这种情况下不起作用吗?

最佳答案

很晚才回答这个问题,因为我花了太多时间才让它发挥作用。
这里的主要变化是“做”到“做”,尽管老实说我不确定指定的错误来自哪里,这是我从未遇到过的少数错误之一。

一个可行的实现(至少在 bokeh 12.13 上)是:

JS_CODE_SAVE = """
import * as p from "core/properties"
import {ActionTool, ActionToolView} from "models/tools/actions/action_tool"

export class NewSaveView extends ActionToolView

# this is executed when the button is clicked
doit: () ->
@plot_view.save(@model.save_name)

export class NewSave extends ActionTool
default_view: NewSaveView
type: "NewSave"

tool_name: "Save"
icon: "bk-tool-icon-save"

@define { save_name: [ p.String ] }
"""

class NewSave(Tool):
"""
Save a plot with a custom name.
Usage: NewSaveTool(save_name=name)
"""
__implementation__ = JS_CODE_SAVE
save_name = String()

实现为:tools = [CustomSaveTool(savename='custom name')]

要实际动态更改保存名称,您必须更改保存名称属性,例如在小部件回调函数中:plot.tools[0].save_name = 'new save name'

关于javascript - Bokeh 自定义保存工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43358427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com