We may earn an affiliate commission when you visit our partners.
Nicholas Gati

Welcome to D3.js: From Beginner To Understanding. This course is an introduction to the vast world of D3.js. Create beautiful interactive data visualizations with D3.js v5. If you are new to D3, this is a great beginner's guide to understanding how D3 works at an introductory level. You will learn how to create data visualizations by understanding how small pieces work before putting them all together into a chart. Understanding the smaller, less complicated concepts will enable you to build out more accurate ways to display your data so that you or your business can make better-informed decisions. In this course, we start out with simple concepts first. With each lesson, we build upon what we had learned in the lessons before and by the time you create your first data visualization, you will have a much clearer understanding of how D3 v5 works and how each small chunk of code contributes to the overall data visualization. By learning in this way, you will understand how to manipulate the visualization to best represent your data. Come join us on this journey to understand the basics of D3.js v5 and bring your skillset to the next level. I'll see you in the first lesson.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

In this section, students will learn about what a data visualization is, what makes a great data visualization, and what common data formats they will encounter.
Read more

Welcome to D3.js: From Beginner To Understanding! This course is intended to be an introduction to D3 that will serve as a foundation and enable you to learn more advanced concepts as you continue using D3. By the end of this course you will understand the basic concepts of D3.js (v5) and will have created many interactive data visualizations. I do my best to go through the material slowly and explain things in different ways throughout the course so that understanding the many concepts is easier. The course contains projects, quizzes, and homework assignments so that you can practice what you learned on your own with your own data. So, let's get started! (Music in this video is provided by https://www.bensound.com)

This lesson discusses what a data visualization is and why we create them. Attached to this lesson are two examples of data visualizations. We will be creating both of the charts in the attached pictures during this course.

This lesson briefly goes over what makes a great data visualization. Keep these pointers in mind when creating your own charts and graphs.

This is the link to the GitHub repository.

In this lesson, we are going to set up a server using Express.js and use Express-Handlebars as our templating language.

In this lesson we finish our setup. We set them up in such a way that we can focus on D3.js for the remainder of the course instead of continuously having to update our server setup for each new project or assignment. Attached to this lecture is the index.css file populated with pre-written CSS.

D3.js makes accessing CSV, TSV, and JSON files very easy with its intuitively-named methods: d3.csv(), d3.tsv(), and d3.json(). The purpose of this lesson is to expose you to these methods since we will be using them to access the files which store our data for the remainder of the course.

In this lesson, we briefly go over the difference between D3's selection methods and how to implement them.

In this lesson, we briefly go over data joins and D3's .data(), .enter(), .update(), and .exit() methods.

In this lesson we briefly go over how to create SVG elements without using D3.js.

In this lesson we briefly go over how to create SVG elements with D3. We take examples from the previous lesson and do them with D3.js.

In this lesson you will learn how to create an SVG circle using D3.js.

In this lesson you will learn how to create an SVG line using D3.js.

In this lesson students will learn how to create a single SVG rectangle using D3.js.

In this lesson, students will learn how to create elements in D3.js using a dataset and style them.

In this lesson students will learn how to attach events to elements using D3.js.

This lesson provides a basic overview and an example of the linear scale using D3.js.

This lesson provides a basic overview and an example of the ordinal scale using D3.js.

This lesson provides a basic overview of the scale band as well as a comparison between d3.scaleBand() and d3.scaleOrdinal().

In this lesson, we go over D3's time scales as well as built-in functions for parsing and formatting time.

In this lesson, we put the linear scale to use by creating a line and then scaling it.

In this lesson we remake the scaled line from our last lesson and then add a small amount of code to animate it.

In this lesson, we go one step further and add an X and Y axis around our scaled line.

In this lesson, we take the basic line chart that we built in the last lesson and add points.

In this lesson we go over how to create an area chart. We see how similar it is to the line chart in the previous lessons.

In this lesson, we build another line chart but this time, using data from a CSV which requires us to utilize the time scale.

In this lesson, we build a vertical bar chart showing the diameters of our solar system's planets.

In this lesson, we go over how to create a horizontal bar chart.

In this lesson we are introduced to D3's Pie Layout and Arc Generator. We learn how to use these two tools by creating a simple pie chart in the shape of a peace sign.

