Summary
| Mentor(s): | Dr. Mike Murphy |
|---|---|
| Project Type: | Software development; scientific visualization |
| Technologies: | Python, HTML, SVG, Git |
| Undergraduate Credit: | CSCI 399, CSCI 490 |
| Graduate Credit: | IST 659, IST 799 (Thesis) |
| Locality: | Main campus and/or remote |
Purpose
In scientific and engineering communications, graphs and charts are used to summarize numerical data to make them easier to understand. When publishing information, it is common to use one tool (such as Excel) to generate plots while using another to write the text. In the case of an HTML website, the graph or plot is typically saved as an image file. Most of the time, the image file does not scale particularly well if the site is viewed at a high zoom level (such as might be done on a projector) or on a small device (like a phone).
By extending TealSite to use the excellent Matplotlib package, we could automate the generation of graphs and plots using Scalable Vector Graphics (SVG) output. SVG scales cleanly across devices and display sizes, making the results easier to read in a variety of different situations. Furthermore, we could add a custom HTML tag to trigger generation of the graph or plot itself, saving the author a step when creating a website. It is even possible to generate a link that would allow someone else to download the raw data used to create the plot.
Scope of Work
Integrate Matplotlib as an optional dependency into the existing TealSite code. Add one or more custom HTML tags, which are processed by the Python code, to allow an author to generate common plots directly from data files. Incorporate the resulting SVG images into the output in the form of a figure with a caption. Include alternate text for the image.
At the thesis level, the scope expands to include the addition of ARIA labels and other information to make the resulting plots more accessible for users of screen reader technology.