Index
A
- accessibility, Consideration for Touch Devices
- accessor functions, d3.min() and d3.max(), Updating all references
- acknowledgments, Acknowledgments
- active selection, Getting More Specific
- Adobe Flash Player, Origins and Context
- alternate mappings, Why Write Code?
- ancestor elements, DOM
- anonymous functions, High-Functioning, Interaction via Event Listeners
- antialiasing, Positioning Axes
- Apache server software, The Web
- append operators (+), Labels
- append(), One Link at a Time, Drawing SVGs, Getting More Specific, Selections
- arbitrary order, overriding, Ordinal Scales, Explained
- area charts, Area Charts
- arguments (input values), Functions, High-Functioning
- array.length, Merging Selections
- array.push(), Other Useful JavaScript
- array.shift(), Making a smooth exit, Other Useful JavaScript
- arrays, Arrays, Objects and Arrays, What arrays are made for, Data
- ascending order sort, Click to Sort
- assignment operator (=), Variables, if() only
- asynchronous methods, Loading CSV data
- attr(), Beyond Text, Setting Attributes, Drawing SVGs, Creating a Scale, Positioning Axes
- attributes
- axes
- creating generic, Setting Up an Axis
- customizing tick number and value, Check for Ticks
- dynamic and scalable, Final Touches
- labeling, Formatting Tick Labels
- methods quick reference, Axes
- positioning, Positioning Axes
- vs. scales, Scales
- styling with CSS, Positioning Axes
- time-based, Time-Based Axes
- updating, Updating Axes
- version 4.0 changes, Axes
- axis functions, Introducing Axes
- axis.scale(), Axes
- axis.ticks(), Axes
- axis.tickValues(), Axes
B
- band scales, Referencing the Band Scale
- bar charts (see also charts)
- behaviors
- bitmap map tiles, What It Doesn’t Do
- Bloch, Matt, MapShaper
- block-level elements, Rendering and the Box Model
- block-level scope, Function-level scope
- blocks service, bl.ocks.org-A Normal Web Server
- Bostock, Michael, What’s New in the Second Edition, Acknowledgments, Introducing D3, Origins and Context
- box model, Rendering and the Box Model
- browsers
C
- callback functions, Loading CSV data, Loading CSV data
- camelCase, Namespace and camelCase
- Card, Stuart, Origins and Context
- cartographic detail, Choose a Resolution
- cascading styles, Inheritance, Cascading, and Specificity
- (see also CSS (Cascading Style Sheets))
- case studies, Case Studies-“Data Sketches” Series
- centroids, Pie Layout
- chaining methods
- charts (see also bar charts)
- adding headlines and frames, Provide Context
- alternative tools for, Easy Charts
- area charts, Area Charts
- column charts, Drawing divs
- doughnut charts, Pie Layout
- general-use libraries for, General-use charting libraries
- line charts, Line Charts-Refining the Visuals
- multiple on one page, Provide Context
- pie charts, Pie Layout
- ring charts, Pie Layout
- child elements, DOM
- choropleth maps, Choropleth
- circles, drawing, Data-Driven Shapes
- cities, adding to maps, Adding Points
- class selectors, Selectors
- classed(), A Note on Classes
- classes
- click events, Interaction via Event Listeners, Binding Event Listeners, Consideration for Touch Devices
- click to sort, Click to Sort
- clipping paths, Containing visual elements with clipping paths, Area Charts
- code examples, obtaining and using, Using Sample Code, Referencing D3, Sharing Your Code
- code sharing, Sharing Your Code
- coding tips
- color property, Positioning Axes
- colors
- column charts, Drawing divs
- comments
- comments and questions, How to Contact Us
- communication protocols, The Web
- comparator functions, Click to Sort
- comparison operator (==), Comparison Operators, if() only, Dynamic typing
- console.log, Data Preparation, Enter, Merge, and Exit
- console.table(), Data Preparation
- contact information, How to Contact Us
- containers, Classes and IDs, Variables
- continuous ranges, Starting Your Own Band
- control structures, Control Structures
- coordinate values, locating, JSON, Meet GeoJSON, Adding Points
- CSS (Cascading Style Sheets)
- applying to axes, Positioning Axes
- cascading, Inheritance, Cascading, and Specificity
- comments, Properties and Values
- CSS rules, CSS
- hover effect, Hover to Highlight
- inheritance, Inheritance, Cascading, and Specificity
- properties and values, Properties and Values, Beyond Text
- purpose of, CSS
- referencing styles, Referencing Styles
- selectors and properties, CSS
- specificity, Inheritance, Cascading, and Specificity
- styling SVG elements with, Styling SVG Elements
- CSV (comma-separated value files), Data, Data
D
- D3
- additional resources for learning, Further Study-D3-Related
- alternative tools, Alternatives-More specialized tools
- browser support, What It Doesn’t Do
- community support, Sharing Your Code
- core concepts of, Next Steps
- data sharing in, What It Doesn’t Do
- development of, Origins and Context
- downloading, Introducing D3, Downloading D3
- explanatory visualizations with, What It Doesn’t Do
- geomapping in, What It Doesn’t Do
- increased demand for D3 skills, Preface
- meaning of name, Introducing D3
- methods quick reference, Quick Reference-Other Useful JavaScript
- microlibraries, Modularity
- philosophy underlying, Origins and Context
- prerequisites to learning, What This Book Is
- project template creation, Referencing D3
- referencing, Referencing D3
- tools built with, General-use charting libraries-More specialized tools
- tutorials, Preface
- underlying processes, What It Does
- version 4.0 changes, What’s New in the Second Edition, Using Sample Code, What’s New in 4.0-Zooming
- web server set up, Setting Up a Web Server-Diving In
- d3.arc(), Pie Layout
- d3.area(), Area Charts
- d3.axisBottom, Setting Up an Axis, Axes
- d3.axisLeft, Setting Up an Axis, Axes
- d3.axisRight, Setting Up an Axis, Axes
- d3.axisTop, Setting Up an Axis, Axes
- d3.csv(), Loading CSV data, Loading CSV data, Load and Parse the Data, Data
- d3.csvParseRows(), Load and Parse the Data
- d3.drag(), Draggable Nodes
- d3.easeBounceOut, ease()-y Does It
- d3.easeCubicInOut, ease()-y Does It
- d3.forceSimulation(), Defining the Force Simulation
- d3.format, Numbers, Dates, and Times
- d3.js (see D3)
- d3.json(), Loading JSON data, Paths, Data
- d3.line(), Line ’em Up
- d3.max(), d3.min() and d3.max(), Scales
- d3.min(), d3.min() and d3.max(), Scales
- d3.pie(), Pie Layout
- d3.range(), Ordinal Scales, Explained, Numbers, Dates, and Times
- d3.request(), Load and Parse the Data, Data
- d3.scale(), Projections
- d3.scaleLinear(), Other Methods, Scales
- d3.select(), One Link at a Time, Please Make Your Selection, A Closer Look at Selections, Getting More Specific, Selections
- d3.select(this), Interactivity
- d3.selectAll(), Selections
- d3.stack(), Stack Layout
- d3.style(), Beyond Text, Setting Styles, Filtering Selections Based on Data
- d3.text(), One Link at a Time, Labels
- d3.timeFormat, Numbers, Dates, and Times
- d3.timeParse, Converting strings to dates, Numbers, Dates, and Times
- d3.tsv(), Loading CSV data
- data
- binding to elements, Binding Data-Beyond Text, Data Joins with Keys-Exit transition
- dealing with missing data, Dealing with Missing Data
- definition of term, Data
- generating page elements for, Generating Page Elements-Going Chainless
- generating random, Random Data
- holding with functions, Data Wants to Be Held
- sorting, Click to Sort
- storage forms, Data
- supported file types, Data, Data
- updating of (see updates)
- using bound data, Using Your Data
- verifying, Loading CSV data
- data arrays, Loading CSV data
- data binding
- data joins
- controlling order of, Data Joins with Keys
- defining key functions, Key functions
- enter, merge, and exit selections, Enter, Merge, and Exit-The Exit Selection
- exit transition, Exit transition
- preparing data for, Preparing the data
- updating references, Updating all references
- data loading
- data mapping
- data sharing, What It Doesn’t Do
- data strings, Loading CSV data
- data values, encoding as color, Color
- data visualization
- alternative tools for, Alternatives-More specialized tools
- benefits of interactivity, Why Interactive?
- definition of, Why Data Visualization?
- early applications for, Origins and Context
- exporting to other file types, Exporting-SVG
- posting and finding jobs in, Preface, Getting a Job and Geeking Out
- rewards of, Why Write Code?
- rhetoric-design decisions, Refining the Visuals
- web-standard technologies and, Why on the Web?
- data(), What arrays are made for, In a Bind, Using Your Data, The Power of data(), Changing the Data, Line ’em Up
- Data-Driven Documents (see D3)
- data-driven shapes, Data-Driven Shapes
- datum(), Line ’em Up
- Davies, Jason, Projections
- defined(), Dealing with Missing Data
- degrees vs. radians, Pie Layout
- descendant elements, DOM
- descendant selectors, Selectors
- descending order sort, Click to Sort
- design systems, Why Write Code?
- developer tools, Developer Tools-Developer Tools
- div element, Classes and IDs, Drawing divs, HTML div Tooltips
- DOM (Document Object Model)
- domain names, The Web
- domain(), Other Methods
- doughnut charts, Pie Layout
- drawing
- drawing order, in SVG, Layering and Drawing Order
- dual encoding, Color
- duration(), duration(), or How Long Is This Going to Take?
- dynamic axes, Final Touches
- dynamic paragraphs, Please Make Your Selection, Beyond Text
- dynamic scales, Setting Up Dynamic Scales
- dynamic typing, Dynamic typing
E
- each(), To each() Their Own
- easing, ease()-y Does It
- edges, Force Layout
- elements
- adding, Other Kinds of Data Updates-Update
- adding a class to, A Note on Classes
- adding structure with, Adding Structure with Elements
- block-level elements, Rendering and the Box Model
- common elements, Common Elements
- description of, DOM
- div element, Classes and IDs, HTML div Tooltips
- exiting elements, Exit
- generating page elements, Generating Page Elements-Going Chainless
- inline elements, Rendering and the Box Model
- removing, Removing Values (and Elements)-Making a smooth exit
- elements (SVG), The SVG Element, Drawing SVGs, Setting Up an Axis, Hover to Highlight, Using Paths (see also SVG (Scalable Vector Graphics))
- encoding values, Color
- enter selections, The Enter Selection-The Enter Selection
- enter(), Please Make Your Selection
- errata, How to Contact Us, Using Sample Code
- event listeners, Interaction via Event Listeners, Binding Event Listeners, Introducing Behaviors
- event model, Binding Event Listeners
- exit selection, Removing Values (and Elements), The Exit Selection
- exiting elements, Exit
- exploratory vs. explanatory visualizations, What It Doesn’t Do
- exporting D3 visualizations
- external style sheets, Reference an external stylesheet from the HTML
F
- Flare, Origins and Context
- for loops, for() now, Random Data
- force-directed layouts
- formatting functions, testing, Formatting Tick Labels
- frames, Provide Context
- function-level scope, Function-level scope
- functions
- accessor functions, d3.min() and d3.max(), Updating all references
- anonymous functions, High-Functioning, Interaction via Event Listeners
- axis functions, Introducing Axes
- basic code structure of, High-Functioning
- callback function, Loading CSV data, Loading CSV data
- comparator functions, Click to Sort
- D3 scales as, Scales
- event listeners, Interaction via Event Listeners
- key functions, Data Joins with Keys, Key functions
- line generator functions, Line ’em Up
- vs. methods, Chaining Methods
- named functions, High-Functioning
- passing arguments to, Functions
- testing formatting functions, Formatting Tick Labels
- used as arguments, Data Wants to Be Held
G
- geocoding services, Adding Points
- Geographic Information Systems (GIS) software, Find Shapefiles
- GeoJSON, GeoJSON, JSON, Meet GeoJSON, Convert to GeoJSON
- geomapping
- acquiring/parsing raw geodata, Acquiring and Preparing Raw Geodata-Choose a Projection
- alternative tools for, Geomapping
- choropleth maps, Choropleth
- D3 support for, What It Doesn’t Do
- defining path generators, Paths
- geocoding services, Adding Points
- GeoJSON, JSON, Meet GeoJSON
- longitude/latitude pairs, JSON, Meet GeoJSON
- map points, Adding Points
- modifying projections, Projections
- panning, Panning-Border Problems
- value labels, Value Labels
- zooming, Zooming-Preset Views
- global namespace, Global namespace
- Google Maps, What It Doesn’t Do
- granularity, Choose a Resolution
- graphs (see also charts)
- group elements, Setting Up an Axis
I
- ID selectors, Selectors
- IDs, HTML elements, Classes and IDs
- if statements, if() only
- immediate transformations, End gracefully
- indentation convention, Getting More Specific
- index order, Data Joins with Keys
- inheritance, Inheritance, Cascading, and Specificity
- inline elements, Rendering and the Box Model
- inline style rules, Attach inline styles
- input domain, Domains and Ranges
- interactivity
- behaviors, Introducing Behaviors-Hover to Highlight
- benefits of, Why Interactive?
- browser development and, Origins and Context
- click to sort, Click to Sort
- event listeners and, Binding Event Listeners
- grouping SVG elements, Grouping SVG Elements
- methods quick reference, Interactivity
- pointer events, Hover to Highlight
- project walk-through example, Add Interactivity-Add Interactivity
- tooltips, Tooltips-HTML div Tooltips
- touch devices, Consideration for Touch Devices
- Internet Explorer, A Note on Compatibility
J
- JavaScript
- array.length, Merging Selections
- arrays, Arrays, Objects and Arrays, What arrays are made for
- as basis for D3, What This Book Is
- comments, Functions
- comparison operators, Comparison Operators
- control structures, Control Structures
- dynamic typing, Dynamic typing
- event model, Binding Event Listeners
- function-level scope, Function-level scope
- functions, Functions
- GeoJSON, GeoJSON
- global namespace, Global namespace
- introduction of, Origins and Context
- JSON, JSON
- logical operators, Logical Operators
- mathematical operators, Mathematical Operators
- objects, Objects
- quick reference, Other Useful JavaScript
- referencing scripts, Referencing Scripts
- this keyword, Hover to Highlight
- using the JS console, Hello, Console
- variable hoisting, Variable hoisting
- variables, Variables
- jQuery
- JSON (JavaScript Object Notation), JSON, Data, Loading JSON data
L
- labels
- Landay, James, Origins and Context
- layering, in SVG, Layering and Drawing Order
- layouts
- line charts
- line generator function, Line ’em Up
- linear scales, Scales
- local servers, The Web
- logical operators, Logical Operators
- longitude/latitude pairs, JSON, Meet GeoJSON
- loosely typed languages, Dynamic typing
M
- magic numbers, Updating Scales
- map tiles, What It Doesn’t Do
- Mapbox, What It Doesn’t Do
- mapping data, Binding Data
- mapping rules, Why Write Code?
- maps (see also geomapping)
- MapShaper, MapShaper
- masks, Containing visual elements with clipping paths
- Math.ceil(), Other Useful JavaScript
- Math.floor(), Other Useful JavaScript
- Math.random(), Other Useful JavaScript
- Math.round(), Other Useful JavaScript
- mathematical operators, Mathematical Operators
- maximum values, Updating Scales
- merge(), Selections
- merging selections, Merging Selections-Merging Selections
- methods
- microlibraries, Modularity
- Migurski, Mike, Other simplification options
- missing data, Dealing with Missing Data
- mouseover events, Hover to Highlight, Hover to Highlight
- Mr. Data Converter, Loading JSON data
- multitouch interactions, Consideration for Touch Devices
- multivalue maps, Multivalue Maps
O
- object constancy, Making a smooth exit
- objects, Objects
- Ogievetsky, Vadim, Origins and Context
- on(), Interaction via Event Listeners, Binding Event Listeners
- open source software, Why on the Web?, Sharing Your Code
- order(), Render the Initial View
- ordinal scales, Modernizing the Bar Chart, Pie Layout, Ordinal Scales
- output range, Domains and Ranges
- overlapping elements, Hover to Highlight
P
- padding, Refining the Plot, Y Not?, Starting Your Own Band
- page elements (see also data joining)
- panning (maps), Panning-Border Problems
- paragraph elements, Generating Page Elements
- parent elements, DOM
- parseFloat(), Other Useful JavaScript
- parseInt(), Other Useful JavaScript
- paths, Using Paths-Area Charts, Paths
- pie layout, Pie Layout-Pie Layout
- pixel-based coordinates system, The SVG Element
- pixels
- pointer events, Hover to Highlight
- (see also mouseover events; tooltips)
- points, Adding Points
- political maps, Choropleth
- population maps, Adding Points
- port numbers, The Web
- prefuse toolkit, Origins and Context
- print-to-PDF functionality, PDF
- project walk-through, Project Walk-Through-Dancing Versus Gardening
- projections, Projections, Adding Points
- properties, CSS, Properties and Values, Objects
- Protovis visualization toolkit, Origins and Context
R
- radians, Pie Layout
- random data, generating, Random Data
- range banding, Starting Your Own Band
- rectangles, drawing, Drawing divs
- red state/blue state maps, Choropleth
- remote servers, The Web
- rendering, Rendering and the Box Model
- requests, The Web
- resolution, Choose a Resolution
- rhetoric—design decisions, Refining the Visuals
- ring charts, Pie Layout
S
- scale(), Setting Up an Axis
- scaleLinear.clamp(), Scales
- scaleLinear.domain(), Scales
- scaleLinear.nice(), Scales
- scaleLinear.range(), Scales
- scaleLinear.rangeRound(), Scales
- scales, Scales-Formatting dates and strings
- additional types, Other Scales
- vs. axes, Scales
- creating, Creating a Scale
- d3.min() and d3.max(), d3.min() and d3.max()
- definition of term, Scales
- dynamic scales, Setting Up Dynamic Scales
- handy methods for, Other Methods, Scales
- incorporating scaled values, Incorporating Scaled Values
- input domain/output range, Domains and Ranges
- need for, Apples and Pixels
- normalization, Normalization
- plot refinements, Refining the Plot
- scatterplot scaling example, Scaling the Scatterplot-Refining the Plot
- square root scales, Square Root Scales
- time scales, Time Scales-Formatting dates and strings
- scatterplots
- scope
- screen coordinates vs. geo-coordinates, Adding Points
- scripts, Referencing Scripts
- select(), One Link at a Time, Select
- selectAll(), Select
- selection.append(), Selections
- selection.attr(), Selections
- selection.call(), Axes
- selection.classed(), Selections
- selection.data(), Data
- selection.datum(), Data
- selection.each(), Selections
- selection.enter(), Data
- selection.exit(), Data
- selection.filter(), Data
- selection.merge(), Data
- selection.on(), Interactivity
- selection.remove(), Selections, Data
- selection.style(), Selections
- selection.text(), Selections
- selection.transition(), Transitions
- selections
- chained syntax for, Getting More Specific-Getting More Specific
- D3 methods for making, Selections, Selections
- enter selection, The Enter Selection-The Enter Selection
- exit selection, The Exit Selection
- filtering based on data, Filtering Selections Based on Data-To each() Their Own
- inability to modify, Selections
- merging, Merging Selections-Merging Selections
- overview of, A Closer Look at Selections-A Closer Look at Selections
- storing, Storing Selections
- selectors, CSS
- semantic structure, Content Plus Structure
- sequential numbers, generating arrays of, Ordinal Scales, Explained
- servers, The Web
- shape-rendering property, Positioning Axes
- shapefiles, Find Shapefiles
- sibling elements, DOM
- sort(), Click to Sort
- sorting, Click to Sort
- source code, viewing, Developer Tools
- space-based indentation, Getting More Specific
- specificity, Inheritance, Cascading, and Specificity
- square root scales, Square Root Scales
- stack layout
- stack(), Load and Parse the Data
- staggered transitions, Please Do Not delay()
- strict equality operators, Dynamic typing
- style(), Beyond Text, Setting Styles
- styles
- SVG (Scalable Vector Graphics)
- adding colors to, Pretty Colors, Oooh!
- applying styles to elements, Styling SVG Elements
- applying transparency, Transparency
- axis functions and, Introducing Axes
- benefits of, SVG
- browser compatibility, A Note on Compatibility
- creating elements, The SVG Element, Create the SVG
- creating shapes, Simple Shapes, Data-Driven Shapes
- creating tooltips, SVG Element Tooltips
- drawing irregular forms (see paths)
- drawing overlapping shapes, Layering and Drawing Order, Hover to Highlight
- exporting D3 visualizations as, SVG-SVG
- grouping elements, Grouping SVG Elements
- layering and drawing order, Layering and Drawing Order
- property/value pairs, Drawing SVGs
- styling with CSS, Positioning Axes
- transformations, Positioning Axes
T
- tags, Adding Structure with Elements
- text(), One Link at a Time
- text-based data, Data
- this keyword, Hover to Highlight
- 3D drawing
- tickFormat(), Formatting Tick Labels
- ticks (time measurement), Updating Visuals over Time
- tickValues(), Check for Ticks
- time scales, Time Scales-Formatting dates and strings
- time-based axes, Time-Based Axes
- tooltips, Tooltips-HTML div Tooltips
- touch-based interfaces, Consideration for Touch Devices
- transformations, What It Does, Setting Up an Axis-Positioning Axes, Positioning Axes
- transition.delay(), Transitions
- transition.duration(), Transitions
- transition.ease(), Transitions
- transition.on(), Transitions
- transitions
- adding animated, Transitions
- chaining together, End gracefully
- clipping paths, Containing visual elements with clipping paths, Area Charts
- controlling duration of, duration(), or How Long Is This Going to Take?
- definition of term, Updates, Transitions, and Motion
- delaying start of, Please Do Not delay()
- equalizing pace of, ease()-y Does It
- exit transition, Exit transition
- in mouseover events, Hover to Highlight
- interrupted, Click to Sort
- limit to active number, Warning: Start carefully
- marking beginnings/endings of, on() Transition Starts and Ends
- methods quick reference, Transitions
- randomizing data, Randomizing the Data
- updating axes, Updating Axes
- updating scales, Updating Scales
- version 4.0 changes, Transitions
- translation transforms, Positioning Axes
- transparency, Transparency
- tutorials, Preface
- .txt (plain text files), Data
- type converting, Dynamic typing
- type selectors, Selectors
- typeof operator, Dynamic typing
- typographical conventions, Conventions Used in This Book
U
- ul (unordered list), Rendering and the Box Model
- updates, Updates, Transitions, and Motion-Recap (see also transitions)
- adding and removing data, Add and Remove: Combo Platter
- adding values/elements, Other Kinds of Data Updates-Update
- animation of, Transitions
- bar charts, Modernizing the Bar Chart-Other Updates
- basic steps to, Updating Data, Changing the Data
- data joins, Data Joins with Keys-Exit transition
- event listeners and, Interaction via Event Listeners
- overview of, Recap
- removing values/elements, Removing Values (and Elements)-Making a smooth exit
- URLs (Uniform Resource Locators), The Web
V
- values
- variable hoisting, Variable hoisting
- variable scope, Function-level scope
- variables, Variables, Create the SVG
- vector data, Choose a Resolution
- vertical axis, Y Not?
- visual rules, Rendering and the Box Model
- visual structure, Content Plus Structure
- visualization, definition of, Why Data Visualization?
- (see also data visualization)
..................Content has been hidden....................
You can't read the all page of ebook, please click
here login for view all page.