Description
bqplot is an interactive plotting library for the Jupyter notebook in which every attribute of the plot is an interactive widget. bqplot can be linked with Jupyter widgets to create rich visualizations with just a few lines of Python code. These visualizations, which are based on D3.js and SVG, provide an unparalleled level of interactivity without a single line of JavaScript code.
Abstract
bqplot is an interactive 2D plotting library for the Jupyter notebook in which every attribute of the plot is an interactive widget. bqplot can be linked with other Jupyter widgets to create rich visualizations from just a few lines of Python code. Since bqplot is built on top of the widgets framework of the notebook it leverages the widget infrastructure to provide the first plotting library that communicates between Python and JavaScript code. The visualizations are based on D3.js and SVG, enabling fast interactions and beautiful animations. In this talk, attendees will learn how to build interactive charts, dashboards and rich GUI applications using bqplot and ipywidgets.
In the first part of the talk, we will walk the user through the bqplot API:
- Grammar of Graphics based object model (axes, scales, marks etc) which lets users build custom visualizations
- Simple API similar to Matplotlib's pyplot, which provides sensible default choices for most parameters
- Interaction API which lets the user interact with the charts (selecting subset of data, panzoom etc)
We will also review how bqplot ties into the new JupyterLab IDE, by demonstrating how the charts leverage the dashboarding, resizing and output mirroring tools of JupyterLab.
In the second part of the talk, drawing examples from fields like Data Science and Finance we will show examples of building interactive charts and dashboards using bqplot and ipywidgets. We will work through examples of using bqplot with popular deep learning libraries to build custom visual dashboards directly in the notebook, including network visualizations and other novel interactive ways to control your training. We will visit the use of the novel selections offered by bqplot to show how they can be used to create advanced applications for time series data. Finally, we will visit the notion of templates - reusable interactive objects that enhance not only end user workflow, but provide developers and researchers seamless ways to incorporate interactivity into their development workflows.