Creating a JavaScript library (Node Package) for D3.js based 2D viewer


Our project revolves around the development of an interactive data viewer designed to provide graphical representations of numerical, string, and date-based data from a multitude of sources, including JSON and CSV files. To bring this vision to life, we leveraged the powerful D3.js library for chart visualizations and implemented essential functionalities to enrich the user experience:

  • Chart Selection: Users can select and interact with a range of charts, catering to their specific data visualization needs.
  • Hover Interactivity: The interactive viewer allows users to hover over data points on the charts, enabling a closer examination of the information presented.
  • Axis Flipping: To provide greater flexibility and control over the visualization, we implemented the ability to flip the axes of the charts as needed.
  • Scrub Functionality: One of the project’s highlights is the integration of a scrubbing feature, allowing users to smoothly navigate and explore data within the charts.
All Charts

Fig1. All Charts



While implementing this innovative data viewer, we faced two key challenges that demanded thoughtful solutions:

  • Axis Flipping: The challenge of dynamically flipping the axes for specific charts required a solution that could seamlessly integrate with our D3.js-based system.
  • Scrub Functionality: Implementing an effective scrubbing feature that enhances user interaction and data exploration posed an interesting challenge.


To overcome these challenges, we employed the following solutions:

  • Axis Flipping: For the task of axis flipping, we harnessed the power of D3.js, utilizing its built-in methods to dynamically manipulate chart axes based on user preferences. This approach ensured that the flipping functionality was seamlessly integrated into our data viewer.
  • Scrub Functionality: To enable scrubbing functionality, we incorporated the d3.brush function. This feature offers users the ability to smoothly navigate data points and further enriches the interactivity and exploration capabilities of our viewer.
Scrub Functionality

  Fig2.  Scrub Functionality          


The outcomes of our efforts are manifold, offering significant advantages to our clients and end-users:

Ready-to-Use APIs: We have designed the library to provide readily accessible APIs, simplifying the integration of our interactive data viewer into the client’s front-end user interface. This streamlined approach ensures a smooth implementation process.

Standard Chart Display: Our primary objective is to present data in the form of standard charts and graphs. Not only does this streamline data comprehension, but it also enables users to make rapid, graphical changes to elements, ensuring a dynamic and engaging user experience.


  • null



Page - Contact Us
Interested In