Over the past few weeks, you have learned and employed a variety of types, tools, and techniques. For example, you have written programs that analyze texts to determine characteristics of those texts (often using regular expressions) and you have written programs that make images. You have also learned recursion, testing, documentation, style, and more.
In this project, you will employ these techniques to develop something others might use to quickly understand some characterisics of a text.
Although the tools we have created to analyze texts produce results, the results are only in the form of numbers and words. However, some people seem to better undestand information provided in visual form. (Some people find it more difficult to understand information provided in visual form; for example, those with visual impairments will be better off with textual or numeric summaries. Ideally, we would support multiple kinds of users.)
Write a program that reads an arbitrary text file (e.g., one of the texts from Project Gutenberg) and produces a useful visualization of some charactersitics of that text. You may choose what you want to visualize and how you want to visualize it.
Your goal is that the visualization provide useful information about texts in a way that others might easily understand. And, as noted, it should work with any reasonable text file.
Once you’ve written the program, use it to comparatively “analyze” two texts of your choice.
Please spend between three and four hours on this project.
You must employ the following tools in your project in non-trivial ways.
As always, you should document your procedures and follow our conventions for style.
text-visualization.rkt(save-image img "analysis.png").