Romain Vuillemot, LIRIS, École Centrale de Lyon/Département Math-Info, http://romain.vuillemot.net/, @romsson.
Contact or questions: romain.vuillemot@ec-lyon.fr
Interactive Data Visualization for the Web by Scott Murray |
Other books
- Visualization Analysis and Design by Tamara Munzner
- Design for Information by Isabel Meirelles
- Making Data Visual: A Practical Guide to Using Visualization for Insight by Danyel Fisher & Miriah Meyer
More details/resources check out MOS 5.5 Interactive Data Visualization
- Mini-project
All homeworks/assignements/reports should be submitted using this document.
Monday 9 sept. 2019 morning
- Overview: Class organization (slides)
- Basics of Data Visualization: Perception, cognition, Visual mapping, Standard charts (slides)
- Authoring visualizations: Libraries, Tools, Tableau Software (slides)
- Standard chart + Time/Geo charts (slides)
Monday 9 sept. 2019 morning
Tableau Tutorial
- The goal is to have a first experience with Tableau and build standard charts using a simple dataset.
- Download and install Tableau Public (Free) on your machine
- (Simple) alternative to Tableau: Polestar
Iris flowers visualization
- Download the
iris.csv
and load it in Tableau; convert data types (if needed) - Plot a scatterplot with X:sepal_length, Y:sepal_width, color:species and a trend line
- Save as a tab and save the workbook
Elections map
- Download the
us-elections-history.csv
and load it in Tableau; convert data types (if needed) - Plot a grid plot with
Year
as columns,State
as rows andState Winner
as color/marks. - Save as a tab
- Plot a geo-map with colors winning party in 2012
Latitude (generated)
etLongitude (generated)
, withState
as shapes and colorATTR([State Winner])
- Save as a tab and save the workbook
🏆 Extra
Stock markets visualizations
- Download the
stocks.csv
and load it in Tableau; convert data types (if needed) - Plot a multiple line chart over time, for all stocks in a different color, grouped by company
- Plot a grouped bar chart (companies as categories, grouped by year or by companies)
- Your own chart!
- Save as a tab and save the workbook
Global Superstore Dataset
- Download the
Global-Superstore-Orders-2016.xlsx
and load it in Tableau; join datasets (if needed) - Find an interesting story / selection with this dataset
- Create a Dashboard and explain your story/finding
- BONUS: Add storytelling (Tableau Feature)
- BONUS: Join other datasets (e.g. People, ..)
📖 Readings
-
Interactive Data Visualization for the Web Chapter 1. Introduction , Chapter 2. Introducing D3 and Chapter 3. Technology Fundamentals
-
Get familiar with JavaScript
-
Solution for Super Store example (example)
Monday 9 sept. 2019 morning/afternoon
- Advanced data visualization concepts: Animation, Interaction, Multiple Views (slides)
- D3.js: Principles, Codes, Web Development (slides)
Monday 9 sept. 2019 afternoon
- Cheatsheet for D3
- Let's build a bar chart using SVG only (without D3)
- Let's build a bar chart with D3 without data binding
- Let's build a bar chart with D3 using data binding
- Let's build an interactive bar chart using a dataset
- Let's build an interactive line chart using a dataset
- Result from class
🏆 Extra
-
Extend the line chart using the
stocks.csv
where each line is a different symbol (and a different color) -
BONUS: add a vertical axis
-
BONUS: rank chart and a toggle button
-
BONNUS: multiple scatterplot
-
Reading: Chapter 4. Setup, Chapter 5. Data, Chapter 6. Drawing with Data, Chapter 7. Scales.
📅 For next class (10/09): pick a dataset
- Pick an interesting problem (e.g. what is the student progression in class over time? how climate changes over years? which soccer teams performs the best in Ligue 1?)
- Find the corresponding dataset (or build it yourself) but should remain fairly small (~50 rows and 3 to 4 columns) with at least a few quantitative values
- Find related questions to this problem that can be answered by visualizing your dataset
- Add it to this document
Tuesday 10 september 2019 morning
-
Temporal data and d3.nest
-
Stock market dataset
stocks.csv
-
Stock line chart (another one using d3.nest)
-
Advanced D3.js: gouped bar chart (slides)
Discussion on datasets and questions
-
Sketching, Rapid Prototyping, Development cycles (slides)
-
Advanced layouts (slides)
-
Case studies (slides)
-
The Five Design Sheet methodology
-
Read principles of the Five design sheets methodology
-
Apply it to your project (paper and pen!) by sketching the organization of the page and the visualizations.
NOTE: you may need to perform a data analysis process of your project dataset (or expected dataset) using D3 or Tableau: load data from an external file (CSV, JSON), create a first chart characterising the distribution of the dataset (e.g. time series, bar chart, ), scatterplot. Add the link to your analysis in the class document.
Wednesday 17 september 2019 morning
- Complete building your visualization project
- Add it in this document.
- Feedback and presentation
- 🎉
🏆 Extra
- Grouped bar chart chart using the
stocks.csv
dataset andd3.nest
-
BONUS: Stacked bar chart
-
BONUS: Transition between stacked and grouped (see D3 show reel)
-
Reading: Chapter 8. Axes, Chapter 9. Updates, Transitions, and Motion , Chapter 10. Interactivity, Chapter 11. Layouts.
-
Solution stock grouped bar chart and stacked bar chart) see slides
-
Introduction to data cleaning tools and methods
-
Modern web development tools: local server, package managers (slides)
-
Tutorial: build a geo-map
-
Graphs, Networks and Tree visualizations (slides)
-
Node link diagram based on force layout (see documentation and parameters playground)
BONUS: multiple foci and solution
Tableau
D3.js
- Gallery of examples
- Code examples and references for the course "D3.js in Motion"
- Relearning D3.js
- D3 in depth
- Awesome D3
- http://vadim.ogievetsky.com/IntroD3/#1
- https://github.com/arnicas/d3-faq
- Changes in D3 4.0
- D3 V4 - What's new?
- Wide vs. Long Data in D3
- D3 Cheatsheet
SVG
Git/GitHub
- Git and GitHub (e.g. Try GitHub)
- https://agripongit.vincenttunru.com/
- https://onlywei.github.io/explain-git-with-d3/#freeplay
- https://learngitbranching.js.org/
JavaScript
- Mozilla Developers Network's Javascript reference
- Learn JavaScript (e.g. JS learnxinyminutes, learnjsdata)
- JSON (e.g. JS learnxinyminutes)
- Eloquent JavaScript
- (Notes on Douglas Crockford's Javascript the Good Parts 🚀 )[https://github.com/iteles/Javascript-the-Good-Parts-notes]
Data Visualization Classes
- http://dataviz.media.mit.edu/
- Visual Analytics Ecole Centrale Paris
- Dataviz resources http://www.cs.ubc.ca/group/infovis/resources.shtml
- https://curran.github.io/dataviz-course-archive/
- https://github.com/Ecohen4/data-viz
- https://github.com/arnicas/interactive-vis-course
- https://docs.google.com/spreadsheets/d/13H77ewqswroMtshWjDZkmcAEvFeRmEjrr-w9E2WHU-E/edit#gid=989980390
Blogs
Graphics/Journals
Color
Misc