Browser-based visualization has been revolutionized by D3.js, the most flexible and powerful data visualization library available today. Angular 2 will power many of the most interesting and innovative websites and apps in years to come. This practical tutorial gives real-world solutions to how your data can be brought to life by harnessing the power of D3.js and using it in tandem with Angular 2.
The course begins by showing you how to connect data effectively to SVG elements using D3.js and provides an introduction to making D3 data visualizations interactive.
It then moves on to creating a basic Angular 2 application complete with components, services, data and event binding, and a testing infrastructure.
Finally, you will learn how to integrate D3.js into an Angular 2 application. You will build a data dashboard out of flexible Angular 2 components. Towards the end of this volume you will learn to leverage a few advanced features and functionalities such as incorporating real-time data streams, and adding interactivity and animations.
This course will provide you with the knowledge base and skill set to visualize virtually any data set and allow your audience to interact with these visualizations to gain deeper insight.
About The Author
The author has three years expertise with both Angular and D3.js. He uses D3.js frequently and Angular on a daily basis while building internal tools for a rapidly growing financial technology startup.
He followed up this project by introducing the business to D3.js and building out several data visualization features within their internal tools.
He also enjoys building Angular 2 applications on his own time.
The aim of this video is to introduce us to Node.js and install it, and to install npm and make us aware of its features
We will be setting up our configuration files and using NPM to install necessary dependencies
We will get our App up and running in the browser
In order to build interesting visualizations, the viewer will need to know how to import data sets. The most common data used with D3 is JSON, so that is what this video will focus on.
We will build a very basic bar graph and would like to customize it by adding our own styling. We will customize the color, add a transition, and add basic interactivity.
We have created a bar graph with data that maps nicely to pixels. However, when working with real world data sets we will often be working with numbers in the thousands, millions, or even more. We need a way to map this data to a set number of pixels on our screen.
Our bar graph has improved greatly over the last several videos but is still missing vital information. It's time to add axes and labels.
D3 has powerful mapping capabilities, but requires one to understand several file types including shapefiles, geoJSON, and topoJSON.
In order to build a map with D3, we need geographic data along with a data set which we can visualize
Now that we have a topoJSON file, we need to use D3 to visualize the data and geographic features within this file
Our choropleth map looks great, but there's not currently a way to determine what range of values each color corresponds to. We need to add a legend which equates colors to values.
We have built an informative choropleth map, but some of the smaller counties are difficult to find within this map. We need to add some basic zooming functionality.
We would like to be able to access information about each county simply by hovering over it. We can accomplish this with custom tooltips.
This video discusses modularity in Angular 2 apps and why building modular apps is beneficial
Components are essential pieces to every Angular 2 application and will be discussed in detail
Data binding is an extremely important aspect of Angular 2 and will be discussed in detail
Pulling data into an application from an external source is something handled in Angular 2 through services
We want our Angular 2 applications to be well tested, so we’ll discuss the setting up of a unit testing structure here.
In Installation and Setup we learned how to manually setup an Angular 2 application. Manually creating and configuring multiple files for systemjs, typings, and testing can get tedious. The Angular CLI solves this problem.
We want to build dynamic templates that will alter the DOM based on the data passed in to our class.
Our application will need a data service, which can be used by multiple components.
In order to build interesting applications, we will need to understand how to build forms that accept user input.
In order to build more complex apps, we will need to understand how to navigate between multiple views using a router.
In the previous sections, we worked with mock data in our Angular 2 apps. We now want to get our data from a server in real-time.
In the previous sections we worked with either D3 or Angular 2 but never together. In this section we will finally combine them.
Data is hitting our server in real-time as well as D3 is available within our client code. It's time to hook them up!
We now have tweets hitting our app in real-time. We now want to visualize this tweet data using Angular 2 components and D3.
We want to display data about the recent tweets in a scatterplot.
We want to add a map that shows the location of any location-enabled tweets.
We would like to be able to interact with our data dashboard to reveal details about each data point. We would also like to briefly introduce Angular 2 animations.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.