Open Day Presentation
BSc Mental-model Preserving Venn Diagrams in Python
Student
Desk
Initial task setting
Supervisor
Second Reader

g20-78

Keywords
set visualisation, Venn diagrams, Python API

Technologies
Python, Qt, SVG

This project developed IVenn, a Python API for the visualisation of Venn diagrams based on a popular tool, InteractiVenn’s, approach to set exploration. Understanding the similarity of sets is common in data analysis, yet interactive set exploration is often separate from the code that produces the sets. This explains the aim of the project, which is to bring InteractiVenn-style exploration into Python, so that users can define or load up to six sets in code and analyse their overlap all in the same place. A main requirement for the project was that the visual model should be maintained under set union operations, so regrouping sets changes the values shown in the diagram without collapsing it into a different layout.

The finished package supports both interactive exploration and script-based analysis of set overlap. It renders fixed-template SVG diagrams, allows regions to be opened and inspected, and supports exporting. Its interactive use is provided through a Qt viewer, and the same overlap structure can also be queried from code too. The project therefore produced a working Python API that makes InteractiVenn-style set exploration available directly from Python.