import holoviews as hv from holoviews import opts from holoviews import streams hv.extension('bokeh')
stream adds a bokeh tool to the source plot, which allows freehand drawing on the plot canvas and makes the resulting paths available to Python. The tool supports the following actions:
Click and drag to draw a line or polygon, release mouse to stop drawing
Tap a line to select it then press BACKSPACE key while the mouse is within the plot area.
The tool allows drawing lines and polygons by supplying it with a
object as a source. It also allows limiting the number of lines or polygons that can be drawn by setting
to a finite number, causing the first line to be dropped when the limit is reached.
path = hv.Path() freehand = streams.FreehandDraw(source=path, num_objects=3) path.options( opts.Path(active_tools=['freehand_draw'], height=400, line_width=10, width=400))
Whenever the data source is edited the data is synced with Python, both in the notebook and when deployed on the bokeh server. The data is made available as a dictionary of columns:
Alternatively we can use the
property to get an Element containing the returned data: