bokeh.layouts#

用于排列 Bokeh 布局对象的函数。

column#

column(children: list[UIElement], *, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None, **kwargs: Any) Column[源代码]#
column(*children: UIElement, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None, **kwargs: Any) Column

创建 Bokeh 布局对象的列。强制所有对象具有相同的 sizing_mode,这对于复杂的布局正常工作是必需的。

参数::
  • children (LayoutDOM 的列表) – 列的实例列表。可以是以下任何内容 - PlotWidgetRowColumnSpacer

  • sizing_mode ("fixed", "stretch_both", "scale_width", "scale_height", "scale_both") – 布局中的项目将如何调整大小以填充可用空间。默认值为 "fixed"。有关不同模式的更多信息,请参阅 sizing_modeLayoutDOM 上的描述。

返回值::

具有相同 sizing_mode 的 LayoutDOM 对象的列。

返回类型::

Column

示例

>>> column(plot1, plot2)
>>> column(children=[widgets, plot], sizing_mode='stretch_both')

grid#

grid(children: list[UIElement | list[UIElement | list[Any]]], *, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None) GridBox[source]#
grid(children: Row | Column, *, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None) GridBox
grid(children: list[UIElement | None], *, sizing_mode: grid(children: list[UIElement | None], *, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None, ncols: int) GridBox
grid(children: list[UIElement | None], *, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None, nrows: int, ncols: int) GridBox
grid(children: str, *, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None) GridBox

便捷地创建可布局对象的网格。

网格是通过使用 GridBox 模型创建的。这提供了对网格布局的最强控制,但也可能很繁琐,在实际应用中可能会导致代码难以阅读。 grid() 函数通过减少控制级别来弥补这一点,但反过来提供了更方便的 API。

支持的模式

  1. 可布局对象的嵌套列表。假设顶层列表表示一列,并在随后的嵌套级别之间交替使用行和列。可以使用 None 用于填充目的。

    >>> grid([p1, [[p2, p3], p4]])
    GridBox(children=[
        (p1, 0, 0, 1, 2),
        (p2, 1, 0, 1, 1),
        (p3, 2, 0, 1, 1),
        (p4, 1, 1, 2, 1),
    ])
    
  2. 嵌套的 RowColumn 实例。类似于第一种模式,只是不使用嵌套列表,而是使用嵌套的 RowColumn 模型。这比前者更易读。但是,请注意,只有没有设置 sizing_mode 的模型才会使用。

    >>> grid(column(p1, row(column(p2, p3), p4)))
    GridBox(children=[
        (p1, 0, 0, 1, 2),
        (p2, 1, 0, 1, 1),
        (p3, 2, 0, 1, 1),
        (p4, 1, 1, 2, 1),
    ])
    
  3. 可布局对象的扁平列表。这需要设置 nrows 和/或 ncols。输入列表将相应地重新排列成二维数组。可以使用 None 用于填充目的。

    >>> grid([p1, p2, p3, p4], ncols=2)
    GridBox(children=[
        (p1, 0, 0, 1, 1),
        (p2, 0, 1, 1, 1),
        (p3, 1, 0, 1, 1),
        (p4, 1, 1, 1, 1),
    ])
    

gridplot#

gridplot(children: list[UIElement | None], *, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None, toolbar_location: Literal['above', 'below', 'left', 'right'] | None = 'above', ncols: int, width: int | None = None, height: int | None = None, toolbar_options: dict[ToolbarOptions, Any] | None = None, merge_tools: bool = True) GridPlot[source]#
gridplot(children: list[list[UIElement | None]], *, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None, toolbar_location: Literal['above', 'below', 'left', 'right'] | None = 'above', ncols: None = None, width: int | None = None, height: int | None = None, toolbar_options: dict[ToolbarOptions, Any] | None = None, merge_tools: bool = True) GridPlot

创建在单独画布上渲染的绘图网格。

gridplot 函数为网格中的所有绘图构建一个工具栏。 gridplot 被设计为用于布局一组绘图。 对于一般的网格布局,请使用 layout() 函数。

参数::
  • children (list 或 list of lists of Plot) – 要在网格中显示的绘图数组,以 Plot 对象的 list of lists 形式给出。 要在网格中留空位置,请在 children 列表中传递 None。 或者 list of Plot 如果使用 ncols 调用。

  • sizing_mode ("fixed", "stretch_both", "scale_width", "scale_height", "scale_both") – 布局中的项目将如何调整大小以填充可用空间。默认值为 "fixed"。有关不同模式的更多信息,请参阅 sizing_modeLayoutDOM 上的描述。

  • toolbar_location (above, below, left, right) – 工具栏相对于网格的位置。 默认值为 above。 如果设置为 None,则不会将工具栏附加到网格。

  • ncols (int, 可选) – 指定网格中需要的列数。 使用 ncols 时,您只能传递一个非嵌套的绘图列表(而不是绘图的 list of lists)。

  • width (int, 可选) – 您希望所有绘图的宽度

  • height (int, 可选) – 您希望所有绘图的高度。

  • toolbar_options (dict, 可选) – 将用于构建网格工具栏(Toolbar 实例)的选项字典。 如果没有提供,则将使用 Toolbar 的默认值。

  • merge_tools (True, False) – 将所有子绘图的工具合并到一个工具栏中。

返回类型::

GridPlot

示例

>>> gridplot([[plot_1, plot_2], [plot_3, plot_4]])
>>> gridplot([plot_1, plot_2, plot_3, plot_4], ncols=2, width=200, height=100)
>>> gridplot(
        children=[[plot_1, plot_2], [None, plot_3]],
        toolbar_location='right'
        sizing_mode='fixed',
        toolbar_options=dict(logo='gray')
    )

layout#

layout(*args: UIElement, children: list[UIElement] | None = None, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None, **kwargs: Any) Column[source]#

创建 Bokeh 布局对象的基于网格的排列。

参数::
  • children (列表,包含多个 LayoutDOM 的列表) – 用于网格布局的实例列表。可以是以下任何一种: PlotWidgetRowColumnSpacer.

  • sizing_mode ("fixed", "stretch_both", "scale_width", "scale_height", "scale_both") – 布局中的项目将如何调整大小以填充可用空间。默认值为 "fixed"。有关不同模式的更多信息,请参阅 sizing_modeLayoutDOM 上的描述。

返回值::

由子元素组成的 Row 布局列,所有子元素的 sizing_mode 相同。

返回类型::

Column

示例

>>> layout([[plot_1, plot_2], [plot_3, plot_4]])
>>> layout(
        children=[
            [widget_1, plot_1],
            [slider],
            [widget_2, plot_2, plot_3]
        ],
        sizing_mode='fixed',
    )

row#

row(children: list[UIElement], *, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None, **kwargs: Any) Row[source]#
row(*children: UIElement, sizing_mode: Literal['stretch_width', 'stretch_height', 'stretch_both', 'scale_width', 'scale_height', 'scale_both', 'fixed', 'inherit'] | None = None, **kwargs: Any) Row

创建一排 Bokeh 布局对象。强制所有对象具有相同的 sizing_mode,这对于复杂布局的正常工作是必需的。

参数::
  • children (列表,包含多个 LayoutDOM) – 用于该行的实例列表。可以是以下任何一种: PlotWidgetRowColumnSpacer.

  • sizing_mode ("fixed", "stretch_both", "scale_width", "scale_height", "scale_both") – 布局中的项目将如何调整大小以填充可用空间。默认值为 "fixed"。有关不同模式的更多信息,请参阅 sizing_modeLayoutDOM 上的描述。

返回值::

一排 LayoutDOM 对象,所有对象都具有相同的 sizing_mode。

返回类型::

Row

示例

>>> row(plot1, plot2)
>>> row(children=[widgets, plot], sizing_mode='stretch_both')

Spacer#

class Spacer(*args: Any, id: ID | None = None, **kwargs: Any)[source]

用于填充行或列中空位的空间容器。