为了账号安全,请及时绑定邮箱和手机立即绑定

多个数据表作为每个散景选项卡中的子项的布局

多个数据表作为每个散景选项卡中的子项的布局

www说 2021-11-09 10:49:10
我想在每个散景选项卡(散景面板)内有几张桌子但是,表格水平连接在一起,我没有找到一种很好地展示它们的方法。我使用了一个愚蠢的 Div 作为快速解决方案,但它创建了太多空间,甚至是宽度为 1 的 Div。我将如何实现这一目标?这是我的代码:from bokeh.models.widgets import Panel, Tabs, TableColumn,DataTable, Divimport numpy as npfrom bokeh.io import output_notebook, showfrom bokeh.models import ColumnDataSourcefrom bokeh.layouts import row, column, layoutoutput_notebook()columns = [        TableColumn(field="A", title="A"),        TableColumn(field="B", title="B"),        TableColumn(field="C", title="C"),        TableColumn(field="D", title="D"),]data1 = {"A":np.random.randint(23, 89, 10),         "B": np.random.randint(23, 89, 10),         "C": np.random.randint(23, 89, 10),         "D": np.random.randint(23, 89, 10)}source1 = ColumnDataSource(data1)p1 = DataTable(source=source1, columns=columns, width=300, height=200,editable=True)data2 = {"A":np.random.randint(23, 89, 10),         "B": np.random.randint(23, 89, 10),         "C": np.random.randint(23, 89, 10),         "D": np.random.randint(23, 89, 10)}source2 = ColumnDataSource(data2)      p2 = DataTable(source=source2, columns=columns, width=300, height=200,editable=True)data3 = {"A":np.random.randint(23, 89, 10),         "B": np.random.randint(23, 89, 10),         "C": np.random.randint(23, 89, 10),         "D": np.random.randint(23, 89, 10)}source3 = ColumnDataSource(data3)       p3 = DataTable(source=source3, columns=columns, width=300, height=200,editable=True)dumbdiv = Div(text=""" """,width=1, height=20)l1 = layout([[p1, p2], [p3]], sizing_mode='fixed')# l1 = layout([[p1, dumbdiv, p2]], sizing_mode='fixed')tab1 = Panel(child=l1, title="Three Tables")tabs = Tabs(tabs=[tab1],sizing_mode='scale_width')show(tabs)这是结果:(第一个表格的滚动条没有显示;我希望第一行的表格之间有一些空间)
查看完整描述

2 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

widthheight是可选的ARGS Div。如果您只是创建一个dumbdiv没有这些参数的对象,您将在 p1 和 p2 之间插入一个 div,而没有任何特定的widthheight.

dumbdiv = Div()
l1 = layout([[p1, dumbdiv, p2], [p3]], sizing_mode='fixed')

所以,现在你应该看到 p1 和 p2 之间有足够的空间:

//img1.sycdn.imooc.com//6189e1df0001077608290463.jpg

查看完整回答
反对 回复 2021-11-09
?
Helenr

TA贡献1780条经验 获得超4个赞

Div() 的问题是两个数据表之间可能存在相当大的差距 - 远远超过需要。我认为使用 Spacer 看起来更好


row2 = row(p1, Spacer(width=600, height=10), p2)

l1 = layout([row2], sizing_mode='fixed')


查看完整回答
反对 回复 2021-11-09
  • 2 回答
  • 0 关注
  • 190 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号