Боке - Как изменить атрибут глифа в обратном вызове JS? - PullRequest
0 голосов
/ 23 октября 2018

Я строю график в Bokeh 0.13.0 и хочу изменить атрибут x глифа Ray в пользовательском обратном вызове JS.

Мне нужно знать 2 вещи:

  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 голосов
/ 23 октября 2018

Разобрался.Я передал объект GlyphRenderer для Луча как элемент в аргументе CustomJS args.После этого я смог получить доступ к объекту 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();
""")
...