In this lesson, we build upon what we had learned in the previous lesson and add text labels and transitions to our pie chart.

In this lesson, we get creative! We build another pie chart but this time, with exaggerated corner radii. The result of this type of exaggeration, is a pie chart that looks like a flower. We then add labels and hover events and use one of D3's own color schemes.

In this lesson we go over how to update the data and transition between the two datasets.

In this lesson we go over how to update data and transition the bars and axis of a bar chart between the changing datasets.

In this lesson, we take what we had built in the previous lesson and add user interactivity. Instead of updating the chart on a set interval, we enable the user to selecta filtering option which then re-renders the chart.

In this lesson, we take the simple pie chart from our "Peace!" lesson and transition between multiple datasets.

Thank you everyone who took this course. I really hope you learned a lot and have a better understanding of D3.js. I hope that you take the information that you have learned in this course and go on to more advanced aspects of D3.js and data visualizations in general. Thanks again!

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Starts with simple concepts and gradually builds upon them, making it easier for beginners to grasp the fundamentals of D3.js and data visualization techniques
Uses Express.js and Express-Handlebars for server setup, allowing learners to focus on D3.js without getting bogged down in server configurations
Covers how to access CSV, TSV, and JSON files using D3.js methods, which are common data formats used in data analysis and visualization
Explores how to create SVG elements with and without D3.js, providing a solid foundation for creating custom visualizations
Teaches how to create various chart types, including line, area, and bar charts, providing a comprehensive overview of data visualization techniques
Focuses on D3.js v5, which was released in 2018 and is not the most recent version, so learners may need to adapt their knowledge to newer versions

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Solid beginner introduction to d3.js v5

According to students, this course provides a solid and understandable introduction to D3.js v5, making it an excellent starting point for beginners. Many appreciate the instructor's clear explanations and thoughtful pace, which help to break down the inherent complexity of D3. The course includes helpful, hands-on projects and examples that are key for learning by doing. While it is highly praised for its foundational coverage, some learners mention that prior JavaScript knowledge is beneficial, and that the content focuses specifically on version 5, rather than newer releases.
Content is specific to D3.js version 5.
"Just be aware this course teaches D3 v5, not the latest version."
"It's great for understanding the core principles as they were in v5."
"While v5 is covered thoroughly, some newer features aren't included."
"The code works fine for v5 environments."
Basic JS knowledge is recommended.
"You definitely need some foundational JavaScript knowledge."
"It was a bit challenging in places without a strong JS background."
"Assumes familiarity with HTML, CSS, and basic JS concepts."
"Not a course on coding from scratch; requires basic web dev skills."
Hands-on examples reinforce learning.
"Learning by doing the projects was the most valuable part for me."
"The examples provided were practical and directly applicable."
"Building charts alongside the lessons really solidified my understanding."
"The assignments were useful for practicing the concepts taught."
Concepts explained simply and effectively.
"The instructor did a fantastic job explaining complex topics clearly."
"His step-by-step approach made everything easy to follow."
"I appreciated how he broke down the theory before diving into code."
"Lectures were easy to understand and well-structured."
Excellent first step into D3.js v5.
"This course is a great starting point if you're new to D3.js."
"I found the pace and explanations perfect for someone with no prior D3 experience."
"It really helped me grasp the basic concepts without feeling overwhelmed."
"A solid foundation for anyone just beginning with data visualization using D3."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in D3.js v5: From Beginner To Understanding with these activities:
Review Basic JavaScript Concepts
Strengthen your JavaScript foundation to better understand D3.js, which relies heavily on JavaScript for manipulating the DOM and handling data.
Browse courses on JavaScript Fundamentals
Show steps
  • Review JavaScript syntax and data types.
  • Practice writing basic JavaScript functions.
  • Familiarize yourself with DOM manipulation concepts.
Read 'Interactive Data Visualization for the Web' by Scott Murray
Supplement your learning with a comprehensive guide to D3.js, covering fundamental concepts and techniques for creating interactive visualizations.
Show steps
  • Obtain a copy of 'Interactive Data Visualization for the Web'.
  • Read the introductory chapters on D3.js fundamentals.
  • Work through the examples provided in the book.
