How we used d3.js for
a game-changing P.O.c
How we used d3.js for a game-changing P.O.c
By Shubham Yadav
In 2021, there's no point in collecting data if you cannot extract the best and deepest insights out of it. Businesses that can comprehensively analyze their data hold the power to design their own future. And there's no better way of analyzing data than converting it into visuals, since the human mind registers information and processes most efficiently through what is visible to it. Hence, to make the most accurate decisions, stakeholders are investing in data visualization technologies and tools that accelerate processes and minimize losses. Read our blog on how important dashboards are for fostering business intelligence and deriving the best results from KPIs.
Adopting this mindset, we harnessed the power and scope of JavaScript to build a POC that would later grow into one of our most successful products. Our client needed a data visualization solution to increase the efficiency of their remote power plants multifold, which would give them an edge over their competitors. And sticking to our goal of using the coolest technologies for our products, we decided to use D3.js for providing lightning fast visualization to the web application.
D3.js was the ideal choice because in an extremely competitive industry like ours, you wanna move in and out of technologies and tools with little to no hassle. To progress one can never settle and stay constant. Hence, keeping in mind our client's position as a frontrunner in the Energy sector, D3.js equipped us with flexibility to be used with any JS framework of our choice. Web standards like HTML, CSS, DOM, SVG and JavaScript are heavily used in D3.js, which negated the need for our team to work on any plug-in or third party tool. This was both time-saving and cost-effective, and defying expectations on limited resources has now come to be our USP. D3.Js has a multitude of features that made it ideal for our POC as power plants produce massive volumes of multi-categorical data and D3.js being lightweight renders that data into visuals in literally no time. We were able to generate the graphs 3x faster than the libraries we were using earlier, and with complete control over the end product. We felt like artists painting data on canvases, which made the learning process fun and quick!
What this visualization was supposed to do was to visualize data from all the components in a power plant, like tanks, pumps, wells, etc. This would help provide a thorough understanding of all the functions in the power plant in real time, to remote stakeholders What we and the client liked a lot about D3.js is that it utilizes SVG, which makes all the graphics highly adaptable to variable user resolution. There's no pixel loss at all in high resolution screens. And by using SVG we could also bind click events to DOM elements drawn using the library. There's one in particular, some developers might find the amount of coding required in D3.js to be challenging as it's relatively extensive, but you also have to factor in how this means you can also implement endless ideas to customize it as per your needs. It's open-source basically, so you have direct access to the source code where you can add your own features, and that's exactly what we needed and what we did. We visualized the components of the power plants in a tree-like graph structure. This dynamic connected graph highlighted different components with different color, nodes and edges. Since, we cannot reveal client product information, we'll share a sample graph generated through d3.js to show the kind of visualization we were going for.
Sample image used to show graphs in D3.js since actual image cannot be shared due to confidentiality
All the logs and data from the power plant equipment was converted to a MS Excel sheet, from where we extracted necessary data and saved it in JSON format. The input for the D3.js functionality were data arrays in JSON. We then customized the data depending on component types, properties, size, functions, colors, etc to create an end-to-end system that would give an integrated visual experience to our client.
The clients were more then satisfied with the range this POC provided, and we were then granted the opportunity to build a full-fledged industrial application that would inculcate this visualization technique. Our small team of three managed to get a very good understanding of data visualization through this POC, good enough to now contribute to designing and strategizing a multi-million dollar product! Cheers!
By Shubham Yadav
In 2021, there's no point in collecting data if you cannot extract the best and deepest insights out of it. Businesses that can comprehensively analyze their data hold the power to design their own future. And there's no better way of analyzing data than converting it into visuals, since the human mind registers information and processes most efficiently through what is visible to it. Hence, to make the most accurate decisions, stakeholders are investing in data visualization technologies and tools that accelerate processes and minimize losses. Read our blog on how important dashboards are for fostering business intelligence and deriving the best results from KPIs.
Adopting this mindset, we harnessed the power and scope of JavaScript to build a POC that would later grow into one of our most successful products. Our client needed a data visualization solution to increase the efficiency of their remote power plants multifold, which would give them an edge over their competitors. And sticking to our goal of using the coolest technologies for our products, we decided to use D3.js for providing lightning fast visualization to the web application.
D3.js was the ideal choice because in an extremely competitive industry like ours, you wanna move in and out of technologies and tools with little to no hassle. To progress one can never settle and stay constant. Hence, keeping in mind our client's position as a frontrunner in the Energy sector, D3.js equipped us with flexibility to be used with any JS framework of our choice. Web standards like HTML, CSS, DOM, SVG and JavaScript are heavily used in D3.js, which negated the need for our team to work on any plug-in or third party tool. This was both time-saving and cost-effective, and defying expectations on limited resources has now come to be our USP. D3.Js has a multitude of features that made it ideal for our POC as power plants produce massive volumes of multi-categorical data and D3.js being lightweight renders that data into visuals in literally no time. We were able to generate the graphs 3x faster than the libraries we were using earlier, and with complete control over the end product. We felt like artists painting data on canvases, which made the learning process fun and quick!
What this visualization was supposed to do was to visualize data from all the components in a power plant, like tanks, pumps, wells, etc. This would help provide a thorough understanding of all the functions in the power plant in real time, to remote stakeholders What we and the client liked a lot about D3.js is that it utilizes SVG, which makes all the graphics highly adaptable to variable user resolution. There's no pixel loss at all in high resolution screens. And by using SVG we could also bind click events to DOM elements drawn using the library. There's one in particular, some developers might find the amount of coding required in D3.js to be challenging as it's relatively extensive, but you also have to factor in how this means you can also implement endless ideas to customize it as per your needs. It's open-source basically, so you have direct access to the source code where you can add your own features, and that's exactly what we needed and what we did. We visualized the components of the power plants in a tree-like graph structure. This dynamic connected graph highlighted different components with different color, nodes and edges. Since, we cannot reveal client product information, we'll share a sample graph generated through d3.js to show the kind of visualization we were going for.
Sample image used to show graphs in D3.js since actual image cannot be shared due to confidentiality
All the logs and data from the power plant equipment was converted to a MS Excel sheet, from where we extracted necessary data and saved it in JSON format. The input for the D3.js functionality were data arrays in JSON. We then customized the data depending on component types, properties, size, functions, colors, etc to create an end-to-end system that would give an integrated visual experience to our client.
The clients were more then satisfied with the range this POC provided, and we were then granted the opportunity to build a full-fledged industrial application that would inculcate this visualization technique. Our small team of three managed to get a very good understanding of data visualization through this POC, good enough to now contribute to designing and strategizing a multi-million dollar product! Cheers!