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 efforts
@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, coffeescript, AMD, plays
with JSfiddle, …
!
“We wrote JavaScript, so you don’t have to.”