散景-如何在JS回调中更改字形属性?

时间:2018-10-23 18:41:29

标签: javascript data-visualization bokeh

我正在Bokeh 0.13.0中进行绘制,我想在自定义JS回调中更改x标志符号的Ray属性。

我需要知道两件事:

  1. 如何将字形传递给回调?
  2. 一旦传递了x属性,我该如何引用?

这是要点:

vline = Ray( x=vline_x, y=0, length=0, angle=1.5708, line_width=1)
plot.add_glyph(source, vline)

callback = CustomJS(args=dict(source=source), code="""
    var data = source.data;

    // CHANGE ATTRIBUTE HERE

    source.change.emit();
""")

谢谢!

1 个答案:

答案 0 :(得分:0)

弄清楚了。我将Ray的GlyphRenderer对象作为CustomJS参数dict中的一项传递。然后,我可以访问Ray的Glyph对象,并可以从那里更改其属性。

如果我刚通过Glyph对象,也可能会起作用,但是,哦。

更新的代码:

vline = plot.add_glyph(
    source,
    Ray(x=vline_x,y=0, length=0, angle=1.5708, line_width=1)
)

callback = CustomJS(args=dict(vline=vline, source=source), code="""

    vline.glyph.x = <new_value>;

    source.change.emit();
""")