Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2016 - Bryan Van de Ven - Interactive Data Visualization Applications for the Browser with Bokeh

PyBay
August 20, 2016

2016 - Bryan Van de Ven - Interactive Data Visualization Applications for the Browser with Bokeh

Description
Bokeh (http://bokeh.pydata.org/en/latest) provides a compelling open-source platform for creating interactive data visualization applications in the browser. This talk will demonstrate Bokeh's newest capabilities: the second generation Bokeh server, APIs for streaming data, new hooks for user-extensibility (e.g. to easily leverage JavaScript 3D plot libraries), new features for GIS, and more.

Abstract
With support from the DARPA XDATA Initiative, commercial engagements, and contributions from over 150 community members, the Bokeh visualization library (http://bokeh.pydata.org) has grown into a large, successful open source project with heavy interest and following on GitHub (https://github.com/bokeh/bokeh). The principal goals of Bokeh are to provide capability to developers and domain experts: easily create and share interactive, versatile, and powerful visualizations that extract insight from data sets that may be remote, large, or streaming. Bokeh provides a platform for anyone to create interactive data and visualization applications in the browser for themselves, their colleagues, or for a wider audience.

This talk will give a quick overview of recent developments, and demonstrate some of the newest capabilities of Bokeh including:

* Bokeh applications and the second generation Bokeh server (that is more performant, better documented, and much simpler to use and deploy)
* APIs for streaming data (both in the notebook and Bokeh applications)
* The ability to extend Bokeh with your own custom functionality (for example to create 3D plots or network graphs)
* Recent GIS features such as support for GeoJSON and tiled map data sources
* The new Datashader library that can be used together with Bokeh to visualize billions of data points.

Finally the talk will discuss near-term plans for the project, it's governance, and community development.

Bio:
Bryan studied undergraduate CS and Math at UT Austin, and graduate Physics at UCLA. Currently he leads the technical effort for work done on the Bokeh project at Continuum Analytics. Previously, he has worked on feature detection and classification systems for submarine platforms, automated tools for financial risk modeling, and workflow optimization for fluid mixing simulations. He has also taught Basic, Advanced, and Scientific Python courses to more than 1500 students in the last four years.

https://youtu.be/xqwCxuEBpxk

PyBay

August 20, 2016
Tweet

More Decks by PyBay

Other Decks in Programming

Transcript

  1. Bryan Van de Ven [email protected] @bigreddot PyBay 2016 Data Visualization

    with Bokeh https://speakerdeck.com/bryanv/pybay-2016-datavis-with-bokeh
  2. No JavaScript Bokeh? https://bokeh.pydata.org/en/latest Interactive visualization, widgets, and tools For

    the browser, with or without a server Versatile and high-level graphics Streaming, dynamic, large data
  3. No JavaScript No JavaScript Bokeh? https://bokeh.pydata.org/en/latest Interactive visualization, widgets, and

    tools For the browser, with or without a server Versatile and high-level graphics Streaming, dynamic, large data
  4. Prologue LOGO: Simple inputs, sophisticated outputs The Web?! mod_python and

    PIL VTK: My First OSS Fractint: Making pictures from math
  5. Prologue LOGO: Simple inputs, sophisticated outputs The Web?! mod_python and

    PIL VTK: My First OSS Chaco: Interactive rich-client applications Fractint: Making pictures from math
  6. Prologue LOGO: Simple inputs, sophisticated outputs The Web?! mod_python and

    PIL VTK: My First OSS Chaco: Interactive rich-client applications Fractint: Making pictures from math
  7. Prologue LOGO: Simple inputs, sophisticated outputs The Web?! mod_python and

    PIL VTK: My First OSS Chaco: Interactive rich-client applications Conda: Users pay attention Fractint: Making pictures from math
  8. Prologue LOGO: Simple inputs, sophisticated outputs The Web?! mod_python and

    PIL VTK: My First OSS Chaco: Interactive rich-client applications Conda: Users pay attention Bokeh: All of the above Fractint: Making pictures from math
  9. Community Makes the Dream Work Damian Luke Bryan Fabio Mateusz

    Havoc Almar Peter Maggie Sarah Brendan Kevin
  10. Community Makes the Dream Work Damian Luke Bryan Fabio Mateusz

    Havoc Almar Peter Maggie Sarah Brendan Kevin New faces too: !!!
  11. Community Makes the Dream Work Damian Luke Bryan Fabio Mateusz

    Havoc Almar Peter Maggie Sarah Brendan Kevin Special Thanks: Claire Teng, Dennis Obrien, Julia Signell, Sarah Heim, Tim Snyder, Steven Howell, Andrea Ernlund, Eric Ma, Nikola Hardi, John Dimattio, James Guillochon, Chris Coutinho, and Brigita Sipocz. New faces too: !!!
  12. Community Makes the Dream Work Damian Luke Bryan Fabio Mateusz

    Havoc Almar Peter Maggie Sarah Brendan Kevin Special Thanks: Claire Teng, Dennis Obrien, Julia Signell, Sarah Heim, Tim Snyder, Steven Howell, Andrea Ernlund, Eric Ma, Nikola Hardi, John Dimattio, James Guillochon, Chris Coutinho, and Brigita Sipocz. New faces too: !!!
  13. Concentrate on your work Completely written in Python, no HTML

    or CSS or “webapp” coding Server Simple python scripts, no special classes of frameworks
  14. Concentrate on your work Completely written in Python, no HTML

    or CSS or “webapp” coding Server Simple python scripts, no special classes of frameworks Useful for exploratory analysis or sharing and publishing
  15. Concentrate on your work Completely written in Python, no HTML

    or CSS or “webapp” coding Server Simple python scripts, no special classes of frameworks Useful for exploratory analysis or sharing and publishing Automatically mirrors and synchronizes Python and browser state
  16. Concentrate on your work Completely written in Python, no HTML

    or CSS or “webapp” coding Connect the full PyData stack to interactive web apps Server Simple python scripts, no special classes of frameworks Useful for exploratory analysis or sharing and publishing Automatically mirrors and synchronizes Python and browser state
  17. Streaming Data Today Two new data source methods: .stream to

    append data incrementally to column ends .patch for random access updates anywhere
  18. Custom Extensions Today Add capability for… Wrapping different widgets Adapting

    3D JavaScript libraries Adding LaTeX labels Community doesn’t have to wait!
  19. Datashader Today http://datashader.readthedocs.io/en/latest/ Flexible, configurable pipeline for automatic rendering Solves

    problems of overplotting, underplotting, saturation Mitigates binning problems by affording interactivity across large datasets
  20. Datashader Today http://datashader.readthedocs.io/en/latest/ Flexible, configurable pipeline for automatic rendering Statistical

    transforms are a first-class aspect of visualization Solves problems of overplotting, underplotting, saturation Mitigates binning problems by affording interactivity across large datasets
  21. Datashader Today http://datashader.readthedocs.io/en/latest/ An independent project under the Bokeh GitHub

    organization Flexible, configurable pipeline for automatic rendering Statistical transforms are a first-class aspect of visualization Solves problems of overplotting, underplotting, saturation Mitigates binning problems by affording interactivity across large datasets
  22. Speaking of Dask Today http://dask.pydata.org/en/latest/ A pure Python library for

    parallel and distributed computing Comes with a Bokeh app for monitoring performance of distributed tasks
  23. Speaking of Dask Today http://dask.pydata.org/en/latest/ A pure Python library for

    parallel and distributed computing Comes with a Bokeh app for monitoring performance of distributed tasks “Invaluable for understanding and optimizing distributed computing performance.”
  24. Speaking of Dask Today http://dask.pydata.org/en/latest/ A pure Python library for

    parallel and distributed computing Comes with a Bokeh app for monitoring performance of distributed tasks “Invaluable for understanding and optimizing distributed computing performance.” “It's not something for which I need to go out and find a web developer to help me with.”
  25. • Arbitrary computed columns (e.g. color) • SVG output (Chrome

    Headless) • NumFOCUS fiscal sponsorship To be continued…
  26. • Arbitrary computed columns (e.g. color) • SVG output (Chrome

    Headless) • NumFOCUS fiscal sponsorship • Colorbars! To be continued…
  27. To be continued…
 (continued) • Arbitrary computed columns (e.g. color)

    • SVG output (Chrome Headless) • NumFOCUS fiscal sponsorship • Colorbars!
  28. To be continued…
 (continued) • Arbitrary computed columns (e.g. color)

    • SVG output (Chrome Headless) • NumFOCUS fiscal sponsorship • Colorbars! • Community repo for extensions
  29. To be continued…
 (continued) • Arbitrary computed columns (e.g. color)

    • SVG output (Chrome Headless) • NumFOCUS fiscal sponsorship • Colorbars! • Community repo for extensions • Bokeh “develop” mode
  30. To be continued…
 (continued) • Arbitrary computed columns (e.g. color)

    • SVG output (Chrome Headless) • NumFOCUS fiscal sponsorship • Colorbars! • Community repo for extensions • Bokeh “develop” mode
  31. • Binary protocol for arrays To be continued…
 (continued) •

    Arbitrary computed columns (e.g. color) • SVG output (Chrome Headless) • NumFOCUS fiscal sponsorship • Colorbars! • Community repo for extensions • Bokeh “develop” mode
  32. • Binary protocol for arrays • JupyterLab integration To be

    continued…
 (continued) • Arbitrary computed columns (e.g. color) • SVG output (Chrome Headless) • NumFOCUS fiscal sponsorship • Colorbars! • Community repo for extensions • Bokeh “develop” mode
  33. • Binary protocol for arrays • JupyterLab integration • 1.0

    To be continued…
 (continued) • Arbitrary computed columns (e.g. color) • SVG output (Chrome Headless) • NumFOCUS fiscal sponsorship • Colorbars! • Community repo for extensions • Bokeh “develop” mode
  34. Resources • GitHub: https://github.com/Bokeh/bokeh • Documentation: http://bokeh.pydata.org/en/latest • Example Apps:

    https://demo.bokehplots.com • Tutorials: http://nbviewer.jupyter.org/github/bokeh/bokeh-notebooks/blob/master/index.ipynb • Mailing List: https://groups.google.com/a/continuum.io/forum/#!forum/bokeh • Gitter Chat: https://gitter.im/bokeh/bokeh
  35. Call to Action Install Bokeh and provide feedback • BSD

    license for everything (JS, Python, server) • https://github.com/Bokeh/bokeh
  36. Call to Action Install Bokeh and provide feedback • BSD

    license for everything (JS, Python, server) • https://github.com/Bokeh/bokeh Engage us to work on custom apps and dashboards • Code integration, analytical and visualization expertise • Feedback helps the open source efforts