Winter visualization series

With the exception of the Matplotlib session on January 20 (see details below), all sessions begin at 10am Pacific / 11am Mountain / 1pm Eastern / 2pm Atlantic. Course materials will be added to this page after each session.

You can register here – please select the sessions you’ll be attending.

Click on each session for more details and the calendar link.

Jan-20, 10am PT – Intro session: which tool is right for me?

Speaker: Alex Razoumov (SFU)

Abstract: This overview session introduces all workshops in the Series and provides high-level answers to questions such as:

  • What are the differences among Python plotting libraries – Matplotlib, Seaborn, Plotly, Vega-Altair, and Plotnine – and when should you choose one over another?
  • Why use ParaView for 3D scientific visualization, and what are its core capabilities?
  • In what ways can you use Python scripting in ParaView? (There is more than one!)
  • What are the three primary approaches to creating animations in ParaView?
  • What is in-situ visualization?
  • Any domain-specific visualization tools covered in this Series?
  • Which scientific web visualization tools should you consider using in 2026?

We will also briefly cover tools not included in this Series, such as VisIt, Python mapping packages, Julia plotting libraries, and others, and explain why they were left out.

add to your calendar

Jan-20, 11am PT – Plotting in Python with Matplotlib

Speaker: Yohai Meiron (Univ. of Toronto)

Abstract: Matplotlib is the foundational plotting library for Python, and is widely used in tandem with other scientific libraries (such as NumPy and Pandas) to visualize data across many different fields. It is a free and open source software library that offers fine-grained control over every aspect of a plot, making it a powerful tool for customizing figures to meet specific needs. In this workshop, we will use a Jupyter notebook to show you how to create common 2D plot types such as line, scatter, and heatmaps, and how to customize the labels, legend, and panel layout. We will briefly touch on using Matplotlib to produce animations and interactive visualizations. By the end of this one-hours session, you will have a basic understanding of the library’s capabilities.

add to your calendar

Jan-27, 10am PT – Plotting in Python with Seaborn

Speaker: Jarno van der Kolk (Univ. of Ottawa)

Abstract: Seaborn is a Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics and is particularly well suited for displaying multi-dimensional data to get quick insight in a dataset.

Prerequisites: Some knowledge of Python.

add to your calendar

Jan-30, 10am PT – Plotting in Python with Plotly

Speaker: Alex Razoumov (SFU)

Abstract: Plotly is an open-source visualization library for creating interactive, publication-quality graphs in Python (and other languages), with support for a wide range of plot types. In this workshop, you will learn two ways to use Plotly: the high-level Plotly Express interface for rapid data exploration, and the more flexible Plotly Graph Objects interface for detailed customization. We will explore common plot types – line, scatter, bar, pie, heatmap – as well as more advanced and 3D visualizations. You will learn how to display figures using different rendering backends, save them as images, HTML, or JSON files, and view them inside Jupyter Notebook or JupyterHub. We will also learn how to include additional interactive elements such as sliders, buttons, and dropdown menus into your Plotly visualizations.

add to your calendar

Feb-03, 10am PT – Plotting in Python with Vega-Altair

Speaker: Pier-Luc St-Onge (McGill Univ.)

Abstract: How can you uncover the hidden trends in your thousands of data rows? This workshop teaches you how to create interactive charts from your tabular data. You’ll master histograms, time series plots, distributions, and multi-faceted graphs to transform your tables into impactful visualizations.

Outline:

  • Creating interactive charts with Altair
  • Building a figure step-by-step using a grammar of graphics
  • Visualizing time series and data distributions
  • Creating multiple facets in a single figure

add to your calendar

Feb-06, 10am PT – Basic ParaView

Speakers: Pier-Luc St-Onge (McGill Univ.) and Tyson Whitehead (Western Univ.)

Abstract: ParaView is an open source, multi-platform data analysis and visualization tool designed to run on a variety of hardware from individual laptops to large supercomputers. With ParaView, users can interactively visualize 2D and 3D datasets defined on structured, adaptive and unstructured meshes or particles, animate these datasets over time, and manipulate them with a variety of filters. ParaView supports both interactive visualization through a graphical user interface (GUI) and scripted visualization, including offscreen rendering, and is an easy and enjoyable tool to learn.

In this beginner’s workshop, we will explore ParaView’s interface, examine the types of data it can import, and learn how to use filters to build increasingly sophisticated visualization pipelines.

add to your calendar

Feb-10, 10am PT – The grammar of graphics in R and Python

Speaker: Tyson Whitehead (Western Univ.)

Abstract: Most plotting packages offer a fixed set of built-in plot types to choose from. In contrast, the Grammar of Graphics defines a declarative framework for creating virtually unlimited visualizations by combining geometry, coordinate systems, facets, scales, guides, and themes. The most widely known implementation of this grammar is R’s ggplot2, with a lesser-known Python counterpart called plotnine. This presentation introduces both libraries and demonstrates how the Grammar of Graphics can be used to build a wide range of plots.

