|
Visualizing Data
Enormous quantities of data go unused or underused today,
simply because people can't visualize the quantities and
relationships in it. Using a downloadable programming
environment developed by the author, Visualizing Data
demonstrates methods for representing data accurately on the
Web and elsewhere, complete with user interaction,
animation,
and more.
How do the 3.1 billion A, C, G and T letters of the human
genome compare to those of a chimp or a mouse? What do the
paths that millions of visitors take through a web site look
like? With Visualizing Data, you learn how to answer complex
questions like these with thoroughly interactive displays.
We're not talking about cookie-cutter charts and graphs.
This book teaches you how to design entire interfaces around
large, complex data sets with the help of a powerful new
design and prototyping tool called "Processing".
Used by many researchers and companies to convey specific
data in a clear and understandable manner, the Processing
beta is available free. With this tool and Visualizing Data
as a guide, you'll learn basic visualization principles, how
to choose the right kind of display for your purposes, and
how to provide interactive features that will bring users to
your site over and over. This book teaches you:
The seven stages of visualizing data -- acquire, parse,
filter, mine, represent, refine, and interact
How all data problems begin with a question and end with a
narrative construct that provides a clear answer without
extraneous details
Several example projects with the code to make them work
Positive and negative points of each representation
discussed. The focus is on customization so that each one
best suits what you want to convey about your data set
The book does not provide ready-made "visualizations" that
can be plugged into any data set. Instead, with chapters
divided by types of data rather than types of display,
you'll learn how each visualization conveys the unique
properties of the data it represents -- why the data was
collected, what's interesting about it, and what stories it
can tell. Visualizing Data teaches you how to answer
questions, not simply display information.
CONTENTS:
Preface
1. The Seven Stages of Visualizing Data
Why Data Display Requires Planning
An Example
Iteration and Combination
Principles
Onward
2. Getting Started with Processing
Sketching with Processing
Exporting and Distributing Your Work
Examples and Reference
Functions
Sketching and Scripting
Ready?
3. Mapping
Drawing a Map
Locations on a Map
Data on a Map
Using Your Own Data
Next Steps
4. Time Series
Milk, Tea, and Coffee (Acquire and Parse)
Cleaning the Table (Filter and Mine)
A Simple Plot (Represent and Refine)
Labeling the Current Data Set (Refine and Interact)
Drawing Axis Labels (Refine)
Choosing a Proper Representation (Represent and Refine)
Using Rollovers to Highlight Points (Interact)
Ways to Connect Points (Refine)
Text Labels As Tabbed Panes (Interact)
Interpolation Between Data Sets (Interact)
End of the Series
5. Connections and Correlations
Changing Data Sources
Problem Statement
Preprocessing
Using the Preprocessed Data (Acquire, Parse, Filter, Mine)
Displaying the Results (Represent)
Returning to the Question (Refine)
Sophisticated Sorting: Using Salary As a Tiebreaker (Mine)
Moving to Multiple Days (Interact)
Smoothing Out the Interaction (Refine)
Deployment Considerations (Acquire, Parse, Filter)
6. Scatterplot Maps
Preprocessing
Loading the Data (Acquire and Parse)
Drawing a Scatterplot of Zip Codes (Mine and Represent)
Highlighting Points While Typing (Refine and Interact)
Show the Currently Selected Point (Refine)
Progressively Dimming and Brightening Points (Refine)
Zooming In (Interact)
Changing How Points Are Drawn When Zooming (Refine)
Deployment Issues (Acquire and Refine)
Next Steps
7. Trees, Hierarchies, and Recursion
Using Recursion to Build a Directory Tree
Using a Queue to Load Asynchronously (Interact)
An Introduction to Treemaps
Which Files Are Using the Most Space?
Viewing Folder Contents (Interact)
Improving the Treemap Display (Refine)
Flying Through Files (Interact)
Next Steps
8. Networks and Graphs
Simple Graph Demo
A More Complicated Graph
Approaching Network Problems
Advanced Graph Example
Mining Additional Information
9. Acquiring Data
Where to Find Data
Tools for Acquiring Data from the Internet
Locating Files for Use with Processing
Loading Text Data
Dealing with Files and Folders
Listing Files in a Folder
Asynchronous Image Downloads
Using openStream( ) As a Bridge to Java
Dealing with Byte Arrays
Advanced Web Techniques
Using a Database
Dealing with a Large Number of Files
10. Parsing Data
Levels of Effort
Tools for Gathering Clues
Text Is Best
Text Markup Languages
Regular Expressions (regexps)
Grammars and BNF Notation
Compressed Data
Vectors and Geometry
Binary Data Formats
Advanced Detective Work
11. Integrating Processing with Java
Programming Modes
Additional Source Files (Tabs)
The Preprocessor
API Structure
Embedding PApplet into Java Applications
Using Java Code in a Processing Sketch
Using Libraries
Building with the Source for processing.core
Bibliography
Index
|