The data visualization community is constantly growing and as a result so is the number of visualization libraries. This is not a bad thing, but when building a custom data visualization tool, choosing the right library can be a daunting task. With so many options available it can be difficult to determine which one to use as they all have their own benefits and limitations. In addition, a lot of the libraries are merely extensions of other libraries, which only adds more confusion. When tackling a new project I typically like to choose a new library so I can stay somewhat current with advances in visualization tools. Here are my top 5 go-to data visualization libraries and why.
D3.js – Data Driven Documents
If it can’t be done with D3 then you’re probably doing something wrong. D3 provides the most customization and flexibility for building data visualizations and comes equipped with a variety of helper functions to process and transform the data. There is a large community using D3, which is extremely helpful when running into challenging problems as well as looking for inspiration on how best to present your data, just browse the thousands of examples. In addition to its flexibility, it is extremely lightweight and will not impact performance like some of the other bloated libraries out there. For those just learning how to build custom data visualizations I would recommend using a different library that offers more plug and play.
Most of the visualizations I create contain a map of some form and my mapping library of choice 99% of the time would have to be Leaflet. It is an extremely easy library to use making map building fast and enjoyable. The API documentation answers most if not all questions you’ll have and there are a lot of great plugins that the community has built to extend the base functionality.
If you have a need to build visualization tools on top of large amounts of data then this is a great library. ZingCharts was built with speed and performance in mind for rendering interactive charts by providing customized sampling and progressive rendering which improves the user experience by reducing the wait time. The visuals look awesome too!
I just started to work with D3plus and found it very easy to use if you have a fast approaching deadline and not a lot of need for customization. I’m not saying you can’t fully customize the visuals provided out of the box, but you get a lot of great tools in the base library that are fully interactive and beautiful. It comes with all the visualizations you’ll likely need from basic bar charts, line plots, and scatter plots to geo maps, bubble charts, network graphs and box plots; just to name a few. It is an extension of the D3 library built with ease-of-use and performance in mind so how can you go wrong?
This is a great library when you need to build dashboards with coordinated visualizations. DCjs is based off D3 and cross filter and gives you the tools needed to easily build data exploration tools on top of large datasets. Define dimensions and groups to slice and dice your data through a variety of different charts, all while handling it on the client side.