Brought to you by NumFOCUS Foundation and O’Reilly Media
The official Jupyter Conference
Aug 21-22, 2018: Training
Aug 22-24, 2018: Tutorials & Conference
New York, NY

Bringing ipywidget support to plotly.py

Plotly.js is a declarative JavaScript data visualization library built on D3 and stackgl that supports a wide range of statistical, geographic, and 3D visualizations. Support for creating plotly.js visualizations from Python is provided by the plotly.py library. Join in to see the results of a collaboration between Plotly and the Air and Missile Defense Sector of the Johns Hopkins Applied Physics Laboratory to bring full ipywidget support to plotly.py.

This work brings Jupyter Notebook users working with plotly.py a host of benefits:

  • Plots can now be updated in place, using property assignment syntax.
  • The entire plotting API is now discoverable using tab completion and documented with informative docstrings.
  • Properties are now validated by the Python library, and helpful error messages are raised on validation failures.
  • Python callbacks can now be executed upon zoom, pan, click, hover, and data selection events.
  • Multiple views of the same plot can now be displayed across different notebook output cells.
  • Static PNG and SVG images can now be exported programmatically with no external dependencies or network connection required.
  • Plot transitions can now be animated with custom duration and easing properties.
  • NumPy arrays are now transferred between the Python and JavaScript libraries using the binary serialization protocol introduced in ipywidgets 7.0.
  • Plots can now be combined with built-in ipywidgets to create rich dashboard layouts in the notebook.

In total, these updates dramatically enhance the interactive data visualization experience for Jupyter Notebook users. The team is excited to see what the Jupyter community will create with these new tools.