Bokeh is a very cool charting library that is distinguished by a focus on interactivity in the browser. Each chart is an html file with an embedded bokeh javascript library - the server generates JSON from the object model and the client take this and renders it. There are ways to register callbacks on the server, so the client can click on a data point or some user interface object and the server can update the canvas and have the client redraw it.

It also has a matplotlib interface, which makes porting legacy code easier.

At the moment there are bindings in python, R, Julia, and scala. I was thinking about starting to work on D bindings, because I do not see an alternative to bokeh without reinventing the wheel but for the time being this means using D to talk to bokeh via pyd which is awkward.

Gallery:
http://bokeh.pydata.org/en/latest/docs/gallery.html

Ref docs here:
http://bokeh.pydata.org/en/latest/docs/reference.html

Julia bindings here:
https://github.com/bokeh/Bokeh.jl/tree/master/src

Scala here:
https://github.com/bokeh/bokeh-scala

Python here:
https://github.com/bokeh/bokeh/tree/master/bokeh

I haven't got very far with it, and won't be able to immediately. But if anyone happens to have thoughts on how best to approach, I would appreciate it. I would obviously open source the project. As far as I can see one doesn't need to depend on the dynamic reflection aspects of these languages, so it looks like it would just be a question of translating the objects to structs and classes, and then grappling with the JSON translation.


Laeeth.

Reply via email to