Обновление макета с использованием вкладок Bokeh - PullRequest
0 голосов
/ 02 октября 2018

Я создаю панель управления для моего приложения bokeh, используя шаблон, аналогичный показанному здесь:

https://towardsdatascience.com/data-visualization-with-bokeh-in-python-part-iii-a-complete-dashboard-dc6a86aa6e23

По сути, я разделяю различные функции моего приложенияв различные сценарии, в которых есть функция, возвращающая объект Panel, содержащий макет для импорта, в объекте Tabs, определенный в моем файле main.py.

Например, это то, что возвращает мой сценарий read.py:

# First layout / plot
read_layout = bla.layout([firstColRaw,
                           secondColRaw,
                           bmo.Spacer(width=50),
                           thirdColRaw])


def read_tab():
    tab = bmo.Panel(child=read_layout, title='Read in data')
    return tab

Это то, что у меня есть на моем main.py:

from scripts.read import read_tab

# Tabs to select the app function
tab1 = read_tab()

nav_tabs = [tab1]
tabs = bmo.Tabs(tabs=nav_tabs, width=1500)

# Create the main layout
layout_main = bla.column(buttons,
                         tabs,
                         height=300,
                         width=1500)

# Put the tabs in the current document for display
doc.add_root(layout_main)

Я сталкиваюсь с проблемой при попытке обновить макет одной из вкладок.В этом конкретном примере я хотел бы динамически показать пользователю, сколько файлов необработанных данных загружается в среду.

В этом конкретном случае я изменяю содержимое переменной thirdColRaw, которая затем добавляет div к объекту макета.

Если я запускаю приложение, как показано выше, я не могу обновить содержимоеВкладки.Если, с другой стороны, я не использую вкладки, а просто загружаю read_layout из main.py и добавляю его в текущий документ, обновление макета работает просто отлично.

Означает ли это, чтоЯ не могу изменить / добавить / удалить компоненты компоновки панели динамически?Или я что-то не так делаю?

Спасибо!

1 Ответ

0 голосов
/ 03 октября 2018

Начиная с Bokeh 0.13 это известная ошибка макета .В настоящее время ведется большой PR для решения многих проблем с макетом, включая этот, но он не будет готов, пока не будет выпущен Bokeh 1.1.В то же время я могу только предложить:

  • избегать сочетания вкладок и режимов адаптивного определения размера
  • , используя components для шаблонирования графиков в макетах, отличных от Bokeh.
...