JETZT ONLINE BESTELLEN
Add to Cart
Visualizing Data
Exploring and Explaining Data with the Processing Environment

First Edition Januar 2008
ISBN 978-0-596-51455-6
382 Seiten
EUR32.00, SFR54.90


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


Themen

Buchreihen

Special Interest

International Sites

O'Reilly China O'Reilly USA O'Reilly Japan O'Reilly Taiwan