Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Interactive charts with D3 and Angular
Highest Rated
Rating: 4.8 out of 5(37 ratings)
441 students
Created byCarlos Moura
Last updated 6/2023
English

What you'll learn

  • Integrate D3 and Angular seamlessly from zero to pro
  • Add powerful interactive charts to you angular application
  • Learn D3 from scratch
  • Create basic and advanced interactive charts using D3js
  • Understand how SVG works and apply the knowledge to build more efficient visualizations
  • Reuse and simplify your code and charts by applying inheritance principles and extending base classes
  • Build your own chart library with line, area, bar and column, pie, doughnut, scatter charts, maps, bee swarms...
  • Expand your library with your own charts
  • Apply interactions to your visualizations
  • Create a dashboard using the charts developed in the course
  • Inject legends and tooltips in charts by using angular services

Course content

9 sections362 lectures24h 53m total length
  • Introduction2:31
  • Our project: The Charts Library6:43
  • Setting up the working environment2:29

    Having a good environment is a step further into developing quality software. We will install Visual Studio Code with some essentials extensions + node.js + Github desktop + Angular cli

  • Setting the environment - adding node and angular1:43
  • Creating our first Angular application: DashboardOne2:35

    Our first project, DashboardOne, will be our support to start delving into svg and introduce d3.js to angular.

  • Serving the angular project0:43
  • Adding the bootstrap navbar2:28

    Having created our project we will now add the d3 and bootstrap npm dependencies.

    We will be using bootstrap as a support library to simplify the html coding so we can focus more on d3.

  • DashboardOne - creating the framework2:40

    In this lesson we will create the dashboard component. We will be adding our test charts to visualize our work while learning about d3

  • Anatomy of a chart1:40
  • Why SVG?1:07

    Why choosing the SVG format? What advantages does it bring to our charts?

  • Why SVG?
  • Creating a chart component2:30
  • Adding rectangles to the svg3:34
  • SVG positioning system. Inverting the y3:02
  • Binding data to the chart with Angular ngFor3:07
  • Scaling the chart - part 11:41
  • Scaling the chart - part 25:44
  • Scaling the chart - part 3 - vertical scaling7:00

    Scale chart heights by mapping data values to pixels using a 250-pixel reference, compute the max with the spread operator, and update the rectangle heights and y positions.

  • Adding a padding between rectangles4:26
  • Why do we need margins?1:40
  • Adding margins to the chart3:12

    Define left, right, top, and bottom margins; compute inner width and height from the SVG dimensions; update dimensions accordingly and reserve space for legends.

  • SVG elements - Basic shapes: Line1:20
  • SVG Elements - Basic shapes: Path1:30
  • SVG Path - Tutorial2:16

    Explore svg path commands with d3 and Angular, including move, line, horizontal and vertical lines, cubic and quadratic bezier curves, and arc parameters with flags to generate figures.

  • SVG Path - creating the project and adding a grid5:38

    Create an svg project to test svg path and add a grid. Add horizontal and vertical grid lines every 100 pixels, style with a dashed stroke, and control opacity.

  • SVG Path - polygons6:33
  • SVG Path - The [Q] Quadratic and [C] Cubic Bezier curves9:35
  • SVG Paths - A command - arcs6:07
  • SVG Elements - Basic shapes: Text7:30
  • Adding labels - the x label6:32
  • Adding axis to the chart - Horizontal axis3:55
  • Receiving data as input6:49

    Learn to make a chart input-driven using ngOnChanges, resize on data changes, and refactor to SetParams for API data and D3 integration.

  • Data from API - the API service2:55
  • Api update: Important!!0:15
  • Data from API - getting and displaying data14:18

Requirements

  • Knowledge of javascript
  • Basic knowledge of Angular is an advantage. This is a beginner to intermediate course that will focus more on the integration of D3 into Angular.

Description

D3 is such a powerful language, however it can be difficult to start with.

Angular is an amazing framework but it lacks in data visualizations.

We will connect both worlds and create together amazing interactive charts that will bring your pages to another level.

For the absolute beginners, we will start from zero, understanding the d3 library, how it works, and how to use it. We will go into a depth analysis of the d3 update pattern so you can master the library and avoid the most common mistakes beginners do.

You will connect to api services and transform your data into the right format for each chart.

You will learn the SVG format and standards and how you can use it to create your own customized data visualizations.

We will use angular services and asynchronous data flows to inject data on the charts,

If you already know d3, you will learn about more advanced concepts, using the different d3 libraries, like the d3-array, the d3-force, voronoi partitions and others.

We will create legend and tooltip services, sending and receiving actions to charts and reacting to user inputs.

We will move into reusable charts by creating basic charts and extending them using inheritance.

Finally, you will end the course with a solid base to create your own reusable charts building upon the foundations of what you study here.

Welcome to the world of d3 and angular!


Who this course is for:

  • Angular developers that needs to build dashboards, visualize data or just enhance their apps with some nice charts
  • Developers who wants to create charts using d3
  • Beginners who want to learn d3 from scratch
  • Intermediate user who already know something about d3 but want to consolidade or expand their knowledge