Create a Simple Bar Chart Visualization
Apply your knowledge by building a basic bar chart using D3.js, reinforcing your understanding of selections, scales, and data binding.
Show steps
  • Choose a dataset for your bar chart.
  • Create the SVG container and bind the data.
  • Implement scales for the x and y axes.
  • Render the bars and axes.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Follow D3.js Tutorial on Observable
Enhance your skills by following interactive D3.js tutorials on Observable, a platform for collaborative data exploration and visualization.
Show steps
  • Find a D3.js tutorial on Observable.
  • Follow the tutorial step-by-step.
  • Experiment with the code and modify it.
Write a Blog Post on D3.js Scales
Solidify your understanding of D3.js scales by writing a blog post explaining different scale types and their applications.
Show steps
  • Choose a specific D3.js scale to focus on.
  • Research the scale and its properties.
  • Write a clear and concise explanation of the scale.
  • Include examples of how to use the scale.
Read 'D3 Tips and Tricks' by Malcolm Maclean
Deepen your knowledge with practical tips and tricks for solving common D3.js challenges, enhancing your ability to create efficient and effective visualizations.
Show steps
  • Obtain a copy of 'D3 Tips and Tricks'.
  • Browse the table of contents for relevant topics.
  • Study the code examples and adapt them to your projects.
Contribute to a D3.js Open Source Project
Gain practical experience and contribute to the D3.js community by participating in an open-source project, improving your coding skills and understanding of complex visualizations.
Show steps
  • Find a D3.js open-source project on GitHub.
  • Review the project's documentation and issues.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete D3.js v5: From Beginner To Understanding will develop knowledge and skills that may be useful to these careers:
