2016-11-19 2 views
0

У меня есть участок Bokeh, который может отображать изображение, которое может быть изменено с помощью ползунка (а также должно регулярно обновляться) (аналогично этому вопросу Sliding through images with Bokeh Slider). Таким образом, URL-адрес изображения изменяется, и Bokeh перезагружает изображение. Есть ли способ подключить функцию обратного вызова к загрузке изображения?Обратный вызов Bokeh для обновления изображения

ответ

1

От Bokeh 0.12.3 обратного вызова на загрузку изображения нет. Символ ImageURL не тот, который используется основными разработчиками, AFAIK, и мы не можем всегда предвидеть каждый случай использования, который может потребоваться каждому пользователю. По этой причине мы сделали Bokeh самой расширяемой, поэтому лучшее, что я могу предложить на данный момент, - расширить Bokeh с помощью специального расширения. Документации для создания пользовательских расширений здесь:

http://bokeh.pydata.org/en/latest/docs/user_guide/extensions.html

В сокращенных формах, вы бы создать класс, как это, что добавляет callback собственности, и предоставляют реализацию JavaScript для пользовательских ImageURL глифа:

class MyImageURL(ImageURL): 

    callback = Instance(Callback, help="A callback to run when images load") 

    __implementation__ = JAVASCRIPT_CODE_HERE 

Тогда он может быть использован как любой низкий уровень glyoh:

my_glyph = MyImageURL(...) 
source = ColumnDataSource(...) 
plot.add_glyph(source, my_glyph) 
+0

Спасибо, я попробую. – Randrian

0

Вы можете подписаться на событие изменения тега изображения и сделать все, что вам нужно. Вы можете сделать это с помощью метода JQuery change или прямого обработчика onchange javascript.

+0

Ну, Bokeh делает не создавать тег img в html-дереве, я просто нашел тег canvas. Я полагаю, что Bokeh отображает изображение на этом теге canvas. – Randrian

+0

Это было просто предложение указать вам в этом процессе мысли. Вы можете сделать это для любого тега, который использует Bokeh. – CodingYoshi

+0

Но тогда я должен различать изменения изображения или другие изменения на графике (например, панорамирование или масштабирование). – Randrian

Смежные вопросы