Chapter 6. Files, Fetches, Formats: Getting Data In and Out

Unless you define your data inside your script (as in Example 5-1, for example) or have your script generate it (as in Examples 4-6 and 4-7), you will have to get the data into your script somehow. This involves two separate steps: fetching the data from its location (which may be the local filesystem, a remote server, or another resource, such as a web service) and parsing it into a usable data structure. If you want to create text labels from data, you will need to do the opposite and format data for textual output. This chapter describes the facilities D3 offers to help with these tasks. Discussions of file formats are usually a drag—I’ll try to make it brief.

Fetching a File

The JavaScript Fetch API is a modern replacement for the venerable XMLHttpRequest object—the technology that first enabled web pages to exchange data with servers asynchronously, thus giving rise to AJAX and the entire contemporary, “dynamic” web experience. D3 wraps this Fetch API, replicates some of its methods, and adds functionality that is convenient when working with web pages or tabular data. Some artifacts of the underlying API remain visible through D3; for this reason, it is frequently worth consulting the Fetch API reference as well.

Table 6-1 lists all functions provided by D3 that can retrieve (“fetch”) a resource (such as a file) from a URL. Of course the resource need not be a file—it can be anything, as long ...

Get D3 for the Impatient now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.