Related Experiment Video
Updated: Mar 6, 2026

06:08
Automatic Identification of Dendritic Branches and their Orientation
Published on: September 17, 2021
2.3K
MatplotAlt: A Python Library for Adding Alt Text to Matplotlib Figures in Computational Notebooks
Kai Nylund1, Jennifer Mankoff1, Venkatesh Potluri2
1Paul G. Allen School of Computer Science & Engineering, University of Washington.
Summary
MatplotAlt is a Python package that automatically generates alt text for Matplotlib charts in Jupyter notebooks. It improves chart accessibility by using heuristic and LLM-based methods, even refining LLM accuracy.
Area of Science:
- Data Visualization
- Scientific Computing
- Accessibility
Background:
- Matplotlib is a widely used Python library for creating static, animated, and interactive visualizations.
- Generating descriptive alternative text (alt text) for complex data visualizations remains a challenge, impacting accessibility for visually impaired users.
- Existing methods for automated alt text generation often lack accuracy or customization options.
Purpose of the Study:
- To introduce MatplotAlt, an open-source Python package designed to simplify the addition of alt text to Matplotlib figures.
- To enable Jupyter notebook authors to automatically generate and display chart descriptions with minimal code.
- To provide customizable options for alt text generation and display, catering to user preferences and accessibility requirements.
Main Methods:
- Developed MatplotAlt as a Python package integrated with Jupyter notebooks.
- Implemented heuristic-based and large language model (LLM)-based methods for generating alt text.
- Evaluated the accuracy of generated alt text for various Matplotlib figures, including univariate and complex plots.
- Investigated methods to improve LLM accuracy, such as prompting with heuristic-based alt text or parsed data tables.
Main Results:
- MatplotAlt successfully generates accurate long-form descriptions for both simple and complex Matplotlib figures.
- Both heuristic and LLM-based methods within MatplotAlt demonstrate effectiveness in creating descriptive alt text.
- State-of-the-art LLMs exhibit factual inaccuracies when describing charts independently.
- Prompting GPT-4 Turbo with heuristic-based alt text or data tables significantly enhances description accuracy.
Conclusions:
- MatplotAlt offers a practical and efficient solution for enhancing the accessibility of Matplotlib visualizations.
- The package empowers researchers and educators to create more inclusive data narratives within Jupyter environments.
- Combining heuristic approaches with LLMs, particularly through informed prompting, is crucial for improving the factual accuracy of automated chart descriptions.
Related Concept Videos
Modified Boxplots
11.6K
A standard box and whisker plot informs us about the spread of the data in a given sample. One can identify the minimum value, maximum value, first quartile value, second quartile or median value, and third quartile.
However, the box plot does not tell the reader about outliers - values that lie far from the center of the data. We can modify the standard box and whisker plot to identify the outliers and visualize the actual spread of the data in a sample.
Initially, we calculate the adjusted...
However, the box plot does not tell the reader about outliers - values that lie far from the center of the data. We can modify the standard box and whisker plot to identify the outliers and visualize the actual spread of the data in a sample.
Initially, we calculate the adjusted...
11.6K
Multiple Bar Graph
10.4K
As the name suggests, a multiple bar graph is the same as a bar graph but has multiple bars to depict relationships between different data values. One can include as many parameters as possible. However, each parameter must have the same unit of measurement.
Each bar or column in the multiple bar graph represents a data value. These graphs are used primarily in interrelating two or more sets of data. The categories of different kinds of data are listed along the horizontal or x-axis, whereas...
Each bar or column in the multiple bar graph represents a data value. These graphs are used primarily in interrelating two or more sets of data. The categories of different kinds of data are listed along the horizontal or x-axis, whereas...
10.4K
Bar Graph
23.5K
A bar graph is also called a bar chart and consists of bars that are separated from each other. It either uses horizontal or vertical bars to show comparisons among categories. The bars can be rectangles, or they can be rectangular boxes (used in three-dimensional plots). One axis of the graph represents the specific categories being compared, and the other axis shows a discrete value. In this graph, the length of the bar for each category is proportional to the number or percent of individuals...
23.5K
Ogive Graph
7.0K
An ogive graph is sometimes called a cumulative frequency polygon. It is one type of frequency polygon that shows cumulative frequency. In other words, the cumulative percentages are added to the graph from left to right. An ogive graph plots cumulative frequency on the vertical y-axis and class boundaries along the horizontal x-axis. It’s very similar to a histogram; only instead of rectangles, an ogive displays a single point where the top right of the rectangle would be. Creating this...
7.0K
Graphical and Analytic Representation of Sinusoids
1.1K
Analyzing two sinusoidal voltages with equal amplitude and period but different phases on an oscilloscope, an instrument used to display and analyze waveforms, involves a three-step process.
The first step is measuring the peak-to-peak value, which is twice the amplitude of the sinusoid. This provides information about the maximum voltage swing of the waveform.
Secondly, the period and angular frequency are determined. The period is the time taken for one complete cycle of the waveform, while...
The first step is measuring the peak-to-peak value, which is twice the amplitude of the sinusoid. This provides information about the maximum voltage swing of the waveform.
Secondly, the period and angular frequency are determined. The period is the time taken for one complete cycle of the waveform, while...
1.1K
Graphing the Wave Function
3.2K
Consider the wave equation for a sinusoidal wave moving in the positive x-direction. The wave equation is a function of both position and time. From the wave equation, two different graphs can be plotted.
3.2K

