Как получить доступ к объекту Bokeh по его имени в сложных макетах - PullRequest
0 голосов
/ 06 апреля 2020

Я строю интерфейс со сложной компоновкой (например, несколько строк и столбцов), и я пытаюсь найти способ упростить доступ к данному объекту (будь то рисунок, виджет и т. Д. c) через его имя. Давайте рассмотрим следующий пример:

import numpy as np

from bokeh.plotting import figure, show
from bokeh.io import output_notebook
from bokeh.layouts import row, column
from bokeh.palettes import Category20
output_notebook()

x = np.random.randint(1,10,10)
y = np.random.randint(1,10,10)

p1 = figure()
p1.line(x,y)
p2 = figure()
p2.line(x,y)
p3 = figure(title='Me!', name='target')
p3.line(x,y)

c = column([p2,p3])
r = row(p1,c)

Есть ли способ доступа к p3 из основного объекта макета r? Я понимаю, что для предоставленного примера можно использовать имя переменной напрямую, но мое приложение содержит графики, которые отображаются в подфункциях. Я мог бы возвращать дескриптор каждого графика отдельно, но мне было интересно, существует ли метод для поиска «многомерных» (то есть навигации по дочерним) макетов по свойствам. Я попытался использовать r.select(name='target'), но это возвращает:

TypeError: select() got an unexpected keyword argument 'name'

Спасибо!

1 Ответ

1 голос
/ 06 апреля 2020

Метод select принимает атрибуты к их значениям. В вашем случае попробуйте использовать dict(name='target').

...