Information visualization is a key part of the notebooks. We want to bring visual thinking, interactivity, and resources so vast they require visualizatins, to the K-12 students and teachers.
Use visualizations as external memory
Increase our problem solving capacity, beyond internal/mental processes
Connect to external data sources, extend our senses
Make sense of it with a representational framework
Package results for communication or action
Complex loops of interactions between data, visualization, and cognition
Can use imagination and exploration to leverage visualization and discover new ideas (use external world to increase our ability to think)
Increasing the memory and processing resources available to users
Reducing the search for information
Using visual representations to enhance the detection of patterns
Enabling perceptual inference operations
Using perceptual attention mechanisms for monitoring
Encoding information in a manipulable medium
Primarily the notebooks use remote resources from the hub to run their code but sometimes use the user's local resources. Try to run most of the heavy processing in Python and then pass it to the visualization library of your choice.
Be sure to uphold accessibility standards! This is especially important in the context of this project, we do not want any children to be unnecessarily excluded or disadvantaged.
Generally avoid putting too much clutter on your graph, the perceptual system has limited capacity. If any aspects of your visualization move actively, you should expect those to distract from the rest of your visualization.
If you are creating visualizations with small details the display limits will be a factor. Many schools use old low resolution screens, don't assume it will look the same way it does on your expensive work computer. Avoid fine grained details.
Not all displays are calibrated correctly, if you use many colours which have to be discriminated from each other, be sure to use color brewer to select your colour scheme.
Please avoid trying to encode information as 3D volume or curvature, these are difficult for people to process.
Special note: Although relational data (represented by graphs, networks, trees) is a subset of the above three, it requires different visualization strategies.
The strategies at the top of the lists have been shown to be the most effective for visualizing that type of data. Strategies near the bottom of the lists should be avoided. For example hue is great to use for categorical data, shape is less ideal.
Disclaimer: these are generalizations, use your own discretion. There are many situations where you should ignore these guidelines.
Avoid 3D if a 2D solution exists.
Design Mantra for Interactivity "Overview first, zoom and filter, then details on demand" - Schneiderman (1996)
Text labels should be useful (can be crucial), not cluttering the design.
Avoid using spaghetti plots where many lines are layered on top of each other.
Uphold accessibility standards!
Informative. What are you trying to communicate with your datavis and is this the best way to communicate it? What information do you want to convey, how can you make it clearest to the user? Do any aspects of your datavis distract from the information you are trying to convey?
Representative. Is your data qualitative or quantitative? Discrete or continuous? Does your visualization match the data type?
Intuitive. If someone looked at my datavis, would they immediately understand it?
Use Color brewer to select your color schemes.
Basics you should know.
Further reading on infovis techniques.
Perceptual edge is a treasure trove of infovis.
A gallery of concept visualizations.
Callysto Shorts Jupyter Book of commonly used code in our notebooks.
P.S. If you would like to learn more about information visualization, reach out to India (firstname.lastname@example.org), she works in an infovis lab. Special thanks to Madison Elliott for providing many of these infovis outlines.