bokeh.models.widgets.tables

Various kinds of data table (data grid) widgets.

class BooleanFormatter(**kwargs)

Bases: bokeh.models.widgets.tables.CellFormatter

Boolean (check mark) cell formatter.

icon

property type: Enum(‘check’, ‘check-circle’, ‘check-circle-o’, ‘check-square’, ‘check-square-o’)

The icon visualizing the check mark.

[
  {
    "attributes": {
      "doc": null,
      "icon": "check",
      "id": "4a237e58-ecb6-4491-860d-dfd8fab67588",
      "name": null,
      "tags": []
    },
    "id": "4a237e58-ecb6-4491-860d-dfd8fab67588",
    "type": "BooleanFormatter"
  }
]
class CellEditor(**kwargs)

Bases: bokeh.plot_object.PlotObject

Abstract base class for data table’s cell editors.

[
  {
    "attributes": {
      "doc": null,
      "id": "6acb0c48-bc6c-4744-b9f7-fab41a55ba09",
      "name": null,
      "tags": []
    },
    "id": "6acb0c48-bc6c-4744-b9f7-fab41a55ba09",
    "type": "CellEditor"
  }
]
class CellFormatter(**kwargs)

Bases: bokeh.plot_object.PlotObject

Abstract base class for data table’s cell formatters.

[
  {
    "attributes": {
      "doc": null,
      "id": "853693f8-c3bc-46c7-bf89-a263337283d2",
      "name": null,
      "tags": []
    },
    "id": "853693f8-c3bc-46c7-bf89-a263337283d2",
    "type": "CellFormatter"
  }
]
class CheckboxEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Boolean value cell editor.

[
  {
    "attributes": {
      "doc": null,
      "id": "461e738e-0f07-43bc-babc-074e8b2247b9",
      "name": null,
      "tags": []
    },
    "id": "461e738e-0f07-43bc-babc-074e8b2247b9",
    "type": "CheckboxEditor"
  }
]
class DataTable(**kwargs)

Bases: bokeh.models.widgets.tables.TableWidget

Two dimensional grid for visualisation and editing large amounts of data.

columns

property type: List(Instance(TableColumn))

The list of child column widgets.

editable

property type: Bool

Allows to edit table’s contents. Needs cell editors to be configured on columns that are required to be editable.

fit_columns

property type: Bool

Whether columns should be fit to the available width. This results in no horizontal scrollbar showing up, but data can get unreadable if there is no enough space available. If set to True, columns’ width is understood as maximum width.

height

property type: Either(Int, Auto)

Height in pixels of the table widget. Use Auto to make the widget adjust its height automatically. Note that Auto is inefficient for large amounts of data, so should be used with care.

row_headers

property type: Bool

Enable or disable row headers, i.e. the index column.

selectable

property type: Either(Bool, Enum(‘checkbox’))

Whether a table’s rows can be selected or not. Using checkbox is equivalent to True, but makes selection visible through a checkbox for each row, instead of highlighting rows. Multiple selection is allowed and can be achieved by either clicking multiple checkboxes (if enabled) or using Shift + click on rows.

sortable

property type: Bool

Allows to sort table’s contents. By default natural order is preserved. To sort a column, click on it’s header. Clicking one more time changes sort direction. Use Ctrl + click to return to natural order. Use Shift + click to sort multiple columns simultaneously.

width

property type: Int

Optional width in pixels of the table widget. By default, uses all horizontal space available.

[
  {
    "attributes": {
      "columns": [],
      "disabled": false,
      "doc": null,
      "editable": false,
      "fit_columns": true,
      "height": 400,
      "id": "83bb6d70-f4a7-4427-865b-1230c30fe79c",
      "name": null,
      "row_headers": true,
      "selectable": true,
      "sortable": true,
      "source": null,
      "tags": [],
      "width": null
    },
    "id": "83bb6d70-f4a7-4427-865b-1230c30fe79c",
    "type": "DataTable"
  }
]
class DateEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Calendar-based date cell editor.

[
  {
    "attributes": {
      "doc": null,
      "id": "e8d520ef-ac08-41c5-ba93-6ff169aed146",
      "name": null,
      "tags": []
    },
    "id": "e8d520ef-ac08-41c5-ba93-6ff169aed146",
    "type": "DateEditor"
  }
]
class DateFormatter(**kwargs)

Bases: bokeh.models.widgets.tables.CellFormatter

Date cell formatter.

format

property type: Either(Enum(‘ATOM’, ‘W3C’, ‘RFC-3339’, ‘ISO-8601’, ‘COOKIE’, ‘RFC-822’, ‘RFC-850’, ‘RFC-1036’, ‘RFC-1123’, ‘RFC-2822’, ‘RSS’, ‘TICKS’, ‘TIMESTAMP’), String)

The date format can be combinations of the following:

