bokeh.transform

Helper functions for applying client-side computations such as transformations to data fields or ColumnDataSource expressions.

cumsum(field, include_zero=False)[source]

Create a Create a DataSpec dict to generate a CumSum expression for a ColumnDataSource.

Examples

p.wedge(start_angle=cumsum('angle', include_zero=True),
        end_angle=cumsum('angle'),
        ...)

will generate a CumSum expressions that sum the "angle" column of a data source. For the start_angle value, the cumulative sums will start with a zero value. For start_angle, no initial zero will be added (i.e. the sums will start with the first angle value, and include the last).

dodge(field_name, value, range=None)[source]

Create a DataSpec dict to apply a client-side Jitter transformation to a ColumnDataSource column.

Parameters:
  • field_name (str) – a field name to configure DataSpec with
  • value (float) – the fixed offset to add to column data
  • range (Range, optional) – a range to use for computing synthetic coordinates when necessary, e.g. a FactorRange when the column data is categorical (default: None)
Returns:

dict

factor_cmap(field_name, palette, factors, start=0, end=None, nan_color='gray')[source]

Create a DataSpec dict to apply a client-side CategoricalColorMapper transformation to a ColumnDataSource column.

Parameters:
  • field_name (str) – a field name to configure DataSpec with
  • palette (seq[color]) – a list of colors to use for colormapping
  • factors (seq) – a sequences of categorical factors corresponding to the palette
  • start (int, optional) – a start slice index to apply when the column data has factors with multiple levels. (default: 0)
  • end (int, optional) – an end slice index to apply when the column data has factors with multiple levels. (default: None)
  • nan_color (color, optional) – a default color to use when mapping data from a column does not succeed (default: “gray”)
Returns:

dict

factor_mark(field_name, markers, factors, start=0, end=None)[source]

Create a DataSpec dict to apply a client-side CategoricalMarkerMapper transformation to a ColumnDataSource column.

Note

This transform is primarily only useful with scatter, which can be paremeterized by glyph type.

Parameters:
  • field_name (str) – a field name to configure DataSpec with
  • markers (seq[string]) – a list of markers to use map to
  • factors (seq) – a sequences of categorical factors corresponding to the palette
  • start (int, optional) – a start slice index to apply when the column data has factors with multiple levels. (default: 0)
  • end (int, optional) – an end slice index to apply when the column data has factors with multiple levels. (default: None)
Returns:

dict

jitter(field_name, width, mean=0, distribution='uniform', range=None)[source]

Create a DataSpec dict to apply a client-side Jitter transformation to a ColumnDataSource column.

Parameters:
  • field_name (str) – a field name to configure DataSpec with
  • width (float) – the width of the random distribition to apply
  • mean (float, optional) – an offset to apply (default: 0)
  • distribution (str, optional) – "uniform" or "normal" (default: "uniform")
  • range (Range, optional) – a range to use for computing synthetic coordinates when necessary, e.g. a FactorRange when the column data is categorical (default: None)
Returns:

dict

linear_cmap(field_name, palette, low, high, low_color=None, high_color=None, nan_color='gray')[source]

Create a DataSpec dict to apply a client-side LinearColorMapper transformation to a ColumnDataSource column.

Parameters:
  • field_name (str) – a field name to configure DataSpec with
  • palette (seq[color]) – a list of colors to use for colormapping
  • low (float) – a minimum value of the range to map into the palette. Values below this are clamped to low.
  • high (float) – a maximum value of the range to map into the palette. Values above this are clamped to high.
  • low_color (color, optional) – color to be used if data is lower than low value. If None, values lower than low are mapped to the first color in the palette. (default: None)
  • high_color (color, optional) – color to be used if data is higher than high value. If None, values higher than high are mapped to the last color in the palette. (default: None)
  • nan_color (color, optional) – a default color to use when mapping data from a column does not succeed (default: “gray”)
log_cmap(field_name, palette, low, high, low_color=None, high_color=None, nan_color='gray')[source]

Create a DataSpec dict to apply a client-side LogColorMapper transformation to a ColumnDataSource column.

Parameters:
  • field_name (str) – a field name to configure DataSpec with
  • palette (seq[color]) – a list of colors to use for colormapping
  • low (float) – a minimum value of the range to map into the palette. Values below this are clamped to low.
  • high (float) – a maximum value of the range to map into the palette. Values above this are clamped to high.
  • low_color (color, optional) – color to be used if data is lower than low value. If None, values lower than low are mapped to the first color in the palette. (default: None)
  • high_color (color, optional) – color to be used if data is higher than high value. If None, values higher than high are mapped to the last color in the palette. (default: None)
  • nan_color (color, optional) – a default color to use when mapping data from a column does not succeed (default: “gray”)
stack(*fields)[source]

Create a Create a DataSpec dict to generate a Stack expression for a ColumnDataSource.

Examples

p.vbar(bottom=stack("sales", "marketing"), ...

will generate a Stack that sums the "sales" and "marketing" columns of a data source, and use those values as the top coordinate for a VBar.

transform(field_name, transform)[source]

Create a DataSpec dict to apply an arbitrary client-side Transform to a ColumnDataSource column.

Parameters:
  • field_name (str) – A field name to configure DataSpec with
  • transform (Transform) – A transforms to apply to that field
Returns:

dict