Data Visualization Engineer
A Data Visualization Engineer is responsible for designing, developing, and implementing interactive data visualizations. This course is an introduction to the world of D3.js and helps build a foundation in creating interactive data visualizations that can be used to make better-informed decisions. With the course's step-by-step approach to understanding how D3 works, you will learn how to manipulate visualizations to best represent data. This course covers selections, data joins, SVGs, basic SVG shapes, scales, transitions and events and helps one in a career as a Data Visualization Engineer.
Interactive Designer
Interactive Designers create engaging digital experiences. This course helps build a foundation in understanding how D3.js works at an introductory level. By learning how to create interactive data visualizations, the Interactive Designer can enhance user interfaces and make data more accessible to the general public. This course covers basic concepts such as selections and data joins and the creation of SVGs.
Data Storyteller
Data Storytellers weave narratives around data to make it more engaging and understandable. This course will be very helpful since it teaches D3.js, a powerful tool for creating interactive visualizations. The ability to present data in a compelling and informative manner is crucial for a Data Storyteller, and this course provides you with a foundation in that skill. This course introduces selections, data joins, SVGs, basic SVG shapes, scales, transitions and events and can enhance a career as a Data Storyteller.
Scientific Visualization Specialist
Scientific Visualization Specialists transform complex scientific data into visual representations. This course will be very helpful since it will enable the specialist to create compelling visualizations using D3.js that can be used to discover new understandings about the data. The course introduces selections, data joins, SVGs, basic SVG shapes, scales, transitions and events and can enhance a career as a Scientific Visualization Specialist.
Data Journalist
Data Journalists use data to uncover stories and present them in an engaging way. This course helps build a foundation in D3.js, creating interactive data visualizations that can be used to make better-informed decisions. By learning how to represent data visually in an engaging manner, a Data Journalist can communicate stories more effectively and capture the audience's attention. The ability to present data in a clear, engaging manner so that the audience can understand is crucial for a Data Journalist. This course covers selections, data joins, SVGs, basic SVG shapes, scales, transitions and events.
Frontend Developer
Frontend Developers implement visual elements that users see and interact with in a web application. This course may be useful as it discusses how to leverage D3.js to create interactive data visualizations. With the knowledge gained from this course, they can enhance user interfaces with compelling and informative charts and graphs, making complex data accessible and understandable. Understanding the smaller, less complicated concepts will allow the Frontend Developer to build accurate ways to display data. The course covers selections, data joins, SVGs and helps in the career growth of a Frontend Developer.
User Interface Developer
User Interface Developers focus on the design and implementation of user interfaces. This course may be useful as it covers D3.js, a library that enables the creation of dynamic and interactive data visualizations. A User Interface Developer can use these skills to enhance user experience by embedding data-driven graphics within applications. With the course's step-by-step approach to understanding how D3 works, you will learn how to manipulate visualizations to best represent data. The course covers selections, data joins and helps one in a career as a User Interface Developer.
Full-Stack Developer
Full Stack Developers work on both the frontend and backend of web applications. This course may be useful as it introduces D3.js, a library that allows for the creation of interactive data visualizations for the frontend. A Full Stack Developer can use this knowledge to build data-rich applications with engaging user interfaces. Understanding the smaller, less complicated concepts will allow the Full Stack Developer to build accurate ways to display data. The course covers selections, data joins, SVGs and helps in the career growth of a Full Stack Developer.
Web Developer
Web Developers design and build websites. This course may be useful as it introduces D3.js, a Javascript library for producing dynamic, interactive data visualizations in web browsers. A Web Developer can use these skills to enhance website functionality by embedding data-driven graphics within an application. Understanding the smaller, less complicated concepts will allow the Web Developer to build accurate ways to display data. This course helps build a foundation in D3.js.
Business Intelligence Analyst
Business Intelligence Analysts interpret data and transform it into insights that drive business decisions. This course may be useful as it teaches D3.js, a powerful tool for creating interactive visualizations. The ability to present data in a clear, engaging manner is crucial for a Business Intelligence Analyst, and this course provides the skills to do so effectively. This course introduces selections, data joins, SVGs, basic SVG shapes, scales, transitions and events and helps in the career growth of a Business Intelligence Analyst.
Data Analyst
Data Analysts examine data to identify trends, answer questions, and make recommendations. While this role often involves statistical tools, this course may be useful by providing the valuable skill of creating compelling visualizations using D3.js. By learning how to represent data visually, a Data Analyst can communicate findings more effectively to stakeholders. Understanding the smaller, less complicated concepts will allow the Data Analyst to build accurate ways to display data. This course helps build a foundation in D3.js.
Data Scientist
Data Scientists analyze large datasets to extract valuable insights and build predictive models and often hold advanced degrees (master's or phd, for example). While this role is heavily statistically focused, this course may be useful by providing the ability to create compelling visualizations using D3.js to communicate findings. This course starts out with simple concepts first and then builds on those concepts. With the course's step-by-step approach to understanding how D3 works, you will learn how to manipulate visualizations to best represent data. This course helps build a foundation in D3.js.
Information Architect
Information Architects design the structure and organization of information within websites and applications. This course may be useful as it covers D3.js, which enables the creation of interactive data visualizations. An Information Architect can use these skills to create intuitive and engaging ways for users to access and understand complex data. Understanding the smaller, less complicated concepts will allow the Information Architect to build accurate ways to display data. This course helps build a foundation in D3.js.
UX Designer
A UX Designer enhances user satisfaction by improving the usability, accessibility, and desirability of a product. This course may be useful as it introduces D3.js for creating interactive data visualizations. By learning how to represent data visually and engagingly, a UX Designer can make data-driven features more user-friendly. Understanding the smaller, less complicated concepts will allow them to build accurate ways to display data. This course helps build a foundation in D3.js, creating interactive data visualizations that can be used to make better-informed decisions.
Market Research Analyst
Market Research Analysts study market conditions to examine potential sales of a product or service. This course may be useful, enhancing the ability of a Market Research Analyst to present key findings effectively. The course helps build a foundation in D3.js, creating interactive data visualizations. By learning how to represent data visually, a Market Research Analyst can make data-driven insights more accessible to stakeholders. This course introduces selections, data joins, SVGs, transitions and events.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in D3.js v5: From Beginner To Understanding.
Provides a comprehensive guide to creating interactive data visualizations using D3.js. It covers fundamental concepts and techniques, making it an excellent resource for both beginners and experienced developers. The book's step-by-step approach and clear explanations complement the course material, offering a deeper understanding of D3.js principles. It is commonly used as a reference text for learning D3.js.
Offers practical solutions and techniques for common D3.js challenges. It provides concise explanations and code examples, making it a valuable resource for intermediate to advanced D3.js users. While not a comprehensive introduction, it serves as a useful reference for specific tasks and troubleshooting. It adds more depth to the course by addressing real-world scenarios and optimization strategies.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser