Just for some context, at this stage Bokeh mostly confines itself to computations on data only for things that are directly relevant for rendering, e.g scale transforms, color mapping, grouping, etc.with only a handful of notable exceptions for instances where preparing the data correctly itself is a challenge. [1] We have our hands full enough with the plotting and interactions, so we leave opinionated “non-vis” features to others. [2]
If you want analytical functions on the “Python side” we leave that mostly to higher-level tools built on Bokeh (e.g. Holoviews) or to adjacent tools users can adapt to their specific needs (e.g NumPy, Pandas, etc). And if you want analytical functions on the “JavaScript side” we try to provide ample CustomJS
hooks for users to serve their own needs.
These exceptions mostly include hex-binning and contour plotting. ↩︎
There are lots of considerations for smoothing, for instance. There’s nothing we could implement that wouldn’t fail to satisfy many people, and lots of other tools exist that are better-suited for users to get exactly what they need. ↩︎