Data visualizations are a powerful tool for communicating and exploring data.
However, for blind or low vision users most data visualizations
are unusable because they are not designed to support them.
A simple remedy is to provide text descriptions of visualizations.
This however is frequently omitted especially for complex scientific charts.
In this paper we introduce a method to automatically generate
text descriptions for upset. UpSet is a visualization technique for set data
that is commonly used in scientific publications.
In our paper we analyze the types of patterns that are frequently found in upset plots and
develop a library that detects these patterns and generates text descriptions for them.
In this video, however, we want to show you how
text descriptions are integrated into our web-based upset tool.
It leverages our library to dynamically generate text descriptions.
We will be using a dataset about movies for the purpose of this demonstration. This data
set shows the overlap between movie genres. We can change sorting or add and remove sets to the plot.
We can reveal the text description in a side panel. We initially see
a short description which shows important at-a-glance information,
such as a description of the data set and the most important intersections.
For more in-depth information, we can display a
long description. This longer form of the text description contains multiple
subsections which are all navigable with a keyboard and a screen reader.
VoiceOver: Introduction. Heading level 3. Upset introduction. This is an upset
plot that shows the intersections of six sets.
Heading level 3. Data set properties. The data set contains 17 sets and 6,303 elements
of which six sets are shown in the plot. Heading level 3. Set properties. List 2
items. Bullet. The largest set is action with 503 elements followed by thriller with 492.
Heading level 3. Intersection properties. List three items. Bullet. The plot is sorted
by size and descending order. Bullet. There are 28 non-empty
intersections all of which are shown in the plot. Clickable. Voice over off.
Our text descriptions are meant to be a template to be improved by humans.
We can provide a title and a caption to tell a story about the data set, but also provide
information about the data set that we can leverage to improve our text descriptions.
The text description itself provides details about the data set, the properties of the sets,
and the properties of the intersections. We also provide higher level information
in the statistical information and trend analysis sections.
Note that the text description updates as we change the upset plot. For example,
when we remove a set or change the sort order, the text is updated.
Additionally, the generated text can be edited and saved. This enables users to
leverage the generated text as a baseline for them to provide additional insights,
modify generated stats, or simply create their own text description.
Oour text generation is available as a language-independent web API, as well
as a python package. For example,we can generate text descriptions for a Python version of upset.
Here we generate an upset plot using the UpSetPlot python package.
We can retrieve text descriptions in markdown format by simply calling
one function after creating the upset object.
This text can now be customized and,
for example, included as the text description for a figure in a paper.
To learn more about the validation of our approach please check out the paper.
Thank you for watching our video.