Code Monkey home page Code Monkey logo

mos5.5-dataviz-1's Introduction

Interactive Data Visualization (ECL MOS 5.5)

Romain Vuillemot, LIRS/MI Γ‰cole Centrale de Lyon, Site Web, Twitter.

Contact or questions: [email protected]

Reading

Interactive Data Visualization for the Web
by Scott Murray

Grading

  • 30% Final exam
  • 60% Final projects
  • 10% Homeworks/Submitted assignments (pass/fail policy)
  • 10% Bonus (class participation, best homeworks/assignments)

Lecture 1 - Introduction to Data Visualization

Friday 12/01/2018 13:30-15:30

  • Overview: Class organization, learning paths (slides)
  • Basics of Data Visualization: Perception, cognition, Visual mapping, Standard charts (slides)
  • Authoring visualizations: Libraries, Tools, Tableau Software (slides)

Tutorial 1 - Tableau Software

Friday 12/01/2018 15:45-17:45

Tableau Tutorial

  1. The goal is to have a first experience with Tableau and build standard charts using a simple dataset.
  2. Download and install Tableau Public (Free) on your machine
  3. (Simple) alternative to Tableau: Polestar

Iris flowers visualization

  1. Download the iris.csv and load it in Tableau; convert data types (if needed)
  2. Plot a scatterplot with X:sepal_length, Y:sepal_width, color:species and a trend line
  3. Save as a tab and save the workbook

