Data Analysis and Visualisation Courses
Data Visualisation with D3
Duration: 4 Days
Course Background
Interactive data visualizations accessible via a web browser are important in many web based applications. Using D3 to provide a visualisation mechanism for cloud based data is a very useful skill to have, especially when combined with use of frameworks such as e.g. Django for publishing the “visualised information” The course covers the core building blocks of D3.js, as well as best practices and patterns for creating visualizations. It is a hands on course and covers key topics which include
- Creating and Placing visual elements and interfacing with the DOM
- Getting data from the server
- Rules for designing effective data visualisation presentations
- Advanced techniques for working with SVG
- The design and utilisation of reusable charts
Course Prerequisites and Target Audience
This course is aimed at moderately experienced JavaScript developers, Ideally attendees should have a reasonable knowledge of JavaScript programming and of working with DOM.
Course Outline
- Overview of HTML, CSS, JavaScript, DOM and SVG
- Intensive overview of JavaScript
- JavaScript data types
- JavaScript functions
- JSON
- JavaScript callback functions
- Object Oriented features of JavaScript
- Overview of D3 building blocks
- Setup, Select, Data, Enter, Append
- Selections
- Arrays
- Data operator
- Adding DOM and SVG elements
- D3 data handling, data binding and data display
- Update Selection
- Request
- Binding Data to DOM Elements
- Using Data Bound to DOM Elements
- Scales and Axes
- JS dates and times and Time Scales
- Ordinal Scales
- D3 and SVG
- The SVG Coordinate Space
- SVG shapes and SVG paths
- Creating SVG elements from data
- Using SVG group elements
- D3 Charts
- Line charts and multiline charts
- Scatterplot charts
- Bar charts - basic, grouped and stacked
- Pie charts and donut charts
- Area charts
- The art of data visualisation
- Effective use of colour
- Effective use of labels and axes
- Hierarchical data visualisation techniques
- Strategies for Effective server side application design
- Apache + MySQL + PHP + D3 case study
- Django + MySQL + D3 case study
- Hadoop + D3 case study