Acknowledgments - Altair is developed by Jake Vanderplas and Brian Granger in close collaboration with the UW Interactive Data Lab - Much of this tutorial is from Jake Vanderplas’ PyCon 2018 tutorial - Special thanks to the Altair Community on GitHub.
Building Blocks of Visualization 1. Data 2. Transformations 3. Marks 4. Encoding - mapping from fields to mark properties 5. Scale - functions that map data to visual scales 6. Guides - visualizations of scales (axes, legends, etc.)
Strengths: - Designed like MatLab: switching was easy - Many rendering backends - Can reproduce just about any plot (with a bit of effort) - Well-tested, standard tool for over a decade Weaknesses: - API is imperative & often overly verbose - Poor support for web/interactive graphics - Often slow for large & complicated data
Tidy data: i.e. rows are samples, columns are features “ I want to scatter petal length vs. sepal length, and color by species” Example: Statistical Data
Toward a well-motivated Declarative Visualization Imperative - Specify How something should be done. - Specification & Execution intertwined. - “Put a red circle here and a blue circle here” Declarative - Specify What should be done. - Separates Specification from Execution - “Map to a position, and to a color” Declarative visualizations lets you think about the data and relationships, rather than incidental details
Toward a well-motivated Declarative Visualization Imperative - Specify How something should be done. - Specification & Execution intertwined. - “Put a red circle here and a blue circle here” Declarative - Specify What should be done. - Separates Specification from Execution - “Map to a position, and to a color” Declarative visualizations lets you think about the data and relationships, rather than incidental details
Key: Visualization concepts should map directly to visualization implementation Check out Jeff Heer’s class on data visualization https://courses.cs.washington.edu/courses/cse442/17au/