Bokeh布局中的DataTable在中强制使用空格

2024-04-23 17:05:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Bokehgridplot来布局一个图形、小部件和一个数据表。 在升级到bokeh1.3.4之后,我的布局发生了变化,中间插入了空格 图形和复选框组。请参见下面的屏幕截图:

enter image description here

似乎DataTablewidth=1000在强迫空白。如果我删除DataTable,布局会正确显示,复选框组直接位于径向图的旁边。你知道吗

以下是我的布局相关代码:

#-------------------------------------------------------------------------------
# LAYOUT
#-------------------------------------------------------------------------------
hor_layout_date_slider = (
    row(
      column(blank_wb),
      column(date_slider_wb),
    )
)

hor_layout_time_cb = (
    row(
      column(div_time),
      column(rg_time),
    )
)

vert_layout_1 = (
    column(
      row(div_zone),
      row(cb_zone),
      row(div_trigger),
      row(cb_trigger),
    )
)

vert_layout_2 = (
    column(
      row(div_location),
      row(cb_location),
      row(div_type),
      row(cb_type),
    )
)

grid = gridplot(
  children = [
    [hor_layout_date_slider],
    [hor_layout_time_cb],
    [scatter_fig, vert_layout_1, vert_layout_2],
    [data_table]
    ],
    toolbar_options=dict(logo=None),
    sizing_mode='fixed',
)

curdoc().add_root(grid)

每个元素都有自己的高度和宽度,每个元素都是sizing_mode='fixed'。径向图有width=600, height=600,复选框组是每个width=200, height=105,标题是每个Div元素。你知道吗

如何修改布局以使复选框组直接位于图的旁边(以及表的上方)?


Tags: div图形元素datetimecolumn布局width
1条回答
网友
1楼 · 发布于 2024-04-23 17:05:39

找到了解决我自己问题的方法。你知道吗

如果我使用layout而不是gridplot,一切都正常。你知道吗

注释代码显示原始实现,新代码使用layout显示修订的实现:

from bokeh.layouts import gridplot, layout

#grid = gridplot(
  #children = [
    #[hor_layout_date_slider],
    #[hor_layout_time_cb],
    #[scatter_fig, vert_layout_1, vert_layout_2],
    #[data_table]
    #],
    #toolbar_options=dict(logo=None),
    #sizing_mode='fixed',
#)

grid = layout(
  children=[
    [hor_layout_date_slider],
    [hor_layout_time_cb],
    [scatter_fig, vert_layout_1, vert_layout_2],
    [data_table]
    ],
    sizing_mode='fixed',
)

注意,我还必须删除toolbar_options,因为在使用layout时,这不是一个有效的属性。你知道吗

相关问题 更多 >