buche-bokeh
v0.0.2
Published
Bokeh channel and element for Buche.
Readme
buche-bokeh
Buche plugin for the bokeh plotting library.
Provides the bokeh channel type.
Use
First you must output the following buche command:
{"command":"require","path":"/","pluginName":"bokeh"}Buche will prompt you to install the plugin if it is not available, although you can install it manually with buche --install bokeh.
bokeh channel
The bokeh channel lets you define a figure and add plots and points to it in real time.
After you create the main BokehChannel for plotting, each plot is a sub-channel that you must open. For example:
{"command":"open","path":"/plot","type":"bokeh"}
{"command":"open","path":"/plot/myplot1","plotType":"line"}
{"command":"open","path":"/plot/myplot2","plotType":"x","legend":"My Plot"}
{"command":"open","path":"/plot/myplot3","plotType":"asterisk","size":10,"x":{"field":"time"},"y":{"field":"candies"}}
...Information about the various plot types, and what parameters they can take: https://bokeh.pydata.org/en/latest/docs/reference/plotting.html
Note that for most parameters, if you want their value to depend on some field in the data, you can use: "<parameter>": {"field": "<some_field>"}. This is done by default for the x and y parameters of most plot types, mapping them to the field of the same name. This can be overriden, for example in the line to open /plot/myplot3 above.
Once these channels are created, add points using the data command:
{"command":"data","path":"/plot/myplot1","x":1,"y":2}
{"command":"data","path":"/plot/myplot2","x":3,"y":4}
{"command":"data","path":"/plot/myplot3","time":5,"candies":6}
...Coupling with a table channel
A plot can specify an existing TableChannel as a source:
{"command":"open","path":"/data","type":"table","columns":{"x":{"type":"number"},"y":{"type":"number"}}, "hidden":true}
{"command":"open","path":"/plot","type":"bokeh"}
{"command":"open","path":"/plot/myplot1","plotType":"line","source":"/data"}
{"command":"data","path":"/data","x":1,"y":2}
...Data sent to /data will be shown as points in /plot/myplot1. Multiple plots can use the same source and use arbitrary fields from that table as x and y coordinates. Set the hidden attribute on the data channel if you don't want the data table to actually be displayed.
Examples
See the examples/ sub-directory.