Elections map

  1. Download the us-elections-history.csv` and load it in Tableau; convert data types (if needed)
  2. Plot a grid plot with Year as columns, State as rows and State Winner as color/marks.
  3. Save as a tab
  4. Plot a geo-map with colors winning party in 2012 Latitude (generated) et Longitude (generated), with State as shapes and color ATTR([State Winner])
  5. Save as a tab and save the workbook

Stock markets visualizations

  1. Download the stocks.csv and load it in Tableau; convert data types (if needed)
  2. Plot a multiple line chart over time, for all stocks in a different color, grouped by company
  3. Plot a grouped bar chart (companies as categories, grouped by year or by companies)
  4. Your own chart!
  5. Save as a tab and save the workbook

Bonus

  • For each previous dataset, provide an alternative visualization.
  • Find a more complex stock dataset with OHLC attributes (Open, High, Low, Close) and visualize intra-day variations
  • Find more time points and companies and re-produce the previous charts; adapt accordingly.
  • Use other markets data (e.g. BitCoin)
  • Use other tools, e.g. Vega Lite to visualize the above or your dataset

πŸ“… For next class (19/01)

  • Submit your Tableau workbook in this document,
  • Reading: Chapter 1. Introduction , Chapter 2. Introducing D3 and Chapter 3. Technology Fundamentals
  • Create a GitHub account and learn how to use it (bottom of the page)
  • Pick a chart type in this document, and find online:
    • Historical examples, recent and/or most famous ones for your category
    • Comments: what you like or not in it (design critic like in class), possible visual variations, different names, different look and feel, tools used to create it, .. Minimul 10 charts with detailed analysis, but you are welcome to add more examples.
    • Document your sources; always give credits (e.g. link to orginal image, article and authors)
    • Create a github page and write your summary as a Readme.md document, put images in a /img/ folder. Add classic elements in your summary such as your name, etc.. and also the chart type you picked.
    • Add the link to your summary in this document before Thursday 18/01/2018 12h00 Lyon Time

Lecture 2 - Introduction to D3.js

Friday 19/01/2018 13:30-15:30

  • Introduction to projects (slides)
  • Feedback/discussion from homework #1
  • Advanced data visualization concepts: Animation, Interaction, Multiple Views (slides)
  • D3.js: Principles, Codes, Web Development (slides)

Tutorial 2: D3.js

Friday 19/01/2018 16:15-18:15

We will use Block Builder http://blockbuilder.org/ (requires a GitHub account to save code, but no local install)

πŸ“… For next class (26/01)

  • Build a scatterplot using the iris.csv dataset and Block Builder (submission form) using a different symbol for each species; and a regression line. Submit before Friday 26/01/2018 13h59 Lyon Time (solution)
  • BONUS: build a scatterplot matrix
  • BONUS: add a histogram in the matrix diagonal showing distribution for each dimension
  • BONUS: add interaction: brushing on scatterplot, selection on histogram (or brushing too)
  • Reading: Chapter 4. Setup, Chapter 5. Data, Chapter 6. Drawing with Data, Chapter 7. Scales.
  • Project teams, datasets and projects descriptions proposal in this document
    • Project ID (e.g. TennisVis) + link to GitHub repository (using this ID)
    • Project full name, project description and members names
    • Data you plan to use, does it exist, if not how you collect it?
    • 3-5 questions you want to answer using your project
    • Wait for validation by instructor before any coding

Lecture 3 - Advanced D3.js and Design Methods

Friday 26/01/2018 13:30-15:30

  • Advanced D3.js: complex layouts, coordinated chart, animated transitions (slides)

  • Sketching, Rapid Prototyping, Development cycles (slides) and using the Five Design Sheet methodology

Tutorial 3: Design & more D3.js

Friday 26/01/2018 16:15-18:15

πŸ“… For next class (02/02)

  • Add another transition to the grouped/bar chart example. Choose which one you think is relevant (e.g. better staggering, a third chart, use of color/opacity, etc.). Submit it as block making sure it is a secrete block! (submission link) Submit before Friday 26/01/2018 13h59 Lyon Time (solution)

  • Each team submits their project design proposition (submission link)

    • Create a repository with projet ID
    • README.MD file that is a summary of the project
    • PROPOSAL.MD that is the project proposal that includes pictures img/ of the 5-design sheets
    • DATA.MD that contains the list of data sources, samples of datasets, data model, data pre-processing methods data/
    • index.html that is a hello world of your project
    • Add URL to the hello world in this document
  • Reading: Chapter 8. Axes, Chapter 9. Updates, Transitions, and Motion , Chapter 10. Interactivity, Chapter 11. Layouts.

Lecture 4 - Advanced Design and Reseach

Friday 02/02/2018 13:30-15:30

Tutorial (1/2): Advanced layouts in D3.js

Friday 02/02/2018 16:15-18:15

πŸ“… For next class (09/02)

  • Submit the link to the GitHub repository you have created during the class and which contains your geo-map (submission link). Link should look like this one.
  • Each project does a peer review of another groups' projects proposal (pick the one below you in this document) and write your review as a REVIEW.MD file in your project repository before Friday 09/02/2018 12h00 Lyon Time
  • Each project write details on their dataset in their repository:
    • DATA.MD lists all the datasources and details (e.g. volume of the data, how the dataset was created, copyright, etc.)
    • PROCESSING.MD describes the cleaning and preparation process to clean and shape your date
    • create a index.html that loads in d3 (e.g. d3.csv, ..) a first dataset (or sample of the dataset or an exepected dataset you create yourself). This will push you to have a first

Tutorial (2/2): Advanced layouts in D3.js

Friday 09/02/2018 13:30-15:30

  • Brief intro to D3 and Canvas (example)

  • Class exercises: fork this repository and focus on the sub-folder tp-node-links and the file index.html. The current version separates nodes in three random groups and highlight closest node to the mouse pointer. Add the following:

    • Group nodes by their group attribute (d.group).
    • Organize groups as a 2D grid (example) by adding a y scale.
    • Link nodes nodes using <line> element (example) by adding data to the graph.links array. Look at the links drawing function for the expected data structure.
    • Highlight links connected to the current node, and the target nodes.
    • Adjust the d3-force parameters (documentation) (example).
    • BONUS
      • Load The Miserable dataset instead of fake data
      • Group nodes by binning them using the d3.histogram() function
  • Feedback on projets proposals & reviews

Projects (1/5)

Friday 09/02/2018 16:15-18:15

  • Work on projects

πŸ“… For next class (16/02)

Projects (2/5)

Friday 16/02/2018 13:30-15:30

  • Work on projects

Projects (3/5)

Friday 16/02/2018 16:15-18:15

  • Work on projects

πŸ“… For next class (02/03)

  • URL of final project
  • Project technical and design report

Projects (4/5): Pesentations & demos

Friday 02/03/2018 13:30-15:30

Projects (5/5): Presentations & demos

Friday 02/03/2018 16:15-18:15

Online resources

Tableau

D3.js

SVG

Git/GitHub

JavaScript

Data Visualization Classes

Blogs

Graphics/Journals

Misc

mos5.5-dataviz-1's People

Contributors

romsson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.