Bokeh is an interactive web visualization framework for Python, in the spirit of D3 but designed for non-Javascript programmers, and architected to be driven by server-side data and object model changes. Learn more about it and play with online demos at http://bokeh.pydata.org.
These slides are from a talk at San Francisco Python Meetup on September 10, 2014
2. About Continuum Analytics
Domains
• Finance
•Geophysics
•Defense
•Advertising metrics & data analysis
• Scientific computing
Technologies
•Array/Columnar data processing
• Distributed computing, HPC
• GPU and new vector hardware
•Machine learning, predictive analytics
• Interactive Visualization
Enterprise
Python
Data Processing
Scientific
Computing
Data Analysis
Visualisation
Scalable
Computing
3. Bokeh
• Interactive visualization
• Novel graphics
• Streaming, dynamic, large data
• For the browser, with or without a server
• No need to write Javascript
4. Interactive
• Dragging & zooming, with linking
• Selections that can round-trip to server
• Resize, entirely on client side
• Flexible hover
http://bokeh.pydata.org/gallery.html
14. Matplotlib Chaco d3 mpld3 Vincent
Interactive visualization * Y * Y
Novel graphics * * Y Y
Streaming/dynamic data * Y Y
Large data * Y Y
For the browser Y Y Y Y
No need to write Javascript Y Y Y Y Y
Works with Matplotlib Y Y Y
Works with IPython notebook Y Y Y Y
16. Previous: Javascript code generation
HTML
server.py Browser
App Model
js_str = """ <d3.js>
<highchart.js>
<etc.js>
"""
plot.js.template
D3
highcharts
flot
crossfilter
etc. ...
One-shot; no MVC interaction; no data streaming
17. 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.”
24. Other languages can generate JSON...
bokeh.r!
bokeh.h
bokeh.m
bokeh.java
...
25. New Release! v0.6
• New charts in bokeh.charts: Time Series and Categorical Heatmap
• Sophisticated Hands-on Table widget
• Complete Python 3 support for bokeh-server
• Much expanded User Guide and Dev Guide
• Multiple axes and ranges now supported
• Object query interface to help with plot styling
• Blog post coming soon (tomorrow?)
https://groups.google.com/a/continuum.io/forum/#!topic/bokeh/Hm-QNV9uQOA
30. How to Help & Contribute
• Open source BSD license for everything (JS, Python, server)
• Use it and provide feedback
• 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