To quote from the first chapter:
The process of understanding data begins with a set of numbers and a question. The following steps form a path to the answer:
Acquire: Obtain the data, whether from a file on a disk or a source over a network.
Parse: Provide some structure for the data’s meaning, and order it into categories.
Filter: Remove all but the data of interest.
Mine: Apply methods from statistics or data mining as a way to discern patterns or place the data in mathematical context.
Represent: Choose a basic visual model, such as a bar graph, list, or tree.
Refine: Improve the basic representation to make it clearer and more visually engaging.
Interact: Add methods for manipulating the data or controlling what features are visible.
This book achieves 2 goals: 1) it is an outstanding to the Processing programming language, and 2) it shows a wide variety of techniques for the graphical display of data.
Processing is basically a dialect of Java, with an extensive graphics and numerical API, and a very nice little development environment. It is designed for designers and analysts rather than programmers. It integrates easily with Java, and can produce applets to run in browsers, or executables to run on desktop PCs (Mac, PC, Linux). Processing is open source software, and is very easy to learn (easier, I guess, if you already program in Java).
This is an excellent book with a good selection of fully worked examples, and links to numerous resources, including places where you can obtain data (and maps on which to display the data, where applicable).