O'Reilly logo
live online training icon Live Online training

Interactive Visualization Approaches In Jupyter Notebooks

enter image description here

Chakri Cherukuri

Jupyter Notebooks are becoming the Integrated Development Environment (IDE) of choice for data scientists and software engineers. Notebooks provide an excellent way of sharing research, code and documentation, hence promoting reproducible research. With widget libraries like ipywidgets and bqplot, we can now create rich applications, dashboards and tools by just using python code.

In the first part of the training, we’ll start with an overview of two widget libraries, ipywidgets (core UI controls) and bqplot (plotting widgets). We’ll do code walk-throughs of interactive plots and simple exercises where attendees can build interactive plots in the Jupyter notebook. In the second part of the training, we’ll look at advanced applications and dashboards built using these widget libraries. We’ll cover use-cases including time series analysis, visualizations of machine learning models, visual analytics on web server logs and examples in finance.

What you'll learn-and how you can apply it

By the end of this live, hands-on, online course, you’ll understand:

  • Interactive widgets in Jupyter Notebooks (ipywidgets, bqplot etc.)

And you’ll be able to:

  • Use widget libraries in Jupyter Notebooks to build interactive applications

This training course is for you because...

  • You’re a data scientist or a software engineer
  • You want to become an advanced user of Jupyter Notebooks and interactive widgets
  • You work with Machine learning and other quantitative models


  • Python (numpy, pandas)
  • Jupyter Notebooks
  • Basic understanding of machine learning

Recommended preparation:

Recommended follow-up:

About your instructor

  • Chakri Cherukuri is a senior researcher in the Quantitative Financial Research group at Bloomberg LP. His research interests include quantitative portfolio management, algorithmic trading strategies and applied machine learning/deep learning. Previously, he built analytical tools for the trading desks at Goldman Sachs and Lehman Brothers. Before that he worked in the Silicon Valley for startups building enterprise software applications. He has extensive experience in scientific computing and software development. He is a core contributor to bqplot, a 2D plotting library for the Jupyter notebook. He holds an undergraduate degree in mechanical engineering from Indian Institute of Technology (IIT), Madras, an MS in computer science from Arizona State University and another MS in computational finance from Carnegie Mellon University.


The timeframes are only estimates and may vary according to how the class is progressing

  • Introduction: 20 minutes
  • Presentation: Introduction to interactive widgets
    • ipywidgets (UI controls)
      • traitlets (“observable” attributes)
      • layouts
    • bqplot (2D plotting widgets)
  • Q&A

Widgets deep-dive: (35 minutes)

  • Code Walk-through: Linking widgets using callbacks
  • Exercise: Link sliders with a line plot
  • Q&A
  • Code Walk-through: Interacting with plots
    • Mark (line, scatter, bar, pie etc.) Interactions
  • Exercise: Linear regression
  • Q&A
  • 5 min break

Selectors in bqplot: (15 minutes)

Code walk-through: Interval Selectors Exercise: Simple time-series analysis Q&A

Case studies I: (25 minutes)

  • Machine Learning
    • K-Means Clustering
    • Gradient Descent
    • Twitter Sentiment Analysis
  • General: Visual analytics of web-server logs
  • Q&A

Case Studies II: (20 minutes)

  • Finance: S&P 500 Index Performance
  • Finance: S&P 500 Member Analysis
  • General: Wealth Of Nations
  • Q&A