Book Image

Expert Data Visualization

By : Jos Dirksen
Book Image

Expert Data Visualization

By: Jos Dirksen

Overview of this book

Do you want to make sense of your data? Do you want to create interactive charts, data trees, info-graphics, geospatial charts, and maps efficiently? This book is your ideal choice to master interactive data visualization with D3.js V4. The book includes a number of extensive examples that to help you hone your skills with data visualization. Throughout nine chapters these examples will help you acquire a clear practical understanding of the various techniques, tools and functionality provided by D3.js. You will first setup your D3.JS development environment and learn the basic patterns needed to visualize your data. After that you will learn techniques to optimize different processes such as working with selections; animating data transitions; creating graps and charts, integrating external resources (static as well as streaming); visualizing information on maps; working with colors and scales; utilizing the different D3.js APIs; and much more. The book will also guide you through creating custom graphs and visualizations, and show you how to go from the raw data to beautiful visualizations. The extensive examples will include working with complex and realtime data streams, such as seismic data, geospatial data, scientific data, and more. Towards the end of the book, you will learn to add more functionality on top of D3.js by using it with other external libraries and integrating it with Ecmascript 6 and Typescript
Table of Contents (10 chapters)

Importing SVG from Inkscape and use in D3

We've already shown you how to load external SVG files in a couple of the examples from the previous chapters. In this section, we'll give a quick overview of all the steps you need to load an SVG file that we modified ourselves in Inkscape and show it using D3.

For this, we've taken an SVG image of a tiger and used Inkscape to rotate it so that it looks like this:

Now let's look at the minimal code required to import this tiger (DVD3/src/chapter-08/D08-05.html):

d3.xml('data/tiger.svg', loaded); 

function loaded(err, tiger) {
var tigerSVG = d3.select(tiger.documentElement.querySelector("g")).attr("transform", null).node();
svg.append("g").node().appendChild(tigerSVG);
}
};

When we open this example in the browser, we can see our rotated tiger:

Now we can use D3 to modify the SVG.

...