Data Visualization Libraries for React Developers in 2019

For the second year in a row React stays among the top three most loved and acknowledged libraries by professional developers all around the world. And not without reason. Let me outline its main benefits for building user interfaces:

  • The system components are highly reusable and writing custom components is a mostly painless process.
  • Easy learning curve.
  • Due to the presence of virtual DOM, it’s suitable for scalable and high-performance apps.
  • With the help of the diffing algorithm under the hood, React components are updated efficiently. This feature ensures better performance of the app.
  • It’s lightweight, open-source and SEO-friendly.
  • The community is active. At the time of writing, its GitHub repository counts more than 120k of stars.

All the aforementioned facts make this library one of the best for building high-quality graphical user interfaces.

To start using React like a pro, you should get familiar with a set of basic concepts at first. These include JSX, elements rendering, components, state and life cycles, a composition model and events handling. Though these terms appear a bit complicated at first, when you start learning you’ll notice that the learning curve is shorter than the one for Angular, for example.

Analysis in React projects

Have you ever experienced the necessity to enhance an application with analytical and visualization features and get insights from the data?

Well, so as not to let you get lost in a great range of tools, I’d be happy to present you the review of libraries for React which can be easily embedded into your website or app.

I’ve tried to pick the cream of the crop for data visualization and analysis but this list can be supplemented with other powerful libraries.

Charting tools

Victory by FormidableLabs

Victory is an ecosystem of reusable React components for creating charts. What immediately catches my eye is their stylishness and interactiveness. The animation is really smooth, check it out:

The components can be altered, wrapped or created from scratch. That means that the developers who prefer to customize everything will fall in love with this library.

Starting a visualization project is straightforward— you need to import the Victory library into your project, add the data and embed a component into the web page.

What is more, it has an additional version for React Native.

Besides, the experience with the documentation seems user-friendly and intuitive. I’ve managed to find everything I needed to start visualizing my data.

React-vis

Uber succeeds not only in the field of ride-hailing services but also in the development of visualization systems. React-vis is a library that offers an extensive collection of charts for React apps. Its components work similarly to plain React components we are used to. To create your first visualization, install the library via npm, import CSS styles and components you need, render them on a page and voila! The data is displayed in charts.

Among all the charts, a force-directed graph is what fascinated me the most cause before this I’ve tried to create this kind of graph using the D3.js library and found the entire process a bit intricate. React-vis simplifies this task a lot.


Charting tools are great when used independently but shine if connected to the aggregated data. Judging from my experience, I’m sure that charts and pivot tables are able to produce incredible results when combined together in a form of a dashboard.

So, let’s move on to the tools which help to create reports directly in the React project.

Reporting tools

WebDataRocks Pivot Table

WebDataRocks is a JavaScript pivot table component which is compatible with React and other frameworks. It supports connection to remote/local JSON and CSV data sources. What makes it special is that it’s completely free and customizable. With WebDataRocks, you can take advantage of the classical reporting features: aggregating, filtering, sorting, slicing and dicing the data. To complete the report, I recommend highlighting the cells via conditional formatting to emphasize the most important values.

It takes a few steps to start the first reporting project: adding the dependencies to the React project, rendering a component on a web page and filling it with the data. Yes, it’s as easy as it sounds.

An example of report with report filters applied

Flexmonster Pivot Table & Charts

Flexmonster is a more advanced pivot table component and an extended version of WebDataRocks. It serves as an embedded BI for start-ups and enterprise-level projects. The aspect I liked the most is the variety of available data sources: CSV, JSON, OLAP cubes, SQL/NoSQL data, and Elasticsearch. The aggregation functions, filtering, sorting, drill-through, and grouping features are always within your reach on the toolbar. While testing, I was pleasantly surprised by the component’s performance — it handled large amounts of data from my MongoDB database and leveraged grid’s rendering.

From a developer standpoint, the integration process with React project is smooth enough as well as the process of connecting to the database.

I highly recommend this solution for showcasing the business data in a form of recurring or one-off reports. Also, it’s a good idea to visualize the data with the embedded charts or integrate a pivot table with the third-party charting libraries.

Summary

I do hope you’ve found this overview useful for your visualization needs. Feel free to share your suggestions in the comments below. What other React libraries do you use for your app?

References: