SciPy 2024

Interactive data visualizations with Bokeh (in 2024)
07-08, 13:30–17:30 (US/Pacific), Room 316

Bokeh is a library for interactive data visualization. You can use it with Jupyter Notebooks or create standalone web applications, all using Python. This tutorial is a thorough guide to Bokeh and its most recent new features. We start with a basic line plot and, step-by-step, make our way to creating a dashboard web application with several interacting components. This tutorial will be helpful for scientists who are looking to level up their analysis and presentations, and tool developers interested in adding custom plotting functionally or dashboards.

Bokeh is a Python library for creating interactive data visualizations. Bokeh allows you to create plots that can be displayed in a web browser, without needing to write HTML and JavaScript. In development for over 12 years, Bokeh has become a core tool for Python data science workflows, used for both exploratory analysis and in presentations. It is actively used in scientific domains including bioscience, geoscience, and astrophysics. Moreover, other useful libraries in the PyData ecosystem, like Dask, ArViz, and the Holoviz tools, build custom applications and workflows with Bokeh.

In this tutorial, you’ll learn everything you need to know to create beautiful and powerful interactive plots from scratch using Bokeh’s latest features. We’ll start with a quick introduction of Bokeh’s core concepts and cover creating and customizing simple static plots like line and bar charts.

We’ll then introduce layers of interactivity, create specialized plotting features like geographic maps, contour plots, Mathematical Text, and discuss new additions to Bokeh like ImageStacks. By the end, you will be able to create a complete interactive dashboard using Bokeh.

This tutorial is presented by Bokeh core team members and is fully hands-on with several examples and exercises in every section. We hope to enable more people, especially scientists and tool developers, to create pretty yet powerful visualizations.


Required: Beginner-intermediate knowledge of Python programming and a basic understanding of data science tools like NumPy, pandas, and Jupyter Notebooks.

Nice to have: Basic knowledge of Git, GitHub, and conda environments is needed in case you choose to run the tutorial locally instead of on the Nebari cloud.

Installation Instructions

See the Readme document in for instructions (will be updated with more specific instructions for SciPy attendees before the tutorial).

Timo is a technical writer and project manager at makepath. He started contributing to Bokeh in 2020 and loves helping others succeed in the world of Open Source.

Bryan is a Senior Systems Software Engineer at NVIDIA, where he works on Python tools for distributed GPU computing. Previously he worked at Microsoft, and also at Anaconda, where he created the conda package manager and co-created the Bokeh visualization library.

Pavithra Eswaramoorthy is a Developer Advocate at Quansight, where she works to improve the developer experience and community engagement for several open source projects in the PyData community. Currently, she contributed to the Bokeh visualization library, and contributes to the Nebari (adjacent to the Jupyter community), conda-store (part of the conda ecosystem), and Ragna (a RAG orchestration framework) projects. Pavithra has been involved in the open source community for over 5 years, notable as a maintainer of the Dask library and an administrator for Wikimedia’s OSS programs. In her spare time, she enjoys a good book and hot coffee. :)

This speaker also appears in: