Skip to main content


Aggregation is a powerful technique for summarising large amounts of data: elements that share a feature are grouped together, partitioning datasets into categories. The Categorical SMS exploits this technique in the realm of models to visualise categories and their incidence.


The Categorical SMS aims to understand partitions of objects to a set of (unknown) categories. Some involved sensemaking tasks include:

  • What categories emerge from the data? and
  • What is the incidence of each category? This task can be refined into discovering the most and least frequent categories.

Presentation metaphor

This is a grouping-based SMS. Other examples under the same metaphor include cluster analysis and pattern matching.

Context meta-model

The context meta-model of Categorical contains two classes, Series and Category, both identified by name.

Each series is associated with a set of categories, refining the scope of the analysis. Categories expose an optional numeric weight, which determines the contribution of the bound object to its category tally. This weight is assumed to be 1 if left unspecified. Objects sharing a are aggregated into the same category, and the visualisation is replicated for each series.

Categorical context meta-model.

Visualisation variants

  • Vertical and horizontal bar charts
  • Semi-circle donut chart
  • Donut chart
  • Pie chart
  • Proportional area chart

Visualisation variants of Categorical.


  • title : string [1..1]. Title of the visualisation.
  • X_label : string [0..1]. Label for the x axis.
  • Y_label : string [0..1]. Label for the y axis.
  • category_names: string [0..*]. Forces the categories to be displayed, and their order. Categories with a 0 value are still displayed. If empty, only categories with a non-zero value are displayed.
  • percent: boolean [0..1]. If true, the values are displayed as percentages of the total.

Motivating example

Application of the Categorical SMS to a conferences and papers meta-model.