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: icon:Enum(‘check’, ‘check-circle’, ‘check-circle-o’, ‘check-square’, ‘check-square-o’)

The icon visualizing the check mark.

JSON Prototype
{
  "icon": "check",
  "id": "df1e9773-da2b-4607-a1d6-4507c3f549cd",
  "name": null,
  "tags": []
}
class CellEditor(**kwargs)

Bases: bokeh.model.Model

Abstract base class for data table’s cell editors.

JSON Prototype
{
  "id": "6c4465cf-890b-41b7-8f17-37d0518a20b4",
  "name": null,
  "tags": []
}
class CellFormatter(**kwargs)

Bases: bokeh.model.Model

Abstract base class for data table’s cell formatters.

JSON Prototype
{
  "id": "ea1ca88c-0b20-42c4-a964-d0533d4638e6",
  "name": null,
  "tags": []
}
class CheckboxEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Boolean value cell editor.

JSON Prototype
{
  "id": "77529f21-81d1-4332-800d-45bb884e6379",
  "name": null,
  "tags": []
}
class DataTable(**kwargs)

Bases: bokeh.models.widgets.tables.TableWidget

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

columns

property type: columns:List(Instance(TableColumn))

The list of child column widgets.

editable

property type: editable: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: fit_columns: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: height: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: row_headers:Bool

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

scroll_to_selection

property type: scroll_to_selection:Bool

Whenever a selection is made on the data source, scroll the selected rows into the table’s viewport if none of the selected rows are already in the viewport.

selectable

property type: selectable: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: sortable: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: width:Int

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

JSON Prototype
{
  "columns": [],
  "disabled": false,
  "editable": false,
  "fit_columns": true,
  "height": 400,
  "id": "13a4c9d9-dadf-4fc2-aa2c-0ccdafa3de5a",
  "name": null,
  "row_headers": true,
  "scroll_to_selection": true,
  "selectable": true,
  "sortable": true,
  "source": null,
  "tags": [],
  "width": null
}
class DateEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Calendar-based date cell editor.

JSON Prototype
{
  "id": "6c00f90e-73b3-41cb-a002-1a274127ce41",
  "name": null,
  "tags": []
}
class DateFormatter(**kwargs)

Bases: bokeh.models.widgets.tables.CellFormatter

Date cell formatter.

format

property type: format: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
JSON Prototype
{
  "format": "yy M d",
  "id": "e54288af-88da-41e9-bc6d-d51ed0580fae",
  "name": null,
  "tags": []
}
class HTMLTemplateFormatter(**kwargs)

Bases: bokeh.models.widgets.tables.CellFormatter

HTML formatter using a template. This uses Underscore’s template method and syntax. http://underscorejs.org/#template The formatter has access other items in the row via the dataContext object passed to the formatter. So, for example, if another column in the datasource was named url, the template could access it as:

<a href=”<%= url %>”><%= value %></a>

To use a different set of template delimiters, pass the appropriate values for evaluate, interpolate’, or `escape. See the Underscore template documentation for more information. http://underscorejs.org/#template

Example: Simple HTML template to format the column value as code.

HTMLTemplateFormatter(template=’<code><%= value %></code>’)

Example: Use values from other columns (manufacturer and model) to build a hyperlink.

HTMLTemplateFormatter(template=’<a href=”https:/www.google.com/search?q=<%= manufacturer %>+<%= model %>” target=”_blank”><%= value %></a>’)
template

property type: template:String

Template string to be used by Underscore’s template method.

JSON Prototype
{
  "id": "004bed26-09df-45ec-8010-bf91253e600a",
  "name": null,
  "tags": [],
  "template": "<%= value %>"
}
class IntEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Spinner-based integer cell editor.

step

property type: step:Int

The major step value.

JSON Prototype
{
  "id": "76ca19d1-3e3a-4ed6-b4dd-2130219f3f64",
  "name": null,
  "step": 1,
  "tags": []
}
class NumberEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Spinner-based number cell editor.

step

property type: step:Float

The major step value.

JSON Prototype
{
  "id": "b7c0774e-b739-4197-8660-6aaf33a310d6",
  "name": null,
  "step": 0.01,
  "tags": []
}
class NumberFormatter(**kwargs)

Bases: bokeh.models.widgets.tables.StringFormatter

Number cell formatter.

format

property type: format: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: language: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: rounding:Enum(‘round’, ‘nearest’, ‘floor’, ‘rounddown’, ‘ceil’, ‘roundup’)

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

JSON Prototype
{
  "font_style": "normal",
  "format": "0,0",
  "id": "2137fe2d-7913-49a9-9cb7-92675bf57067",
  "language": "en",
  "name": null,
  "rounding": "round",
  "tags": [],
  "text_align": "left",
  "text_color": null
}
class PercentEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

IntEditor optimized for editing percentages.

JSON Prototype
{
  "id": "a0fd5aa7-c110-4d2e-ab6f-737d1eed5d81",
  "name": null,
  "tags": []
}
class SelectEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Select cell editor.

options

property type: options:List(String)

The list of options to select from.

JSON Prototype
{
  "id": "4ef02e99-8517-47ec-818e-6d30fb7edf15",
  "name": null,
  "options": [],
  "tags": []
}
class StringEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Basic string cell editor with auto-completion.

completions

property type: completions:List(String)

An optional list of completion strings.

JSON Prototype
{
  "completions": [],
  "id": "b89666e7-d36c-4b1e-a6a8-ba77b15b528a",
  "name": null,
  "tags": []
}
class StringFormatter(**kwargs)

Bases: bokeh.models.widgets.tables.CellFormatter

Basic string cell formatter.

font_style

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

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

text_align

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

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

text_color

property type: text_color:Color

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

JSON Prototype
{
  "font_style": "normal",
  "id": "8497dea9-f77b-4f3f-8f81-cacaf91d638f",
  "name": null,
  "tags": [],
  "text_align": "left",
  "text_color": null
}
class TableColumn(**kwargs)

Bases: bokeh.model.Model

Table column widget.

default_sort

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

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

editor

property type: editor:Instance(CellEditor)

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

field

property type: field:String

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

formatter

property type: formatter:Instance(CellFormatter)

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

sortable

property type: sortable: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: title:String

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

width

property type: width:Int

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

JSON Prototype
{
  "default_sort": "ascending",
  "editor": {
    "id": "c5d34117-58ce-4fa6-9f21-392e3f34cba8",
    "type": "StringEditor"
  },
  "field": null,
  "formatter": {
    "id": "50d15a85-76b4-45af-8ff0-98589e99ea84",
    "type": "StringFormatter"
  },
  "id": "cb1d2b56-2f02-4e3c-b72f-070c0e9c8ec7",
  "name": null,
  "sortable": true,
  "tags": [],
  "title": null,
  "width": 300
}
class TableWidget(**kwargs)

Bases: bokeh.models.widgets.widget.Widget

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

source

property type: source:Instance(DataSource)

The source of data for the widget.

JSON Prototype
{
  "disabled": false,
  "id": "7dc256b1-963f-4fce-99b0-9dcd005e9a00",
  "name": null,
  "source": null,
  "tags": []
}
class TextEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Multi-line string cell editor.

JSON Prototype
{
  "id": "2b9fe34e-1790-4894-a6d7-0918bfb48d82",
  "name": null,
  "tags": []
}
class TimeEditor(**kwargs)

Bases: bokeh.models.widgets.tables.CellEditor

Spinner-based time cell editor.

JSON Prototype
{
  "id": "6f282a78-cbae-4ea4-aa8c-0a8cde4219a9",
  "name": null,
  "tags": []
}