Fall 2025
This pre-lab and lab serve to give hands-on experience with visualizations in matplotlib and seaborn.
Details for submission and development environment are the same as for Lab 1, except that both the lab and pre-lab are to be done individually; please see the Lab 1 handout if you need a refresher. As a reminder, if you choose to use Google Colab or any other alternative notebook hosting service, you must disable any built-in generative AI features.
Submit your Pre-Lab answers as a PDF to the Pre-Lab 3 assignment on Canvas. Submit your lab solutions as lab3.ipynb to the Lab 3 assignment on Canvas.
For this assignment, both the pre-lab and lab are to be done individually. As a reminder of the collaboration policy on the syllabus, discussing ideas and approaches with your classmates away from computers is acceptable and encouraged; sharing or viewing code is prohibited.
In an editor of your choice that is capable of exporting to pdf, please provide your responses to the following.
For each of the six principles of good visual design, search online and find one good and one bad example of the principle.
The six principles are:
Maximize the data-ink ratio
Minimize the “Lie" factor
Minimize “chartjunk"
Use scales and labeling well
Use color and shading well
Use repetition well
You can search for good or bad visualizations via search engines.
These are some notable collections of bad visualizations:
What to include in your response:
Download lab3.ipynb, upload it to JupyterHub, and complete the lab by following the instructions in the notebook. Any work not completed during lab time must be completed by the deadline.
Thanks to Brian Hutchinson and Aaron Tuor for iterating on prior versions of this lab.