d
day of month (no leading zero)
dd
day of month (two digit)
o
day of year (no leading zeros)
oo
day of year (three digit)
D
day name short
DD
day name long
m
month of year (no leading zero)
mm
month of year (two digit)
M
month name short
MM
month name long
y
year (two digit)
yy
year (four digit)
@
Unix timestamp (ms since 01/01/1970)
!
Windows ticks (100ns since 01/01/0001)
”...”
literal text
‘’
single quote
[
  {
    "attributes": {
      "doc": null,
      "format": "yy M d",
      "id": "cf0f75d2-7aaa-45bf-8883-b2eae25f68c6",
      "name": null,
      "tags": []
    },
    "id": "cf0f75d2-7aaa-45bf-8883-b2eae25f68c6",
    "type": "DateFormatter"
  }
]
class IntEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Spinner-based integer cell editor.

step

property type: Int

The major step value.

[
  {
    "attributes": {
      "doc": null,
      "id": "fac3c5e3-4a07-4643-ab1d-2f9097a75762",
      "name": null,
      "step": 1,
      "tags": []
    },
    "id": "fac3c5e3-4a07-4643-ab1d-2f9097a75762",
    "type": "IntEditor"
  }
]
class NumberEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Spinner-based number cell editor.

step

property type: Float

The major step value.

[
  {
    "attributes": {
      "doc": null,
      "id": "77cb365a-5086-41ab-b9ff-4bc539c59752",
      "name": null,
      "step": 0.01,
      "tags": []
    },
    "id": "77cb365a-5086-41ab-b9ff-4bc539c59752",
    "type": "NumberEditor"
  }
]
class NumberFormatter(**kwargs)

Bases: bokeh.models.widgets.tables.StringFormatter

Number cell formatter.

format

property type: String

The number format, as defined in the following tables:

NUMBERS:

Number Format String
10000 ‘0,0.0000’ 10,000.0000
10000.23 ‘0,0’ 10,000
10000.23 ‘+0,0’ +10,000
-10000 ‘0,0.0’ -10,000.0
10000.1234 ‘0.000’ 10000.123
10000.1234 ‘0[.]00000’ 10000.12340
-10000 ‘(0,0.0000)’ (10,000.0000)
-0.23 ‘.00’ -.23
-0.23 ‘(.00)’ (.23)
0.23 ‘0.00000’ 0.23000
0.23 ‘0.0[0000]’ 0.23
1230974 ‘0.0a’ 1.2m
1460 ‘0 a’ 1 k
-104000 ‘0a’ -104k
1 ‘0o’ 1st
52 ‘0o’ 52nd
23 ‘0o’ 23rd
100 ‘0o’ 100th

CURRENCY:

Number Format String
1000.234 ‘$0,0.00’ $1,000.23
1000.2 ‘0,0[.]00 $’ 1,000.20 $
1001 ‘$ 0,0[.]00’ $ 1,001
-1000.234 ‘($0,0)’ ($1,000)
-1000.234 ‘$0.00’ -$1000.23
1230974 ‘($ 0.00 a)’ $ 1.23 m

BYTES:

Number Format String
100 ‘0b’ 100B
2048 ‘0 b’ 2 KB
7884486213 ‘0.0b’ 7.3GB
3467479682787 ‘0.000 b’ 3.154 TB

PERCENTAGES:

Number Format String
1 ‘0%’ 100%
0.974878234 ‘0.000%’ 97.488%
-0.43 ‘0 %’ -43 %
0.43 ‘(0.000 %)’ 43.000 %

TIME:

Number Format String
25 ‘00:00:00’ 0:00:25
238 ‘00:00:00’ 0:03:58
63846 ‘00:00:00’ 17:44:06
language

property type: Enum(‘be-nl’, ‘chs’, ‘cs’, ‘da-dk’, ‘de-ch’, ‘de’, ‘en’, ‘en-gb’, ‘es-ES’, ‘es’, ‘et’, ‘fi’, ‘fr-CA’, ‘fr-ch’, ‘fr’, ‘hu’, ‘it’, ‘ja’, ‘nl-nl’, ‘pl’, ‘pt-br’, ‘pt-pt’, ‘ru’, ‘ru-UA’, ‘sk’, ‘th’, ‘tr’, ‘uk-UA’)

The language to use for formatting language-specific features (e.g. thousands separator).

rounding

property type: Enum(‘round’, ‘nearest’, ‘floor’, ‘rounddown’, ‘ceil’, ‘roundup’)

Rounding functions (round, floor, ceil) and their synonyms (nearest, rounddown, roundup).

[
  {
    "attributes": {
      "doc": null,
      "font_style": "normal",
      "format": "0,0",
      "id": "d1431e0d-fb46-42c7-a139-20a86adc663c",
      "language": "en",
      "name": null,
      "rounding": "round",
      "tags": [],
      "text_align": "left",
      "text_color": null
    },
    "id": "d1431e0d-fb46-42c7-a139-20a86adc663c",
    "type": "NumberFormatter"
  }
]
class PercentEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

IntEditor optimized for editing percentages.

[
  {
    "attributes": {
      "doc": null,
      "id": "1364a8af-1fc5-4f77-aeac-52095e15f576",
      "name": null,
      "tags": []
    },
    "id": "1364a8af-1fc5-4f77-aeac-52095e15f576",
    "type": "PercentEditor"
  }
]
class SelectEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Select cell editor.

