What is Glue (docs.glueviz.org)?

Updated

Glue is a Python library for exploring relationships within and among related datasets, and docs.glueviz.org is its official documentation site for version 1.24.1. It is aimed at "data-hacking" workflows, meaning you can use it as a purely graphical application without writing code, or drive and extend it from Python. If your work involves comparing multiple related datasets and you want selections in one plot to propagate to others, Glue is built around exactly that.

Core idea: brushing and linking

Glue's central feature is linked statistical graphics. You create scatter plots, histograms, and images (2D and 3D) of your data, and the tool follows a brushing-and-linking paradigm: a selection made in any graph propagates to all the others. This lets you highlight a region in one view and immediately see which points in other views correspond to it.

Linking across datasets

Beyond linking plots of a single dataset, Glue uses the logical links that exist between different datasets to:

  • Overlay visualizations of different data on top of each other.
  • Propagate selections across datasets.

These links are specified by the user and are described as arbitrarily flexible, so the connections between datasets are not fixed in advance.

How you can use it

The documentation frames Glue as blurring the boundary between GUI-centric and code-centric exploration. Documented ways to work with it include:

  • Graphical application only — use the Glue app as-is and never type a line of code.
  • Built-in IPython terminal — interact with Glue from inside the application.
  • Send data from Python — pass NumPy arrays or Pandas DataFrames into Glue for exploration from a Python or IPython session.
  • Customize via config.py — automatically load and clean data before Glue starts, write custom functions to parse your preferred file format, write custom functions to link datasets, or create your own data viewers.
  • Develop plugins — build plugin packages for Glue that can be distributed separately.
  • Embed the framework — use the Glue framework in your own application to provide data-linking capabilities.

Technical foundation

Glue is written in Python and built on top of standard scientific libraries — NumPy, Matplotlib, and SciPy. This is what makes full scripting capability possible: you can integrate your own Python code for data input, cleaning, and analysis alongside the graphical exploration.

What the documentation covers

The site is organized into these main sections:

Section What it addresses
Getting started How to begin using Glue
Using the Glue application Working with the GUI
Interacting with data from Python Scripting and data exchange
Domain-specific guides Guidance for particular fields
Customizing/Hacking Glue Configuration and extension
Advanced customization Deeper modification
The Glue architecture How Glue is structured internally
Developing Glue Contributing to development
Getting help Where to find support
Acknowledging glue / Publications Citation information
API Reference documentation

The documentation is available in .rst and .pdf formats, and the site also points to a videos page for demos and a comparison table for seeing how Glue stacks up against other open-source and commercial data visualization solutions.

When Glue fits your work

Glue is a reasonable choice when you have related datasets and need to explore how they correspond — for example, a table of measurements plus an image of the same region, where selecting a cluster in a scatter plot should highlight the matching pixels. If you only ever plot a single dataset in isolation, the cross-dataset linking that defines Glue may be more machinery than you need. If you want to keep your analysis in Python while still getting interactive, linked views, the scripting and config.py paths described above are the documented routes in.