-
- Weitere Informationen zu diesem Buch:
Inhaltsverzeichnis | Index | Probekapitel | Kolophon | Rezensionen |
- Weitere Informationen zu diesem Buch:
Exploring and Explaining Data with the Processing Environment
First Edition Januar 2008
ISBN 978-0-596-51455-6
Weitere Informationen zu diesem Buch
Inhaltsverzeichnis |
Index |
Probekapitel |
Kolophon |
Rezensionen |
Index
[ Symbols ], [ A ], [ B ], [ C ], [ D ], [ E ], [ F ], [ G ], [ H ], [ I ], [ J ], [ K ], [ L ], [ M ], [ N ], [ O ], [ P ], [ Q ], [ R ], [ S ], [ T ], [ U ], [ V ], [ W ], [ X ], [ Z ],
Symbols[ Top ]
* (asterisk), zero or more matches in regular expressions, 104
\ (backslash)
escaping characters in regular expressions, 103
file paths on Windows, 186
: (colon) in regular expressions, 103
, (comma) in regular expressions, 104
{ (curly braces), data blocks in JSON, 101, 104
. (dot) files, 238
- (en dash), 126
# (hash marks), 23
% (modulo) operator, 63
> and >> (output) operators, 298
( ) (parentheses), grouping in regular expressions, 103
. (period)
matching anything in regular expressions, 104
Unix system . (single dot) and .. (double dot) directory entries, 183
| (pipe) command, 298
+ (plus sign), in regular expression matching, 103
' (quotes, single), in regular expressions, 104
/ (slash)
// in comments, 74
URLs, 100
[ ] (square brackets), denoting regular expression character class, 103
~ (tilde), Unix home directory, 186
A[ Top ]
absolute paths, 184, 269
access_log file (Apache server), 245
acquireStandings( ) method, 116
breaking date stamps into component parts, 131
acquiring data, 5, 264-295
advanced web techniques, 284-288
forms, 284
pretending to be a web browser, 286-288
asynchronous image downloads, 281-284
beverage consumption statistics (USDA), 55
byte arrays, 284
changing data sources, 94
collecting data outpaces its use, 2
databases, 288-294
efficient retrieval of baseball standings for the season, 133-144
ethics of, 266
files and folders, 276-280
large numbers of files, 295
listing files in a folder, 277-280
numbered file sequences, 280
files for use with Processing, 268
limiting amount of data, 17
loading data asynchronously using Thread class, 178-180
loading text data, 270-276
parsing files during acquisition, 276
openStream( ) method as a bridge to Java, 284
acquiring data (continued)
program acquiring data from MLB.com, 104
reading the directory structure, 194-198
resources for further information, 345
salary data (baseball project), 109
team logos (baseball project), 107-109
text as input (Huckleberry Finn), 229
tools for Internet data, 266
updating values over time, 46-48
where to find data, 265
win/loss data (baseball), 96-100, 115
zip code listing, U.S. Census Bureau, 7, 145
addEdge( ) method, 222
smarter addition of edges, 232
addFolder( ) method, 186
addNode( ) method
graphing web site visits (example), 252
GraphLayout (example), 223
addVisit( ) method, 255
Albers Equal-Area Conic projection, 150
ALL CAPS listings of data, 147
alpha transparency (or alpha), 41
Amazon.com, 265
Anemone class, 248
drawConnection( ) method, 257
animation
date selector bar, 132
frame rate, 51, 133
refining transition between dates, 132
(see also interacting with data)
Apache project
Batik SVG library, 297
Derby/Java DB, 293
HttpClient, 286
Apache server logfiles, 245-247
configuring Apache for combined logfiles, 246
API (Processing Core API), 19-30, 336-338
applets
exporting programs as, 23
loading from URLs and, 268
ArrayList class, 251
arrays
converting text file to, 114
data from multiple dates, 127
dateStamp and datePretty, 129
of edges, 223
nodes array, 226
ranked array of longs, 207
resizing, 187
season array, 130
standings_rs_ale array (example), 100
of strings, 26
teamCodes and teamNames arrays (example), 112
typedChars and typedCount, 159
zoom levels, 174
arrow keys, using to switch between dates, 131
ascent (fonts), 63
asynchronous data loading using Thread class, 178-180
audience, targeting, 17
AutoCAD DXF, 323
auto-unboxing, 251
B[ Top ]
background color, 21
background( ) command, 21
Backus Naur Form (BNF), 316
Bacon, Kevin, 242
bar charts
libraries for plotting, 93
representing discrete values, 82
baseball salary project, 95-144
deployment considerations, 133-144
displaying the results, 118-120
finishing setup and defining font, 117
identifying the problem, 95
interactive data, moving to multiple days, 127-132
loading team names and codes, 112
more sophisticated sorting, 126
refining data display to convey relationships, 121-126
refining transition between days, 132
retrieving team logos to improve visual display, 107-109
retrieving team salary data and pasting into spreadsheet, 109-111
retrieving win/loss data, 96-100
team logo images, setting up, 117
team salary data organized as list of ranked values, 113-115
unpacking win/loss files, 100-107
win/loss standings, 115-117
baseline (fonts), 63
Basic programming mode, 332
Batik SVG library, 297, 322
Beck, Harry, 3
beginRecord( ) and endRecord( ) methods, 236
beginShape( ) and endShape( ) methods, 73-76
data shown as filled area, 78
Berkeley DB, 294
between value (color interpolation), 37
beverage consumption statistics (USDA), 54
binary file formats, 154, 325-328
bit shifting, 326
DataInputStream, using, 327
DBF, 325
dealing with binary data input, 326
Excel spreadsheets (XLS), 325
bit shifting, 326
BNF (Backus Naur Form), 316
BoundsIntegrator class, 208
Branch class, 248
draw( ) method, 255
branches, 220
depicting, 256
brightening and dimming data display
brightness based on file modification times, 206
folder rollovers in treemap display, 204
brightness of colors, preserving, 38
Bringhurst, Robert, 126, 346
browser type and platform (user agent), 245
browsers
pretending to be a web browser, 286-288
running sketches online in a web browser, 133
BufferedReader class, 271
reading files progressively, 272
building representations, vii
byte arrays, 284
bzip2 (bz2), 319
C[ Top ]
calcZoom( ) method, 174
canonical paths, 184
capitalizing first letter of each word, 149
Carter, Matthew, 123
case-insensitive sorting, 183
cat (concatenate), 298
ceil( ) function, 66
ceiling of a float, 66
CGI scripts
consolidating baseball season standings, 134-137
randomized data for updateTable( ), 47
changing data
interpolating values smoothly over time, 48-51
updating values over time, 46-48
character class (in regular expressions), 103
Character class, toUpperCase( ) and toLowerCase( ) methods, 149
characters, 9
charting and graphing tools, 93
check( ) method (Place class), 161
checkNode( ) method, 255
child nodes, 182
chosen variable, 163
city names, capitalizing first letter of each word, 149
classes, 26
encapsulating time series plots, 92
extending, 114
mouse interaction information and, 44
Processing, 155
Clemens, Samuel L.
Following the Equator, 190
Huckleberry Finn, 229
clickable tabs, 85
CLOSE parameter (endShape( ) method), 73
code examples from this book, xii
code folder, 342
collecting data (see acquiring data)
ColorIntegrator class, 165-167
colors
adding to baseball statistics display, 121
adding to treemap display, 201-203
background color, setting, 21
GraphDemo (Processing version), 222
highlighting points for typed digits of zip codes, 158
increasing usefulness in treemap display, 206
interpolating between, 37-39
preserving saturation and brightness, 38
points in interaction with typed zip code digits, 161
web site visits graph, node names, 259
command-line utilities, 266
grep, 307
parsing tools, 298
commands, 20
comma-separated values (see CSV files)
comments, 74
compare( ) method, 126
compressed data, 317-319
GZIP streams, 317
other formats, 319
ZIP files, 317-319
connecting lines (baseball statistics project), 118
constants, 118
using in zip code data columns, 148
contentsVisible field (FolderItem), 195, 199
showing and hiding folder contents, 200
Continuous programming mode, 332
Core API (Processing), 19-30, 336-338
createFont( ) function, 60
createReader( ) method, 179, 271
createWriter( ) method, 270
CSV (comma-separated values) files, 147, 299-302
documentation, 302
removing commas and quotes, 150
cURL utility, 267
curve( ) method, 261
curveVertex( ) function, 77
Cygwin, 266
D[ Top ]
\d (digits) in regular expressions, 103
damping (physics-based interpolator), 51
darkness variable, 204
dashes, 126
data collection (see acquiring data)
data folder, 268
creating, 27
interfacing between Processing and Java file methods, 116
listing contents, 277
security restrictions for online programs, 26
data mining, 5
baseball statistics project (example), 100
beverage consumption statistics, 55
directory structure, 194-198
finding and counting duplicated edges for nodes, 232
resources for further information, 345
sorting, using salary as a tiebreaker, 126
unused nodes, 256
updating values over time, 46-48
web site traffic information, 262
zip codes project (example), 9
data on a map, 34
drawing a point for each location, 35
finding minimum and maximum values, 34
two-sided data ranges, 40
varying data by color, 37
data representation (see refining data representation; representing data)
data types, 26
casting, 336
Java and Processing, 249
zip code information, 8
databases, 154, 288-294
driver, or connector, 288
MySQL, 289-293
getting started with, 289-291
using with Processing, 291-293
other, 293
performance aspects in interactive applications, 294
DataInputStream class, 327
dataPath( ) method, 268, 269
File class, 116
Date object, 128
DateFormat class, 246
datePretty array, 130
dates and times
Apache logfile entries, 246
baseball project, 127-132
date selector bar, 132
datestamp for first and last day of season, 128
drawing the dates, 130
loading standings for entire season, 130
switching between dates, 131
dateSelectorX variable, 130
dateSelectorY variable, 130
dateStamp and datePretty arrays, 129
DBF files, 146, 325
degree of attraction (physics-based interpolator), 51
del.icio.us (web site), 265
depth variable, 184, 195
detail level in data visualization, 17
Dialog DialogInput typefaces, 60
diameter (ellipseMode), 43
dist( ) function, 42
DOCTYPE declaration, 305
Document Object Model (DOM), 314
dot files, 238
doubles, 250
downloading links directly, 266
draw( ) function, 21, 32
advanced graph (example), 255
background( ) command, 22
baseball statistics project, 119
refined version, 124
chosen point in zip code locations, 163
GraphLayout demo (Processing), 223
mouseX and mouseY variables, 44
scatterplot of zip codes, 157
drawChosen( ) method, 162
drawConnection( ) method (Anemone class), 257
drawData( ) function, 35
drawDataLine( ) function, 74
drawDataPoints( ) function, 58
currentColumn parameter, 60
drawStatus( ) method, 188
drawTag( ) method, 205
drawTitle( ) method, 64
FileItem and FolderItem classes, 201
rollover title, 199
white text in treemap display, 202
drawVolumeLabels( ) method, 67
drawYearLabels( ) function
grid, adding, 64
resetting text alignment, 65
dynamic data values, 46
E[ Top ]
Eclipse IDE, 242
instructions for obtaining and using, 243
Edge class, 221
count field and increment( ) method, 232
Processing version of GraphDemo, 222
edges, 220
adding to nodes in graphs, 223
length, calculating, 224
editors, 21
Elements of Typographical Style, The, 126, 346
ellipseMode, 42
en dash character, 126
endShape( ) method (see beginShape( ) and endShape( ) methods)
Energy Minimized layout (Graphviz), 239
event handling, 336
examples, Processing API and environment features, 24
exception handling, 271
exists( ) method (File class), 116
expand( ) method, 187
edges array, 223
exporting programs, 23
extending a class, 114
F[ Top ]
fading effect, 165-167
folder rollovers in treemap display, 204
Federal Information Processing Standards (FIPS) codes, 147
web site, 148
File class, 116, 277
getAbsolutePath( ) method, 184
getCanonicalPath( ) method, 184
list( ) method, 277
errors causing null return, 183
Unix-based systems, 183
File menu (Examples), 24
FileInputStream class (Java), 26
FileItem class, 194
draw( ) method
check for the mouse, 199
fill settings, 202
drawTitle( ) method, 201
fields for color and hue, 202
modification times, 207
rolloverItem, 199
updating for zooming, 210-213
FilenameFilter class, 279
files and directories, 276-280
building directory tree using a queue, 186-189
building directory tree using recursion, 182-186
file handling functions, 26
large numbers of files, handling, 295
listing files in a folder, 277-280
locating files using Java File object, 277
modification times of files, 206
numbered file sequences, 280
tree structure, 182
(see also treemaps)
fill and stroke settings
beginShape( ) and endShape( ), 73
data points highlighted by rollovers, 76
data shown as filled area, 78-80
draw( ) method, Node class, 228
fill for colors in treemap display, 202
stroke weight for line highlighting individual data points, 74
fill( ) function, 21, 33, 58
alpha transparency parameter, 41
balancing text with colored lines in baseball statistics display, 124
filtering data, 5
beverage consumption statistics, 55
connections with other steps in zip code project, 14
directory structure, 194-198
efficient filtering of baseball standings for the season, 133-144
files, problems with, 183
listing files with a filter class, 279
removing stop words from text, 231
resources for further information, 345
salary data (baseball project), 110
zip code database file, 147
zip code information, 9
Find in Reference menu command, 24
findNode( ) function, 223
firstDateStamp and lastDateStamp, 128, 129
fixed width text, 302
flat files, 294
Flickr, 265
floats, 8
converting strings to, 276
getting values with Table class methods, 32
minimum and maximum values, 34
rounding, 65
FloatTable class, 55
floor( ) function, 66
folder selection dialog box, 217-218
folderCount variable, 186
folderIndex variable, 186
FolderItem class, 195-198
darkness field, 204
modification times, 207
mousePressed( ) method, 199, 200
taggedItem variable, 204
updateColors( ) method, 202
updating for zoom support, 213-217
Following the Equator, 190
fonts
ascent, 63
creating to label time series data points, 60
defining for baseball statistics display, 117
mouse data in rollover interaction, 42
numeric data display, 123-125
user feedback on typed text, 159
for loop (Java 1.5), 251
force-directed layout, 224
forms, 284
foundCount variable, 161, 278
frame object, 338
frame rate, 51
brightening and fading effect, 166
setting to ensure consistent animation, 133
frmget utility, 285
functions, 20, 27
examples of use, 24
libraries, 27
Processing API function names, 32
G[ Top ]
generics, 250
geocoder.us service, 146
geocoding data, reading with Processing XML library, 312-314
Geographic Information Systems (GIS), 324
geographic locations of postal zip codes, 157
geometry data for postal codes, 295
Georgia (font), 123
GET and POST methods, 285
getAbsolutePath( ) method (File class), 184
getCanonicalPath( ) method (File class), 184
getRowName( ) function, 35
getRowNames( ) method (FloatTable class), 56
GIS (Geographic Information Systems), 324
GNU Wget, 267
Google Maps, 266
geocoding service, 312
grammars in BNF notation, 316
Graph class, 221
graphic design, 5
graphing tools, 93
GraphLayout demo (see graphs, simple example)
GraphPanel class, 221
graphs, 220-263
advanced example (web site traffic), 242-263
acquiring web server logfile, 245
data mining and representation, 255-256
depicting branches and nodes, 256
drawing node names, 259
drawing visitor paths, 260
interacting with the data, 258
looking at source files, 248
mining more information, 262
parsing Apache logfiles, 245-247
reading and cleaning data, 252-255
using Java IDEs, 243-244
writing Java code, 249-252
complicated example (using Huckleberry Finn), 229-240
acquiring text for input, 229
parsing the text, 229-231
removing stop words, 231
smarter addition of nodes and edges, 232
viewing the book, 233-236
simple example (GraphLayout), 220-229
interacting with nodes, 224-228
porting from Java to Processing, 221-224
techniques for handling graph data, 241
Graphviz, 238
grep, 307
gridlines
adding to year interval labels, 64
unboxed plot with reverse-color gridlines, 81
group( ) method, 104
grouping parentheses in regular expressions, 104
groups (in regular expression pattern matching), 103
GZIP, 317
H[ Top ]
HALF_ROW_HEIGHT variable (baseball project), 118
handleLine( ) function, 273
handleMouse( ) method, 131
HashMap class, 112
head and tail commands, 299
height of tallest character in a font, 63
Hello World program, 20
Help menu
Find in Reference, 24
libraries, 28
hex viewers, 298
hideContents( ) method, 200
Hierarchical layout (Graphviz), 239
hierarchies, 182
building directory tree using recursion, 182-186
loading tree structure asynchronously using a queue, 186-188
mapping tree structures (treemaps), 189-219
depicting relative size of files and folders, 194-198
showing progress while cataloging the disk, 188
highlighting data points
background line that highlights, 74
using mouse rollovers, 76-77
HSB color space, 38
RGB versus, 39
HTML, 303-311
parser (custom), writing, 311
parser libraries, 311
parser, determining necessity of, 306
parsing and manipulating tables, 310
parsing with Swing built-in parser, 308-310
parsing with Tidy, 304
embedding Tidy into a sketch, 305
HTML parameters, reading from tags, 129
HTML-formatted tables, 96
HTTP, 268
HttpClient, 286-288
Huckleberry Finn, 229
hue, saturation, and brightness, 38
setting in treemap display, 202
I[ Top ]
identifying the question, 3-4
baseball statistics (example), 95, 121-125
IDEs, using Processing Core library in, 242-244
ignoreWord( ) method, 231
IIS logfile format, 247
image( ) command, 32
ImageLoader class, 281-284
images
loadImage( ) function, 26
loading asynchronously, 281-284
saving, 23
team logos (baseball project), 107-109
loading into project folder, 117
vector format, 236
import command, 28
import statements, 282
increment( ) method, 232
index pages (web sites), 254
indexes, 9
Information Anxiety, 2, 348
information visualization, 5
connections among the stages, 14
principles, 15-18
conveying more with less detail, 17
knowing your audience, 17
unique requirements of each project, 16
visualization versus, 6
zip codes (USPS) example, 6-13
acquiring the data, 7
data mining, 9
filtering the data, 9
interacting with data, 11-13
parsing the data, 8
refining the data, 11
representing the data, 9
InputStream class, 284
int data type, 249
Integer objects versus, 113
int( ) function, 56
Integer class, 112
Integer objects versus int data type, 113
integers, 9
Integrator class, 48-51, 165
interpolation between data sets, 87-92
refining date transitions in baseball project, 132
setting target lengths for branches between nodes, 248
interacting with data, 5
active sketches in Processing, 21
connection with other steps in zip code project, 15
data for range of dates (baseball project), 127-132
date selector bar, 132
drawing the dates, 130
loading standings for entire season, 130
refining date transitions, 132
switching between dates, 131
databases, performance and, 294
folder selection dialog box, 217-218
highlighting points while typing zip code digits, 158
highlighting points with rollovers, 76-77
interpolation between data sets, 87-92
labeling current time series data set, 59-62
loading asynchronously using a queue, 186-188
manipulating nodes in web site visits graph, 258
mapping location data from the user, 52
mouse rollover interaction, 42-45
nodes in graphs, 224-228
resources for further information, 347
smooth interpolation over time, 48-51
text labels as tabbed panes, 83-87
updating values over time, 46-48
viewing folder contents, 199-201
zip codes project (example), 11-13
zoom in treemap display, 208-217
updating FileItem, 210-213
updating FolderItem, 213-217
zooming in (zip code example), 167-177
interpolation of values
between data sets, 87-92
ColorIntegrator class, 165-167
colors, 37-39
smooth interpolation over time, 48-51
interpreted scripting languages, 29
isValid( ) method (FloatTable class), 56
J[ Top ]
Java, viii
bytecode compilation, 29
database API (JDBC), 291
helpful features in Java 1.5 (J2SE5.0) and later, 250
InputStream class, 284
integrating Processing, 331-343
JAR archives, 26
JFreeChart library, 93
JOGL (Java for OpenGL), 25
moving code from Processing to, 249-250
porting GraphLayout to Processing, 221-229
Processing API, 19
relationship to Processing, 331
serialization, 154
starting point for a sketching language, 29
Swing UI Toolkit, 217-218
using Processing Core library in Java IDEs, 243-244
.java source files, 335
Java programming mode, 333
Java2D renderer, 25
JavaScript (.js) files, 99
parsing, 100
JavaScript Object Notation (JSON), 101, 315
JavaScript, converting forms to use GET instead of POST, 285
joining multiple sets of data, 43
JRuby, 264
JSON (JavaScript Object Notation), 101
Jython, 264
K[ Top ]
keyPressed( ) method, 62, 131
typing of digits in postal zip codes, 159
keywords (search), 265
L[ Top ]
labels
axis labels on time series plot, 62-72
titling both axes, 69-72
volume labels on vertical axis, 65-68
year labels on horizontal axis, 63-65
text labels as tabbed panes, 83-87
Lambert, Johann Heinrich, 54
language syntax (Processing), 20
layout( ) method (treemaps), 197
leftX and rightX values (baseball project), 119
length of a file, 116
length of edges, 224
lerp( ) function, 37
lerpColor( ) function, 37
changing color space used, 38
less command, 299
libraries, 27
core.jar file, 243
examples, 24
HTML parsing, 311
packaging code into, 342
processing.core source code, 343
time series or bar chart plotting, 93
treemap, 190
using, 343
writing to different formats, 237
XML, 314
line graph connecting points in time series plot, 73-76
line( ) method, scaling weights to baseball salaries, 121
LinkHandler class, 308
Links utility, 267
Linux systems, fonts, 123
list( ) method
File class, 277
PFont class, 61
live data, interaction with, 3
loadBytes( ) method, 266, 284
loadData( ) method
reading a book, 229
loadFont( ) method, 42
loadImage( ) method, 26, 32, 266
loadStrings( ) method, 26, 112, 252, 266
Java methods versus, 271
loading text data, 270
locations on a map, 32-34
displaying centers of U.S. states, 33
plotting your own values to, 51
taking data from the user, 52
logfile formats, 247
London Underground, map of, 3
longs
converting to formatted dates, 128
ranked array of, 207
loop( ) method, 133
M[ Top ]
Mac OS X
command-line utilities, 266
Georgia (default font), 123
Graphviz, 238
text editors and hex viewers, 298
typefaces, built-in, 60
mag( ) function, 227
magnitude and positive/negative values, 40
using transparency, 41
magnitude of a vector, 227
main( ) method, 337
Major League Baseball web site (MLB.com), 97
map( ) function, 36
mapping zip code place coordinates to the screen, 157
plotting time series data, 58
MapLayout algorithms, 197
mapping, 31-53
baseball salaries to line stroke, 121
data on a map, 34
HashMap class, 112
locations, specifying, 32-34
mouse rollover interaction, 42-45
plotting your own values to locations, 51
Processing function calls, 32
scatterplot maps, 145-181
acquiring zip code data, 145
parsing and filtering zip code data, 147
mapping (continued)
smooth value interpolation over time, 48-51
taking location data from users, 52
tree structures (treemaps), 189-219
depicting relative size of files and folders, 194-198
two-sided data ranges, 40
updating values over time, 46-48
(see also graphs)
markup languages, 303-315
HTML, 303-311
XML, 311-315
Matcher object, 104
matchers (regular expression), 103
MathWorld web site (Wolfram Research), 150
maxDateIndex variable, 128
methods, 20
protection levels, Java and Processing, 250
Microsoft Excel
binary XLS files, 325
opening a DBF file, 146
unnecessary additions to TSV files, 147
Microsoft web core fonts initiative, 123
mind maps, 220
minDateIndex and maxDateIndex variables, 129, 137
minimum and maximum values
boundaries of points in scatterplot map, 156
boundaries of points on scatterplot map, 151
calculating with FloatTable class methods, 55
changing data and, 46
longitudes and latitudes, 148
map data, 34
zooming, 173
mining data (see data mining)
missing data, 56
discrete values represented with a bar chart, 82
modification times of files, 207
modulo operator (%), 63
Monospaced typeface, 60
more and less commands, 299
mouse interaction
drawing a line that follows the mouse, 22
event handling, 336
handling in tabs, 85
nodes, manipulating in GraphLayout demo, 224-229
rollover, 42-45
showing and hiding folder contents, 199-201
switching between dates in baseball project, 131
using rollovers to highlight points, 76-77
zooming in on zip code locations, 174
(see also interacting with data)
mouseInside( ) method, 200
mousePressed( ) method, 22
using in tabs, 85
MySQL, 289-293
getting started with, 289-291
using with Processing, 291-293
N[ Top ]
NanoXML project, 28
NcFTP utility, 267
negative/positive values, magnitude and, 40
using transparency, 41
Netbeans IDE, 243
networks
approaching network problems, 240-242
visual representation of, 220
watching network traffic, 328-330
(see also graphs)
nextFolder( ) method, 186
nextLine( ) function, 275
nf( ) function, 46, 66
numbered file sequences, 280
nfp( ) function, 47
nfs( ) function, 47
Node class, 182, 221, 227, 248
count field and increment( ) method, 232
draw( ) method, 255, 259
Processing version of GraphDemo, 222
recursive data structure for File objects, 184
nodes, 182
graph of web site visits
drawing names, 259
GraphDemo (Processing version), 222
in graphs, 220
interacting with, 224-228
using words as nodes, 229
placement of and lengths of edges, 224
representing in web site visits graph, 256
tracking a list of Node objects (queue), 186
noFill( ) method, 74
noLoop( ) method, 133, 192
non-lining numerals, 124
norm( ) function, 37
normalized range, 37
noStroke( ) function, 33
numbered sequences, saving program output as, 23
numeric data display, typeface, 123-125
O[ Top ]
OBJ (3D file format), 322
objects, 113
Java and Processing, 249
old style figures, 124
Olympic Committee web site, 284
online community (Processing), 20
open source, 19
databases, 289
Graphviz tool, 238
library for creating treemap structures, 190
NanoXML project, 28
OpenGL library, 343
OpenGL renderer, 25
OpenOffice spreadsheet
entering web data, 110
opening a DBF file, 146
unnecessary additions to TSV files, 147
openStream( ) method, 284
OpenType fonts, 61
operating systems
built-in fonts, 60
files associated with, modification times, 207
order variable, 195
ordering array elements, 112
output files, 269
P[ Top ]
P2D (Processing 2D) renderer, 25
P3D (Processing 3D) renderer, 25
packaged solutions, shortcomings of, 16
pagers, 299
PApplet class, 248, 334
embedding into Java applications, 338-342
Swing application, 340-342
frame variable, 338
main( ) method, 337
param( ) method, 129
parameterized objects, 251
parseInfo( ) method, 156
parsePlace( ) method, 156
parsing data, 5, 296-330
beverage consumption statistics (time series example), 55
binary data, 325-328
command-line utilities, 298
compressed data, 317-319
directory structure, 194-198
efficient parsing of baseball standing for the season, 133-144
file formats, 328
grammars in Backus Naur Form (BNF), 316
JavaScript source file (baseball statistics), 100-107
regular expressions, using, 102-107
JSON (JavaScript Object Notation), 315
levels of effort, 296
network traffic, 328-330
OBJ and AutoCAD DXF (3D), 322
parsing large files as they are acquired, 276
PostScript and PDF, 323
reading a book, 229
regular expressions (regexps), 316
resources for further information, 345
salary data (baseball project), 110
Shapefile (SHP), 324
SVG (Scalable Vector Graphics), 320-322
text, 299-303
CSV file, 299-302
TSV file, 299
with fixed column widths, 302
text editors and hex viewers, 298
text markup languages, 303-315
HTML, 303-311
XML, 311-315
Well-known text (WKT), 324
win-loss standings (baseball project), 115
zip code database file, 147
zip codes project (example), 8
pathnames for files, 116
absolute path to local file, 269
Pattern object, 104
patterns (regular expression), 103
PDF files, 24, 323
vector images, 236
PDF renderer, 25
percent value (normalized ranges), 37
percentile( ) method, 207
Perl scripts
generating random values for updateTable( ), 47
retrieving and consolidating baseball season standings, 134-136
PFont class
defining font for baseball project display, 117
list( ) method, 61
physics-based interpolator, 48-51
PImage class, 26, 283
save( ) method, 270
Pivot by Split Size model (arranging a treemap), 197
Place class, 155
draw( ) method, 157
point drawing when zooming, 177
matching locations to typed digits in zip codes, 160-161
tracking currently chose Place object, 163
zooming, 175
placeCount variable, 151, 156
placement of nodes and lengths for each edge, 224
planning data display, 2-6
combining insights from different disciplines, 5
data collection, 2
identifying the question, 3-4
information overload, 2
process of understanding data, 5-6
thinking about data, 3
points
highlighting using rollovers, 76-77
mixing with lines in time series representation, 74
ways to connect, refining, 77-82
showing data as an area, 78-80
unboxed plot with reverse-color gridlines, 80
using bar chart instead, 82
Portable Document Format (PDF), 323
positive/negative values, magnitude and, 40
using transparency, 41
POSIX time, 128
POST method, 285
PostgreSQL, 289
PostScript (PS), 323
preprocessed data, using (baseball project), 111-118
finishing setup, 117
team logos, 117
team names and codes, 112
team salaries, 113-115
win-loss records, 115-117
preprocessing data, 96-110
preprocessor code for zip code data, 151-154
retrieving salary data (baseball project), 109
retrieving team logos (baseball project), 107-109
retrieving win/loss data (baseball project), 96-100
unpacking win/loss files (baseball project), 100-107
zip code data, 145-155
preprocessor, 335
printing tree contents recursively, 184
println function, 104
println( ) function, 65
PrintWriter object, 270
privacy issues, 3
process of understanding data, 5
Processing, 19-30
components of, 20
Core library, using in Java IDEs, 242-244
examples and reference, 24-27
loading and displaying data, 26
size( ) method, 24
exporting programs, 23
functions, 27
libraries, 27
integrating with Java, 331-343
PDE (Processing Development Environment), 20
porting GraphLayout from Java to, 221-229
resources for further information, 347
saving program output as images, 23
sketching and scripting, 28-30
code structure simplification with Processing, 29
sketching with, 20-23
active sketch, 21
drawing lines (example), 20
web site, viii
processing data by hand versus writing a program, 111
programming modes, 331-333
Basic, 332
Continuous, 332
Java, 333
progress bar
image loading, 281
showing while cataloging the disk, 188
Project Gutenberg, 229
projections, map projections for the U.S., 150
protocols used in URLs, 268
pruneNode( ) function, 256
public, private, or protected methods, 250
purpose for using the data set, 2
Q[ Top ]
queues
StreamerQueue class, 274
using to load asynchronously, 186-188
quotes and commas, removing from CSV and TSV files, 150
R[ Top ]
radius (ellipseMode), 42
random( ) function, 46
ranges, mapping, 34
converting numbers with map( ) function, 36
normalized range, 37
two-sided data ranges, 40
ranked data
baseball team salaries, 113
sorting lists in baseball project, 118
RankedList class, 113
compare( ) method, 126
RankedLongArray.pde file, 207
readData( ) method, 156, 179
Reader objects, 252
readNextRecord( ) method, 254
ready-made visualizations
shortcomings of, 16
Reas, Casey, viii
Record class, 247
addSiteAlias( ) method, 252
setSiteAddress( ) method, 252
rect( ) function, 58
rectMode( ) method, 58
recursion
benefits and challenges for display and interaction, 182
building a directory tree, 182-186
(see also treemaps)
references, 24
referer information (web server logs), 245, 253
additional data mining with, 262
refining data representation, 5
baseball statistics (example), 121-125
highlighting the lines, 121
numeric data typeface, 123-125
typography, 126
choosing proper representation, 73-77
date transitions in baseball project, 132
drawing axis labels on time series plot, 62-72
titling both axes, 69-72
volume labels on vertical axis, 65-68
year labels, 63-65
graph representing Huckleberry Finn text, 233-236
highlighting points while typing zip code digits, 158
labeling time series data set, 59-62
loading data using threads, 178-180
plotting time series data points, 57-59
point drawing when zooming, 177
progressively brightening or dimming points, 165
resources for further information, 346
showing currently selected point, 162-164
smooth interpolation of values over time, 48-51
tab images, 85
team logos (baseball project), 108
treemap display, 201-208
colors, 201-203
maintaining context, 204-206
making colors more useful, 206
ways to connect points, 77-82
showing data as an area, 78-80
unboxed plot with reverse-color gridlines, 80
using bar chart instead, 82
web site visits graph, drawing node names, 259
zip codes project (example), 11
regular expressions (regexps), 102-107, 316
parsing Apache logfile data, 246
program to parse data from MLB.com, 104
relationships, displaying, 118
relax( ) method, 255
Edge class, 225
Graph.java example source, 226
Node class, 226
relaxation, 224
renderers, 24
representing data, 5
baseball statistics project, 118-120
team rankings (example), 120
choosing proper representation, 73-77
connections with other steps in zip code project, 14
directory structure, 194-198
discrete values represented with a bar chart, 82
graph of web site visits, branches and nodes, 256
graph representing Huckleberry Finn text, 233-236
graphs, limitations of, 240
plotting time series data points, 57-59
resources for further information, 346
scatterplot of zip codes, 157
showing progress, 188
web site visits graph, drawing node names, 259
zip codes project (example), 9
rest length, 224
REST-style APIs, 265
ResultSet class, 293
RGB color space, 38
HSB versus, 39
rolloverItem, 199
root directory, 185
root folder, 200
row height (baseball statistics project), 118
row names in data tables, 35
Runnable class, 179
runningX value, 84
S[ Top ]
\s (whitespace character) in regular expressions, 103
SalaryList class, 114, 115
SansSerif typeface, 60
saturation and brightness of colors, 38
settings levels, 202
save( ) method, 270
saveBytes( ) method, 270
saveFrame( ) function, 23
savePath( ) method, 269
saveStrings( ) method, 270
scatterplot maps, 145-181
acquiring zip code data from U.S. Census Bureau, 145
parsing and filtering zip code data, 147
scientific visualization, 347
screen-scraping, 96
data acquisition ethics, 266
general process, 98
tables from HTML files, 310
scripting, 20, 29
scripting languages
use of objects for all values, 113
using with Processing, 264
search engines, 265
searching, 265
season array, 130
security of information, 3
security restrictions, Processing software, 26
serialization, 154
Serif typeface, 60
setBounds( ) method, 203
setup( ) function, 21, 32
baseball statistics project, 117
font, setting, 42
GraphDemo (Processing version), 222
web site traffic graph (example), 252
setupLogos( ) function, 117
setupSalaries( ) function, 115, 118
setupStandings( ) function, 117
downloading data for each day of baseball season, 130
Shape class, 334
.java source file, 335
shape commands (beginShape( ) and endShape( )), 73-76
Shapefile (SHP) format, 324
Shneiderman, Ben, 189
showContents( ) method, 200
SIDE_PADDING variable (baseball project), 119
Simple API for XML (SAX), 314
SimpleDateFormat class, 128
SimpleMapItem objects, 190
SimpleMapModel class, 190
site addresses and aliases, 253
Six Degrees of Kevin Bacon game, 242
size( ) method, 22, 24, 337
specifying renderer, 24
sketchbooks, 20
sketches, 20, 28
running online inside a web browser, 133
sketch folder contents, viewing, 27
starting a new sketch, 31
using Java code, 342
sketching, 29
sketchPath variable, 269, 277
Slurper class, 179
smooth( ) function, 33
SOAP (Simple Object Access Protocol), 265
sorting
case-insensitive, 183
improving handling of ties, 126
lists of files, 280
source code for processing.core libraries, 343
SourceForge, fonts, 124
spanAspect and screenAspect variables, 174
split( ) method, 112, 230
splitTokens( ) method, 229
spreadsheets (see Microsoft Excel; OpenOffice spreadsheet)
SQL (Structured Query Language), 288
SQLite, 294
stages of visualizing data, 1-18
connections among, 14
listing of, 5-6
principles, 15-18
conveying more with less detail, 17
knowing your audience, 17
unique requirements of each project, 16
reasons for planning, 2-5
collection of data outpaces its use, 2
constant changes on data, 3
identifying the question, 3
information overload, 2
meaning of collected information, 3
need for insights from diverse fields, 5
zip code project (example), 6-13
acquiring data, 7
filtering the data, 9
interacting with the data, 11-13
iterating through and combining stages, 14
mining the data, 9
parsing the data, 8
refining the data, 11
representing the data, 9
StandingsList class, 116
compare( ) method, 126
standingsY and salaryY variables (baseball project), 120
state abbreviations for FIPS codes, 147, 148
static final modifiers, 118
statistics, 5
status bar variables, 189
stop words, 231
Streamer class, 248, 254, 273
StreamerQueue class, 274
String class
endsWith( ) method, 277
indexOf( ) method, 306
replaceAll( ) method, 229
strings
breaking into characters and capitalizing first character of each word, 149
converting String array to int array, 56
converting to floats, 276
creating new String object from typedChars array, 160
loadStrings( ) function, 26
sorting, case and, 183
String class, 26
zip code numbering project, 8
stroke( ) method, 58
color and line thickness in baseball statistics, 121
parameter variations, 21
strokeWeight( ) method, 193
StuffIt (SIT and SITX), 319
substring( ) method, 302
subway maps, 3
conveying more information with fewer details, 17
superclass, 114
SVG (Scalable Vector Graphics), 320-322
shape data, parsing, 296
Swing API
embedding PApplet into an application, 340-342
HTML parser, 308-310
Swing UI Toolkit, folder selection dialog box, 217-218
symbolic links, 184
synchronization (threads), 274
T[ Top ]
tabbed panes, 83-87
better tab images, 85
drawing tabs instead of a title, 84
mouse input, handling, 85
tab-delimited values (see TSV files)
Table class, 32, 310
data stored as float values, 55
tables, 288
tabPad variable, 83
tabTop and tabBottom variables, 83
taggedItem variable, 204
tags, adding to folders in treemap display, 204-206
Tape Archive (TAR), 319
target( ) method, 48
ColorIntegrator class, 165
targetX1, targetY1, targetX2, and targetY2 arrays, 174
teamIndex( ) function, 126
text data, loading, 270-276
files too large for loadStrings( ), 270
reading files asynchronously with a thread, 273-275
reading files progressively, 272
text editors, 298
text files, 294
converting to arrays, 114
text( ) method
baseball statistics project, 120
drawing int or float values, 66
mouse rollover information, 43
writing name of currently visible column in a data set, 59
textAlign( ) method, 63, 69
left-aligning and vertically centering text, 119
vertically centering text, 66
textAscent( ) method, 69
textFont( ) method, 42
textWidth( ) method, 69
calculating tab width, 84
The Oracle of Bacon (web site), 242
this (variable), 28
Thread class, 178
threads, 178
reading files asynchronously, 273-275
tick marks, 67
Tidy, 304
embedding into a sketch, 305
using with XML documents, 311
TIFF-format images of program output, 23
time series, 54-93
beverage consumption statistics, acquiring and parsing, 55
choosing proper representation, 73-77
cleaning the data table, 55
drawing axis labels, 62-72
titling both axes, 69-72
volume labels on vertical axis, 65-68
year labels, 63-65
interpolation between data sets, 87-92
labeling the data set, 59-62
plotting the data, 57-59
rollovers, using to highlight points, 76-77
text labels as tabbed panes, 83-87
ways to connect points, 77-82
showing data as an area, 78-80
unboxed plot with reverse-color gridline, 80
using bar chart instead, 82
titles, drawTitle( ) method, 64
totalCount variable, 156
transitioning to another data value, 48
translate( ) method, 119
transparency, 41
tree structures, 182
building directory tree using recursion, 182-186
loading asynchronously using a queue, 186-188
showing progress while cataloging the disk, 188
Treemap class, 190
treemaps, 189-219
depicting relative size of files and folders, 194
depicting size of files and folders, 194-198
folder selection dialog box, 217-218
improving display, 201-208
adding colors, 201-203
maintaining context, 204-206
making colors more useful, 206
word usage (example), 190-193
zoom capability, 208-217
updating FileItem, 210-213
updating FolderItem, 213-217
trim( ) method, 302
TrueType fonts, 61
try/catch block, 271
openStream( ) method, 284
TSV (tab-separated values) files, 147, 299
fips.tsv file, 148
removing extraneous quotes and commas, 150
Tufte, Edward, 54
Twain, Mark (see Clemens, Samuel L.)
TX( ) and TY( ) (transform x and y) functions, 157
typedChars array, 159
creating new String object from, 160
typedCount array, 159
typedPartials array, 160
typedPartials variable, 159
typedString value, 160
typefaces, built into systems, 60
typography, 126, 346
U[ Top ]
U.S. Census Bureau TIGER/LINE site, 180
U.S. Census Bureau zip code data, 146
U.S. Postal Service ZIP system, 145
U.S. Postal Service zip system
(see also zip code project)
understanding data, process of, 5
Unicode character escapes, 126
Unix epoch, 128
Unix systems
. (single dot) and .. (double dot) directory entries, 183
command-line utilities, 266
Unix-based systems, symbolic link files, 184
update( ) method, 255
Integrator class, 48, 133
Node class, 227
SalaryList class, 115
updateAnimation( ) method, 166
updateColors( ) method, 202
brightness values based on file modification times, 208
updateTable( ) function, 46-48
updateTyped( ) method, 160
chosen variable, 164
updating the screen, 338
URL class, openStream( ) method, 26
URLs, 100
files located at, 268
length, 285
loading files from, 270
referer, 253
USA Today web site, 109
user agent (browser type and platform), 245
V[ Top ]
"value added" versions of zip code data, 145
variables
baseball statistics project, 118
places, number of, 155
varying over time, 94
vectors, 227
saving an image in vector format, 236
SVG (Scalable Vector Graphics), 320-322
vertex( ) method, 73
vertices
curve vertices, 77
use in continually drawn time series, 73-76
Visitor class, 248, 260
draw( ) method, 255
visual design, insight from diverse fields, 5
visual representation (see refining visual representation; representing data)
visualization versus information visualization, 6
W[ Top ]
\w (word) character in regular expressions, 103
W3C Extended logfile format, 247
web page for this book, xii
web server logfiles (Apache), 245-247
web services, data availability through, 96
web site (Processing), 20
Well-known text (WKT), 324
Wget utility, 267
whitespace characters, matching in regular expressions, 103
window size, 21
Windows systems
Cygwin, 266
file paths, 186
Georgia (default font), 123
text editors and hex viewers, 298
typefaces, built-in, 60
Wireshark, 328-330
WKT (Well-known text), 324
WordItem class, 190
WordMap class, 191
writeData( ) method, 238
writing a program to convert data versus processing by hand, 111
Wurman, Richard Saul, 2, 348
X[ Top ]
Xerces project, 315
XML, 96, 311-315
cleaning up with Tidy, 311
other parsing methods, 314
using Processing XML library to read geocoding data, 312-314
XML Import library, 28
XML Path Language (XPath), 314
XMLElement class, 28, 312-314
Z[ Top ]
ZIP (Zoning Improvement Plan), 145
zip code project, 6-15
(see also mapping)
ZIP files, 317-319
zips.tsv file, 145
Zoning Improvement Plan (ZIP), 145
zooming
changing drawing of points when zooming, 177
treemap data display, 208-217
updating FileItem, 210-213
updating FolderItem, 213-217
zooming in on zip code locations, 167-177
Zurück zu Visualizing Data
