2016-06-09 2 views
0

Я пытаюсь сделать бок панели, которые имеют относительно сложных макетов, так что я пытался двигаться половиной моей текущей раскладки в один Panel и половину в другой раз поиграть, например, так:Пример построения панелей Bokeh со сложными макетами?

selects = HBox(top_users_select, new_users_select, t1_users_select, t2_users_select, top_recent_users_select) 
tab1 = Panel(inputs) 
tab2 = Panel(VBox(HBox(plot2, plot1, plot3, plot4), HBox(plot5, plot6, plot7, plot8), data_table)) 
tabs = tabs(tab1, tab2) 
show(tabs) 

Однако это дает мне следующее сообщение об ошибке:

File "main_panel.py", line 589, in <module>: 
tab1 = Panel(inputs) Traceback (most recent call last): 
    File "/Users/joe/anaconda3/lib/python3.5/site-packages/bokeh/application/handlers/code_runner.py", line 71, in run 
    exec(self._code, module.__dict__) 
    File "/Users/joe/Desktop/scripts/src/main/python/Bokeh apps/insights/main_panel.py", line 589, in <module> 
    tab1 = Panel(inputs) 
TypeError: __init__() takes 1 positional argument but 2 were given 

Я довольно новыми для Bokeh, и, глядя на документы, я не знаю точно, как разобрать эту ошибку и получить вокруг него. Может ли кто-нибудь указать мне пример выкладки довольно сложных гридов на панели Bokeh или рассказать мне, что означает ошибка и как я могу ее решить?

ответ

1

Я думаю, что вы хотите написать selects вместо inputs, но в вашей декларации в основном что-то не так.

Посмотрите на примеры в http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/widgets.html#tab-panes

from bokeh.models.widgets import Panel, Tabs 
from bokeh.io import output_file, show 
from bokeh.plotting import figure 

output_file("slider.html") 

p1 = figure(plot_width=300, plot_height=300) 
p1.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=20, color="navy", alpha=0.5) 
tab1 = Panel(child=p1, title="circle") 

p2 = figure(plot_width=300, plot_height=300) 
p2.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=3, color="navy", alpha=0.5) 
tab2 = Panel(child=p2, title="line") 

tabs = Tabs(tabs=[ tab1, tab2 ]) 

show(tabs) 

введенному в панели должны быть назначены child= и панель нуждается в title=.

изменить Также

tabs = tabs(tab1, tab2) 

в

tabs = Tabs(tabs=[tab1,tab2,tab3,tab4]) 
Смежные вопросы