bokeh.models.expressions¶
Represent array expressions to be computed on the client (browser) side by BokehJS.
Expression models are useful as DataSpec values when it is desired that
the array values be computed in the browser:
p.circle(x={'expr': some_expression}, ...)
or using the expr convenience function:
from bokeh.core.properties import expr
p.circle(x=expr(some_expression), ...)
In this case, the values of the x coordinates will be computed in the
browser by the JavaScript implementation of some_expression using a
ColumnDataSource as input.
-
class
Expression(**kwargs)[source]¶ Bases:
bokeh.model.ModelBase class for
Expressionmodels that represent a computation to be carried out on the client-side.JavaScript implementations should implement the following methods:
Note that the result of this call will be automatically saved and re-used for each
sourcethat is passed in. If asourceis changed, then the saved value for that source is discarded, and the next call will re-compute (and save) a new value. If you wish to prevent this caching, you may implement_v_compute: (source)instead.Note
This is an abstract base class used to help organize the hierarchy of Bokeh model types. It is not useful to instantiate on its own.
-
class
Stack(**kwargs)[source]¶ Bases:
bokeh.models.expressions.ExpressionAn expression for generating arrays by summing different columns from a
ColumnDataSource.This expression is useful for implementing stacked bar charts at a low level.