2017-09-03 55 views
1

我試圖在使用Bokeh的選項卡中顯示多個數據框。我的代碼在將我的文件保存爲html時起作用,但無法在Jupyter筆記本中內聯顯示。 這裏是我的代碼:無法在Jupyter筆記本上內聯顯示DataTable的選項卡

from bokeh.models.widgets import DataTable, DateFormatter, 
TableColumn, Panel, Tabs 
from bokeh.io import output_notebook, show 
from bokeh.models import ColumnDataSource 
from bokeh.plotting import figure 
from bokeh.resources import INLINE 
output_notebook(resources=INLINE) 

source = ColumnDataSource(train.head()) 
columns = [TableColumn(field=col, title=col) for col in train.columns.tolist()] 
data_table = DataTable(source=source, columns=columns, width=400, height=280) 
tab1 = Panel(child=data_table, title="Train") 

source = ColumnDataSource(prop.head()) 
columns = [TableColumn(field=col, title=col) for col in prop.columns.tolist()] 
data_table = DataTable(source=source, columns=columns, width=len(columns)*100, height=280) 
tab2 = Panel(child=data_table, title="Properties") 

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

以下是錯誤messege:

Javascript error adding output! 
Error: SlickGrid's 'enableColumnReorder = true' option requires jquery-ui.sortable module to be loaded 
See your browser Javascript console for more details. 

這裏是我的設置:

Python 3.6.1 :: Anaconda custom (64-bit) 
Ubuntu 16.04 LTS 
jupyter==1.0.0 
jupyter-client==5.0.1 
jupyter-console==5.1.0 
jupyter-core==4.3.0 
bokeh==0.12.7 

有人點我一個方向我能做些什麼解決這個問題? 在此先感謝! Mike

回答

0

看起來像是一個SlickGrid錯誤消息。就像它說的那樣,jQueryUI.sortable是SlickGrid的依賴項。
我通常包括jQueryUI的充分建立的頁面,用jQuery本身一起,如:

<script src="../lib/jquery-1.11.2.min.js"></script> 
<script src="../lib/jquery-ui-1.11.3.min.js"></script> 

(或者你可以使用jQuery的CDN)。
您還可以包含jQueryUI的簡化版本,該版本只包含可排序的(jQueryUI和其他框架之間存在已知衝突,例如Bootstrap)。

如果slickgrid是頁面的一部分,您應該已經設置了這個東西。 我對Bokeh毫無頭緒。