
D3.js Quick Start Guide
Create amazing, interactive visualizations in the browser with JavaScript
- 180 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
D3.js Quick Start Guide
Create amazing, interactive visualizations in the browser with JavaScript
About this book
This book will help you build interactive graphs that are viewable in any web browser using JavaScript, D3.js, and SVG. You will learn how to make a scatter plot, a bar graph, a pie chart, a force directed graph, and a map.
Key Features
- Takes you through the most common graphs you'll need
- Add interactivity to your visualizations
- Easy to follow builds
Book Description
D3.js is a JavaScript library that allows you to create graphs and data visualizations in the browser with HTML, SVG, and CSS. This book will take you from the basics of D3.js, so that you can create your own interactive visualizations, to creating the most common graphs that you will encounter as a developer, scientist, statistician, or data scientist.
The book begins with an overview of SVG, the basis for creating two-dimensional graphics in the browser. Once the reader has a firm understanding of SVG, we will tackle the basics of how to use D3.js to connect data to our SVG elements. We will start with a scatter plot that maps run data to circles on a graph, and expand our scatter plot to make it interactive. You will see how you can easily allow the users of your graph to create, edit, and delete run data by simply dragging and clicking the graph. Next, we will explore creating a bar graph, using external data from a mock API.
After that, we will explore animations and motion with a bar graph, and use various physics-based forces to create a force-directed graph. Finally, we will look at how to use GeoJSON data to create a map.
What you will learn
- Build a scatter plot
- Build a bar graph
- Build a pie chart
- Build a force-directed graph
- Build a map
- Build interactivity into your graphs
Who this book is for
This book is for web developers, interactive news developers, data scientists, and anyone interested in representing data through interactive visualizations on the Web with D3. Some basic knowledge of JavaScript is expected, but no prior experience with data visualization or D3 is required to follow this book.
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Building an Interactive Scatter Plot
- Add a link to the D3 library
- Add an<svg>tag and size it with D3
- Create some fake data for our app
- Add SVG circles and style them
- Create a linear scale
- Attach data to visual elements
- Use data attached to a visual element to affect its appearance
- Create a time scale
- Parse and format times
- Set dynamic domains
- Dynamically generate SVG elements
- Create axes
- Display data in a table
Adding a link to the D3 library
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> </body> </html>
<body> <script src="https://d3js.org/d3.v5.min.js"></script> </body>
console.log('this works'); console.log(d3);
<body> <script src="https://d3js.org/d3.v5.min.js"></script> <script src="app.js" charset="utf-8"></script> </body>

Adding an<svg>tag and sizing it with D3
<body> <svg></svg> <script src="https://d3js.org/d3.v5.min.js"></script> <script src="app.js" charset="utf-8"></script> </body>

var WIDTH = 800; var HEIGHT = 600;
Table of contents
- Title Page
- Copyright and Credits
- Packt Upsell
- Contributors
- Preface
- Getting Started with D3.js
- Using SVG to Create Images Using Code
- Building an Interactive Scatter Plot
- Making a Basic Scatter Plot Interactive
- Creating a Bar Graph Using a Data File
- Animating SVG Elements to Create an Interactive Pie Chart
- Using Physics to Create a Force-Directed Graph
- Mapping
- Other Books You May Enjoy