options

property type: List(String)

The list of options to select from.

[
  {
    "attributes": {
      "doc": null,
      "id": "59571e3a-9ca5-4d6e-8ef0-bfe7f8742fcd",
      "name": null,
      "options": [],
      "tags": []
    },
    "id": "59571e3a-9ca5-4d6e-8ef0-bfe7f8742fcd",
    "type": "SelectEditor"
  }
]
class StringEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Basic string cell editor with auto-completion.

completions

property type: List(String)

An optional list of completion strings.

[
  {
    "attributes": {
      "completions": [],
      "doc": null,
      "id": "95de7e61-3635-485c-85d4-135ce928d208",
      "name": null,
      "tags": []
    },
    "id": "95de7e61-3635-485c-85d4-135ce928d208",
    "type": "StringEditor"
  }
]
class StringFormatter(**kwargs)

Bases: bokeh.models.widgets.tables.CellFormatter

Basic string cell formatter.

font_style

property type: Enum(‘normal’, ‘italic’, ‘bold’)

An optional text font style, e.g. bold, italic.

text_align

property type: Enum(‘left’, ‘right’, ‘center’)

An optional text align, i.e. left, center or right.

text_color

property type: Color

An optional text color. See bokeh.properties.Color for details.

[
  {
    "attributes": {
      "doc": null,
      "font_style": "normal",
      "id": "0c814bae-58b2-413f-a238-ae218450047a",
      "name": null,
      "tags": [],
      "text_align": "left",
      "text_color": null
    },
    "id": "0c814bae-58b2-413f-a238-ae218450047a",
    "type": "StringFormatter"
  }
]
class TableColumn(**kwargs)

Bases: bokeh.plot_object.PlotObject

Table column widget.

default_sort

property type: Enum(‘ascending’, ‘descending’)

The default sorting order. By default ascending order is used.

editor

property type: Instance(CellEditor)

The cell editor for this column. By default, a simple string editor is used.

field

property type: String

The name of the field mapping to a column in the data source.

formatter

property type: Instance(CellFormatter)

The cell formatter for this column. By default, a simple string formatter is used.

sortable

property type: Bool

Whether this column is sortable or not. Note that data table has to have sorting enabled to allow sorting in general.

title

property type: String

The title of this column. If not set, column’s data field is used instead.

width

property type: Int

The width or maximum width (depending on data table’s configuration) in pixels of this column.

[
  {
    "attributes": {
      "doc": null,
      "font_style": "normal",
      "id": "16b96d35-3f42-47fb-a497-1a25e9976deb",
      "name": null,
      "tags": [],
      "text_align": "left",
      "text_color": null
    },
    "id": "16b96d35-3f42-47fb-a497-1a25e9976deb",
    "type": "StringFormatter"
  },
  {
    "attributes": {
      "default_sort": "ascending",
      "doc": null,
      "editor": {
        "id": "48c65d7f-be8a-4f52-a004-c9c48fdea84d",
        "type": "StringEditor"
      },
      "field": null,
      "formatter": {
        "id": "16b96d35-3f42-47fb-a497-1a25e9976deb",
        "type": "StringFormatter"
      },
      "id": "168fe9a7-88bf-4788-830b-3740a2b67ae4",
      "name": null,
      "sortable": true,
      "tags": [],
      "title": null,
      "width": 300
    },
    "id": "168fe9a7-88bf-4788-830b-3740a2b67ae4",
    "type": "TableColumn"
  },
  {
    "attributes": {
      "completions": [],
      "doc": null,
      "id": "48c65d7f-be8a-4f52-a004-c9c48fdea84d",
      "name": null,
      "tags": []
    },
    "id": "48c65d7f-be8a-4f52-a004-c9c48fdea84d",
    "type": "StringEditor"
  }
]
class TableWidget(**kwargs)

Bases: bokeh.models.widget.Widget

Abstract base class for data table (data grid) widgets.

source

property type: Instance(DataSource)

The source of data for the widget.

[
  {
    "attributes": {
      "disabled": false,
      "doc": null,
      "id": "1b7afa08-ef88-48dd-b363-9379950379b0",
      "name": null,
      "source": null,
      "tags": []
    },
    "id": "1b7afa08-ef88-48dd-b363-9379950379b0",
    "type": "TableWidget"
  }
]
class TextEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Multi-line string cell editor.

[
  {
    "attributes": {
      "doc": null,
      "id": "08b0e4fe-13c0-493b-ac57-7aaec89459fc",
      "name": null,
      "tags": []
    },
    "id": "08b0e4fe-13c0-493b-ac57-7aaec89459fc",
    "type": "TextEditor"
  }
]
class TimeEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Spinner-based time cell editor.

[
  {
    "attributes": {
      "doc": null,
      "id": "6059f902-eb4a-4a23-bb20-ebaf66b5727b",
      "name": null,
      "tags": []
    },
    "id": "6059f902-eb4a-4a23-bb20-ebaf66b5727b",
    "type": "TimeEditor"
  }
]