This is a thing that supports creating English-language text from a graph description.


This project is intended to support anyone who is doing screen reading for any reason. This could be for vision-impaired people, or just people who like to listen to graphs while jogging, or just to get a handle on what’s going on. Could potentially be used for generic data description also.

Kate Cunningham gave an amazing keynote at PyCon AU 2014 regarding accessibility of web pages. Someone came up with the idea that graphs were a problem, and that maybe it would be possible to come up with a language description for those who wanted to understand the information, but couldn’t see the graph.


When the data points for this graph:


Are passed through wordgraph, it generates the following description:

“This graph shows the relationship between time and metric. The x axis, time, ranges from 04 Aug 2014 02:05:10 to 04 Aug 2014 02:20:00. The y axis, metric, ranges from 0 to 37.3. It contains 4 series.”

—Wordgraph, 5 August 2014 (some obvious room for improvement)


Maintainer: Tennessee Leeuwenburg @tleeuwenburg

Code Contributors (in order of first contribution):

  1. Tennessee Leeuwenburg
  2. Aaron Iles
  3. Nick Farrel
  4. Ryan Stuart
  5. Rebecca Dengate

Basic Usage

A core library takes an abstract graph description and produces English-language text.

The basic usage is:

> import wordgraph
> text = wordgraph.describe(data, source_type)