Learning Responsive Data Visualization
上QQ阅读APP看书,第一时间看更新

Chapter 2. Creating a Bar Chart Using D3.js and SVG

In this chapter, you will learn how to create a bar chart, including proper axis and scales—this requires some basic knowledge in D3, which will also be covered here. You will learn the following:

  • How to select and transform DOM elements using D3
  • How to use D3 with SVG elements
  • How to use a data-driven approach to create visualizations
  • How to use data binding and data joins
  • How to use dynamic properties
  • How to draw lines, areas, and arcs
  • How to use scales
  • How to draw axis
  • How to create a bar chart

First, we will start with some simple DOM selections and transformations of HTML elements and continue creating SVG elements using D3. We will also see how to bind data to the DOM and apply data-driven transformations using data joins and dynamic properties.

In the second section, we will see one of the built-in SVG abstractions in D3—the so-called generator functions—especially line, area, and arc generators. These abstractions facilitate working with shapes enormously compared to modifying the d attribute of SVG path elements manually.

In the next section, you will learn how to create an axis with axis generators. We will have to scale data points in our dataset along the axis; thus, we will also look into scales. You will learn about linear scales, ordinal scales for non-numeric data, and time scales for time series data.

In the last section, we will apply all the gathered knowledge and create a simple bar chart containing bars (of course), axis, scales, and labels.