Interactive data visualization for the web [electronic book] : an introduction to designing with D3 / Scott Murray.
By: Murray, Scott (College teacher) [author]
.
Material type:
BookPublisher: Sebastopol, CA : O'Reilly Media, Inc., 2017Copyright date: ©2017Edition: Second Edition.Description: online resource (xvi, 447 pages) : illustrations (some color).Content type: text Media type: computer Carrier type: online resourceISBN: 9781491921289 (paperback); 9781491921326 (e-book).Subject(s): JavaScript (Computer program language) -- Handbooks, manuals, etc| Item type | Current library | Call number | Status | Notes | |
|---|---|---|---|---|---|
| eBook | MTU Online eBook | 005.133 (Browse shelf(Opens below)) | Available | CIT Module COMP 8054 - Core reading |
Enhanced descriptions from Syndetics:
Create and publish your own interactive data visualization projects on the webâ??even if you have little or no experience with data visualization or web development. Itâ??s inspiring and fun with this friendly, accessible, and practical hands-on introduction. This fully updated and expanded second edition takes you through the fundamental concepts and methods of D3, the most powerful JavaScript library for expressing data visually in a web browser.
Ideal for designers with no coding experience, reporters exploring data journalism, and anyone who wants to visualize and share data, this step-by-step guide will also help you expand your web programming skills by teaching you the basics of HTML, CSS, JavaScript, and SVG.
Learn D3 4.xâ??the latest D3 versionâ??with downloadable code and over 140 examples Create bar charts, scatter plots, pie charts, stacked bar charts, and force-directed graphs Use smooth, animated transitions to show changes in your data Introduce interactivity to help users explore your data Create custom geographic maps with panning, zooming, labels, and tooltips Walk through the creation of a complete visualization project, from start to finish Explore inspiring case studies with nine accomplished designers talking about their D3-based projectsIncludes bibliographical references and index.
Introducing D3 -- Technology fundamentals -- Setup -- Data -- Drawing with data -- Scales -- Axes -- Updates, transitions, and motion -- Interactivity -- Using paths -- Selections -- Layouts -- Geomapping -- Exporting -- Project walk-through.
Author Scott Murray teaches you the fundamental concepts and methods of D3, a JavaScript library that lets you express data visually in a web browser.
CIT Module COMP 8054 - Core reading.
Electronic reproduction.: ProQuest LibCentral. Mode of access: World Wide Web.
Table of contents provided by Syndetics
- Preface (p. xi)
- 1 Introduction (p. 1)
- Why Data Visualization? (p. 1)
- Why Write Code? (p. 2)
- Why Interactive? (p. 2)
- Why on the Web? (p. 3)
- What This Book Is (p. 3)
- Who You Are (p. 4)
- What This Book Is Not (p. 5)
- Using Sample Code (p. 5)
- Thank You (p. 6)
- 2 Introducing D3 (p. 7)
- What It Does (p. 7)
- What It Doesn't Do (p. 8)
- Origins and Context (p. 9)
- Alternatives (p. 10)
- Easy Charts (p. 10)
- Graph Visualizations (p. 11)
- Geomapping (p. 11)
- Almost from Scratch (p. 12)
- Three-Dimensional (p. 13)
- Tools Built with D3 (p. 13)
- 3 Technology Fundamentals (p. 17)
- The Web (p. 17)
- HTML (p. 19)
- Content Plus Structure (p. 20)
- Adding Structure with Elements (p. 21)
- Common Elements (p. 22)
- Attributes (p. 24)
- Classes and IDs (p. 24)
- Comments (p. 25)
- DOM (p. 26)
- Developer Tools (p. 26)
- Rendering and the Box Model (p. 29)
- CSS (p. 30)
- Selectors (p. 31)
- Properties and Values (p. 32)
- Comments (p. 32)
- Referencing Styles (p. 33)
- Inheritance, Cascading, and Specificity (p. 34)
- JavaScript (p. 36)
- Hello, Console (p. 36)
- Variables (p. 37)
- Other Variable Types (p. 37)
- Arrays (p. 37)
- Objects (p. 39)
- Objects and Arrays (p. 39)
- Mathematical Operators (p. 42)
- Comparison Operators (p. 42)
- Logical Operators (p. 42)
- Control Structures (p. 43)
- Functions (p. 46)
- Comments (p. 46)
- Referencing Scripts (p. 47)
- JavaScript Gotchas (p. 47)
- SVG (p. 52)
- The SVG Element (p. 53)
- Simple Shapes (p. 54)
- Styling SVG Elements (p. 56)
- Layering and Drawing Order (p. 58)
- Transparency (p. 59)
- A Note on Compatibility (p. 62)
- 4 Setup (p. 63)
- Downloading D3 (p. 63)
- Referencing D3 (p. 63)
- Setting Up a Web Server (p. 64)
- Terminal with Python (p. 65)
- MAMP, WAMP, and LAMP (p. 66)
- Diving In (p. 66)
- 5 Data (p. 67)
- Generating Page Elements (p. 67)
- Chaining Methods (p. 70)
- One Link at a Time (p. 71)
- The Handoff (p. 72)
- Going Chainless (p. 72)
- Binding Data (p. 72)
- In a Bind (p. 73)
- Data (p. 73)
- Please Make Your Selection (p. 79)
- Bound and Determined (p. 80)
- Using Your Data (p. 83)
- High-Functioning (p. 84)
- Data Wants to Be Held (p. 85)
- Beyond Text (p. 86)
- 6 Drawing with Data (p. 89)
- Drawing divs (p. 89)
- Setting Attributes (p. 90)
- A Note on Classes (p. 91)
- Back to the Bars (p. 91)
- Setting Styles (p. 92)
- The Power of data() (p. 93)
- Random Data (p. 95)
- Drawing SVGs (p. 97)
- Create the SVG (p. 97)
- Data-Driven Shapes (p. 98)
- Pretty Colors, Oooh! (p. 100)
- Making a Bar Chart (p. 101)
- The Old Chart (p. 101)
- The New Chart (p. 102)
- Color (p. 107)
- Labels (p. 108)
- Making a Scatterplot (p. 110)
- The Data (p. 110)
- The Scatterplot (p. 111)
- Size (p. 112)
- Labels (p. 114)
- Next Steps (p. 115)
- 7 Scales (p. 117)
- Apples and Pixels (p. 117)
- Domains and Ranges (p. 118)
- Normalization (p. 119)
- Creating a Scale (p. 119)
- Scaling the Scatterplot (p. 120)
- d3.min() and d3.max() (p. 120)
- Setting Up Dynamic Scales (p. 122)
- Incorporating Scaled Values (p. 122)
- Refining the Plot (p. 123)
- Other Methods (p. 127)
- Other Scales (p. 127)
- Square Root Scales (p. 128)
- Time Scales (p. 129)
- 8 Axes (p. 135)
- Introducing Axes (p. 135)
- Setting Up an Axis (p. 136)
- Positioning Axes (p. 138)
- Check for Ticks (p. 141)
- Y Not? (p. 143)
- Final Touches (p. 144)
- Formatting Tick Labels (p. 145)
- Time-Based Axes (p. 147)
- 9 Updates, Transitions, and Motion (p. 149)
- Modernizing the Bar Chart (p. 149)
- Ordinal Scales, Explained (p. 150)
- Starting Your Own Band (p. 152)
- Referencing the Band Scale (p. 153)
- Other Updates (p. 153)
- Updating Data (p. 154)
- Interaction via P/vent Listeners (p. 154)
- Changing the Data (p. 155)
- Updating the Visuals (p. 156)
- Transitions (p. 158)
- Duration(), or How Long Is This Going to Take? (p. 159)
- Ease()-y Does It (p. 161)
- Please Do Not delay() (p. 162)
- Randomizing the Data (p. 164)
- Updating Scales (p. 167)
- Updating Axes (p. 169)
- On() Transition Starts and Ends (p. 171)
- Other Kinds of Data Updates (p. 178)
- Adding Values (and Elements) (p. 178)
- Removing Values (and Elements) (p. 183)
- Data Joins with Keys (p. 186)
- Add and Remove: Combo Platter (p. 192)
- Recap (p. 193)
- 10 Interactivity (p. 195)
- Binding Event Listeners (p. 195)
- Introducing Behaviors (p. 196)
- Hover to Highlight (p. 197)
- Grouping SVG Elements (p. 202)
- Click to Sort (p. 203)
- Tooltips (p. 207)
- Default Browser Tooltips (p. 208)
- SVG Element Tooltips (p. 209)
- HTML div Tooltips (p. 211)
- Consideration for Touch Devices (p. 214)
- Moving Forward (p. 214)
- 11 Using Paths (p. 217)
- LineCharts (p. 218)
- Data Preparation (p. 219)
- Scale Setup (p. 221)
- Line 'em Lip (p. 222)
- Dealing with Missing Data (p. 224)
- Refining the Visuals (p. 226)
- Area Charts (p. 227)
- 12 Selections (p. 231)
- A Closer Look at Selections (p. 231)
- Getting More Specific (p. 235)
- Storing Selections (p. 238)
- Enter, Merge, and Exit (p. 239)
- The Enter Selection (p. 240)
- Merging Selections (p. 244)
- The Exit Selection (p. 248)
- Filtering Selections Based on Data (p. 249)
- To each() Their Own (p. 255)
- 13 Layouts (p. 259)
- Pie Layout (p. 260)
- Stack Layout (p. 264)
- A New Order (p. 268)
- Anchoring Those Bars (p. 269)
- Stacked Areas (p. 270)
- Force Layout (p. 273)
- Preparing the Network Data (p. 273)
- Defining the Force Simulation (p. 274)
- Creating the Visual Elements (p. 275)
- Updating Visuals over Time (p. 276)
- Draggable Nodes (p. 278)
- 14 Geomapping (p. 281)
- JSON, Meet GeoJSON (p. 281)
- Paths (p. 283)
- Projections (p. 285)
- Choropleth (p. 287)
- Adding Points (p. 291)
- Panning (p. 295)
- Transitioning the Map (p. 299)
- Dragging the Map (p. 299)
- Border Problems (p. 302)
- Zooming (p. 302)
- Fixing the Pan Buttons (p. 307)
- Zoom-y Buttons (p. 307)
- Constraining Panning and Zooming (p. 308)
- Preset Views (p. 310)
- Value Labels (p. 311)
- Acquiring and Preparing Raw Geodata (p. 313)
- Find Shapefiles (p. 314)
- Choose a Resolution (p. 315)
- Simplify the Shapes (p. 316)
- Convert to GeoJSON (p. 318)
- Choose a Projection (p. 321)
- 15 Exporting (p. 323)
- Bitmaps (p. 323)
- PDF (p. 324)
- SVG (p. 325)
- 16 Project Walk-Through (p. 331)
- Prepare the Data (p. 331)
- Load and Parse the Data (p. 334)
- Render the Initial View (p. 337)
- Add Interactivity (p. 341)
- Refine Styling (p. 351)
- Provide Context (p. 352)
- Dancing Versus Gardening (p. 356)
- A Case Studies (p. 359)
- B What's New in 4.0 (p. 405)
- C Further Study (p. 411)
- D Sharing Your Code (p. 417)
- E Quick Reference (p. 429)
- Index (p. 439)