add to your calendar

Feb-13, 10am PT – Introduction à ParaView

Speaker: Pier-Luc St-Onge (McGill Univ.)

Abstract: ParaView est un outil d’analyse et de visualisation de données à code source ouvert et multiplateforme, conçu pour fonctionner sur une variété de systèmes informatiques, des ordinateurs portatifs aux superordinateurs. Avec ParaView, on peut visualiser de manière interactive des ensembles de données 2D et 3D définis sur des particules ou des maillages structurés, adaptatifs ou non structurés. On peut ensuite animer ces données dans le temps et les manipuler à l’aide de divers filtres. ParaView prend en charge la visualisation interactive via une interface graphique, ainsi que la visualisation par script, y compris le rendu hors écran. C’est un outil facile et agréable à découvrir.

Dans cet atelier d’introduction, nous explorerons l’interface de ParaView, nous examinerons les types de données qu’il peut importer et nous apprendrons à utiliser des filtres pour construire des pipelines de visualisation de plus en plus sophistiqués.

add to your calendar

Feb-24, 10am PT – ParaView scripting

Speaker: Alex Razoumov (SFU)

Abstract: ParaView’s Python library allows you to automate your visualization workflow by scripting your tasks and running them from the command line, either on your local machine or as a batch Slurm job on a remote HPC cluster, all without opening any windows. In this workshop, we will introduce ParaView’s Python tools, starting with using the Trace feature to convert GUI actions into scripts and then showing how to simplify and modify those scripts. You will learn how to run them using pvpython and pvbatch, and how to explore VTK data from the ParaView Python shell.

Prerequisites: basic ParaView knowledge (importing and examining data, working with filters). To participate in the hands-on exercises, please install ParaView on your computer. You can download it from the official website.

add to your calendar

Feb-27, 10am PT – Scripter des visualisations via ParaView

Speaker: Pier-Luc St-Onge (McGill Univ.)

Abstract: La bibliothèque Python de ParaView vous permet d’automatiser votre processus de visualisation en programmant des séquences d’actions sous la forme de scripts et en les exécutant en ligne de commande, soit localement, soit via une tâche de calcul sur un superordinateur, le tout sans ouvrir aucune fenêtre de ParaView.

Cet atelier vous présentera les outils Python de ParaView, en commençant par l’utilisation de la fonction Trace pour convertir les actions de l’interface graphique en scripts, puis en vous montrant comment simplifier et modifier ces scripts. Vous apprendrez à les exécuter avec pvpython et pvbatch, et à explorer les données VTK depuis l’interpréteur Python de ParaView.

Prérequis: connaissances de base de ParaView (importer et examiner des données, utiliser des filtres) et en programmation Python

add to your calendar

Mar-03, 10am PT – ParaView animation

Speaker: Alex Razoumov (SFU)

Abstract: ParaView supports several approaches to animating data. In this session, we will focus on keyframe animation, where you can animate any property of any pipeline object, e.g. moving a slice through a volume by changing its origin, or animating a 2D contour through a 3D dataset by varying the contour value. We will also look at how to combine multiple timelines within a single animation. After that, we’ll work through several hands-on keyframe animation exercises and discuss how to create animations using Python scripting.

Prerequisites: To participate in the hands-on exercises, please install ParaView on your computer. You can download it from the official website. Familiarity with ParaView basics – creating a visualization pipeline, applying filters, and scripting – is assumed and covered in earlier sessions.

add to your calendar

Mar-06, 10am PT – Visualisations animées avec ParaView

Speaker: Pier-Luc St-Onge (McGill Univ.)

Abstract: ParaView permet d’animer de différentes façons la visualisation de données. Cet atelier sera consacré à l’animation par images clés, soit une méthode permettant d’animer selon n’importe quelle propriété d’un objet du pipeline. Nous verrons, entre autres, comment animer le plan de coupe d’un volume et aussi comment animer un contour 2D, selon sa valeur, dans un jeu de données 3D. Nous verrons également comment combiner plusieurs chronologies au sein d’une même animation. Enfin, nous réaliserons plusieurs exercices pratiques d’animation par images clés et aborderons la création d’animations à l’aide de scripts Python.

Prérequis: connaissances de base de ParaView (importer et examiner des données, utiliser des filtres) et la compréhension de scripts Python utilisant le module ParaView.

add to your calendar

Mar-10, 10am PT – Remote and large-scale visualization in ParaView

Speaker: Alex Razoumov (SFU)

Abstract: In this more advanced session, you will learn how to perform remote and large-scale visualization on the Alliance’s HPC clusters, for cases where you do not want to – or simply cannot – download the dataset to your local computer.

Small-scale remote visualization can be accomplished using JupyterHub or Open OnDemand, running either standalone ParaView or a ParaView client within a remote desktop environment.

