无法在Jupyter笔记本中显示DataTable内联选项卡

时间:2017-09-03 12:58:24

标签: tabs datatables jupyter-notebook bokeh slickgrid

我正在尝试使用Bokeh在标签中显示多个数据框。当我将文件保存为html时,我的代码有效,但它无法在Jupyter笔记本中显示内联。 这是我的代码:

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)

这是错误消息:

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

有人能指出我的方向,我可以做些什么来解决这个问题? 提前致谢! 麦克

1 个答案:

答案 0 :(得分: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的简化版本,其中包含 sortable (jQueryUI和其他框架之间存在已知冲突,例如Bootstrap)。

如果slickgrid是页面的一部分,你应该已经设置了这个东西。 我对Bokeh一无所知。