This document provides an overview and agenda for a Bokeh tutorial presentation. The presentation introduces Bokeh, an interactive visualization library for Python, and covers topics like its novel graphics capabilities, interactivity, support for streaming/dynamic data and large datasets, architecture, and how to contribute to the project. It also outlines exercises for attendees to complete, including basic plotting, tools/tooltips, and linked plots.
2. Agenda
ā¢ Overview of Bokeh - 30 min
ā¢ What & why
ā¢ Demos
ā¢ Q&A (5 min)
ā¢ Exercises - 50 min
ā¢ First plots & charts
ā¢ Tools & tooltips
ā¢ Linked plots
ā¢ Architecture overview
ā¢ Q&A - 10 min
3. Bokeh Overview
ā¢ Novel graphics
ā¢ Interactive visualization
ā¢ Streaming, dynamic, large data
ā¢ For the browser, with or without a server
ā¢ No need to write Javascript
5. Interactive
ā¢ Dragging & zooming, with linking
ā¢ Selections that can round-trip to server
ā¢ Resize, entirely on client side
ā¢ Flexible hover
http://bokeh.pydata.org/en/latest/docs/gallery.html
12. How to Help & Contribute
ā¢ Open source BSD license for everything (JS, Python, server)
ā¢ Use it and provide feedback
ā¢ Contribute to dev! (Hack on Starter Isssues)
ā¢ Designer? Front-end dev? Get in touch!
ā¢ Engage us to work on custom visual exploration apps &
dashboards
ā¢ Not just code integration - also provide visualization expertise
ā¢ Helps the open source eļ¬orts
@bokehplots
19. Previous: Javascript code generation
server.py Browser
js_str = """ <d3.js>
<highchart.js>
<etc.js>
"""
plot.js.template
App Model
D3
highcharts
flot
crossfilter
etc. ...
One-shot; no MVC interaction; no data streaming
HTML
20. BokehJS
ā¢ Full-fledged dynamic, interactive plotting engine
ā¢ materializes a reactive scenegraph from JSON
ā¢ optionally push/pull state from server, using websockets
ā¢ HTML5 Canvas, backbone.js, coļ¬eescript, AMD, plays
with JSfiddle, ā¦
!
āWe wrote JavaScript, so you donāt have to.ā