For larger-scale interactive visualization, we will run a parallel ParaView server for data processing and rendering on a cluster and connect to it from a ParaView client on your local computer. This setup enables interactive visualization of very large datasets (multi-GB and potentially TB-scale) without transferring data locally, and without being limited by your own system’s memory or CPU/GPU resources.

We will explore workflows involving both time and camera animation. We will then save the interactive visualization pipeline as a script and run it remotely as a batch job on the cluster, performing all rendering off-screen (without opening any windows) to generate animation files.

Finally, we will discuss strategies for optimizing data for parallel I/O and the compute resources required to process very large datasets.

Prerequisites: To participate in the hands-on exercises, please install ParaView on your computer. You can download it from the official website. Familiarity with ParaView basics – creating a visualization pipeline, applying filters, and scripting – is assumed and covered in earlier sessions.

add to your calendar

Mar-13, 10am PT – Introductory VMD

Speaker: Dmitri Rozmanov (Univ. of Calgary)

Abstract: Visual Molecular Dynamics (VMD) is a dedicated tool for visualizing, analyzing, and animating molecular structures such as proteins, nucleic acids, and membranes, that is often used to post-process molecular dynamics simulations. In this hands-on workshop, attendees will learn to navigate the VMD interface, apply diverse molecular representations, and utilize VMD’s selection language to isolate key residues or ligands. The session will also cover loading molecular dynamics trajectories and generating high-quality renderings suitable for publication. By the end of this workshop, participants will have the fundamental skills to transform raw atomic data into meaningful visual insights.

add to your calendar

Mar-17, 10am PT – Programmable Filter / Source in ParaView

Speaker: Alex Razoumov (SFU)

Abstract: ParaView includes two highly flexible scripting tools – the Programmable Filter and Programmable Source – that allow you to design your own data-processing operations. With them, you can construct entirely new spatial discretizations, generate tailored 3D structures, or even import data stored in custom file formats. This hands-on session will demonstrate how these features open up new possibilities for scientific visualization workflows.

Prerequisites: To participate in the hands-on exercises, please install ParaView on your computer. You can download it from the official website. Familiarity with ParaView basics – creating a visualization pipeline, applying filters, and scripting – is assumed and covered in earlier sessions.

add to your calendar

Mar-20, 10am PT – Network visualization with Gephi

Speakers: Jarno van der Kolk (Univ. of Ottawa)

Abstract: Gephi is an open-source platform for visualizing and manipulating large graphs. It lets you visualize how different entities connect with each other. These could be social media networks, researchers publishing papers, internet traffic and so on. It also has robust statistical analysis built-in.

Prerequisites: Have Gephi installed. Downloads are available at https://gephi.org.

add to your calendar

Mar-24, 10am PT – In-situ visualization with ParaView’s Catalyst2

Speaker: Alex Razoumov (SFU)

Abstract: As numerical simulations continue to grow in size and complexity, the I/O bottleneck makes it impossible to save all generated data for later analysis. In-situ techniques address this challenge by running analysis and visualization in real time, while the data are still in memory on the HPC system running the simulation, eliminating the need to write everything to disk. Several in-situ visualization frameworks exist, including ParaView’s Catalyst, VisIt’s LibSim, Ascent, and SENSEI.

In this hands-on workshop, we will focus on Catalyst2, which allows you to analyze and visualize your simulation data using familiar ParaView pipelines. Catalyst2 provides an API for describing and passing data arrays – computational meshes and fields – from your simulation to the library, which then converts these arrays into the appropriate VTK data structures. This happens without requiring the user to understand the underlying VTK data model and without duplicating data in memory. This framework is designed to scale to very large datasets and to thousands of CPU cores via MPI.

The goal of this workshop is to instrument a simple C code with the Catalyst2 library and produce in-situ outputs, including data extracts and rendered images, using ParaView’s Python scripting.

Prerequisites: To participate in the hands-on exercises, please install ParaView on your computer. You can download it from the official website. Familiarity with ParaView basics – creating a visualization pipeline, applying filters, and scripting – is assumed and covered in earlier sessions. Some knowledge of C would be helpful, but we’ll take things step by step.

add to your calendar

Mar-27, 10am PT – Modern tools for web visualization

Speaker: Alex Razoumov (SFU)

Abstract: We will begin with a brief overview of the history of general-purpose multidimensional web visualization, including the development of vtk.js and ParaViewWeb. The main focus of this hands-on workshop, however, is to teach you how to use Trame, an open-source framework for building interactive web applications and dashboards for data visualization. Trame leverages Python and popular visualization tools such as VTK and ParaView, and it offers plugins for many other Python plotting libraries.

In this session, we will introduce Trame’s core concepts, demonstrate how to create simple interactive visualizations, and show how to put them online for easy sharing. This workshop is ideal for researchers and data scientists who want to turn their static visualizations into interactive, shareable experiences without needing extensive web development expertise.

add to your calendar