How Glue Compares with Other Data Visualization Solutions
Updated
Glue is a Python library for exploring relationships within and among related datasets, and its documentation points readers to a comparison table covering other open-source and commercial data visualization solutions. The distinction that matters most when choosing it: Glue is built around brushing and linking across datasets, with user-defined links between them, rather than around producing standalone charts. If your work involves several related datasets that need to be viewed and selected together, Glue is aimed at that problem. If you mainly need polished static figures or a general-purpose plotting API, other tools in that comparison are likely a better fit.
The dimensions that separate Glue from other tools
Interaction model: brushing and linking
Glue's main feature is linked statistical graphics. You create scatter plots, histograms, and images (2D and 3D), and selections made in any graph propagate to all the others. This is the brushing-and-linking paradigm: you brush a region in one view, and every other view updates to reflect that selection.
Most general-purpose plotting libraries treat each figure as an independent output. They can produce the same chart types, but the propagation of selections across views is not their organizing principle.
Cross-dataset linking
Glue uses the logical links that exist between different datasets to overlay visualizations of different data and to propagate selections across them. These links are specified by the user and are described as arbitrarily flexible.
This is the capability that is hardest to replicate with a standard plotting stack. Overlaying two datasets and keeping selections synchronized usually means writing custom glue code — which is, not coincidentally, the problem this library exists to solve.
Scripting and extensibility
Glue is written in Python and built on NumPy, Matplotlib, and SciPy. You can integrate your own Python code for data input, cleaning, and analysis. The documentation describes several ways to work with it:
- Use the graphical application as-is, without typing a line of code.
- Use the IPython terminal built into the application.
- Send NumPy arrays or Pandas DataFrames to Glue for exploration from a Python or IPython session.
- Customize your setup with
config.pyfiles — for example, to load and clean data automatically before Glue starts, to parse a custom file format, to define custom linking functions, or to create your own data viewers.
It is also possible to develop plugin packages for Glue and distribute them separately, or to use the Glue framework inside your own application to provide data-linking capabilities.
Workflow orientation
Glue is designed with "data-hacking" workflows in mind, and the documentation describes it as blurring the boundary between GUI-centric and code-centric data exploration. That framing is itself a selection criterion: it suits exploratory work where you move between clicking and scripting, not a pipeline that renders a fixed set of publication figures.
Choosing between Glue and another solution
| If your priority is… | Glue is a reasonable choice when… | Look elsewhere when… |
|---|---|---|
| Comparing related datasets | You have multiple datasets with logical links you want to define and explore together | Each dataset is analyzed in isolation |
| Interactive selection | You want selections in one view to propagate to all others | You only need static output |
| Mixing GUI and code | You want to start in the GUI and drop into Python, or drive Glue from a session | You need a purely scripted, headless pipeline |
| Extending the tool | You want custom file parsers, link functions, or viewers via config.py or plugins |
Built-in behavior covers your needs |
| Chart types | Scatter plots, histograms, and 2D/3D images cover your views | You need chart types outside that set |
The documentation explicitly offers a comparison table for evaluating Glue against other open-source and commercial data visualization solutions. That table is the right place to check specific feature-by-feature claims, since it is maintained alongside the tool itself.
Practical notes before you commit
- Dependencies are mainstream. Building on NumPy, Matplotlib, and SciPy means Glue fits into an existing scientific Python environment rather than requiring a separate stack.
- The no-code path is real. You can run the graphical application and never write code, which lowers the barrier for collaborators who do not program.
- The code path is not an afterthought. The built-in IPython terminal and the ability to push NumPy arrays or Pandas DataFrames into Glue mean you are not forced to choose between the two modes.
- Version context. The documentation referenced here is for Glue 1.24.1, so feature availability should be checked against the version you install.
- Demos exist. The documentation points to a videos page for further demos, which is a faster way to judge the interaction model than reading feature lists.
If the brushing-and-linking model and flexible cross-dataset links match how you actually work, Glue's differences from general plotting libraries are advantages. If they do not, those same differences are overhead — and the comparison table linked from the documentation will help you confirm which case applies to you.