A JavaScript library for creating interactive tree diagrams with dynamic data updates and customizable visualizations.
Treeviz is a JavaScript library for rendering interactive tree diagrams from JSON data. It solves the problem of visualizing hierarchical or relational data with dynamic updates, allowing developers to create tree visualizations that efficiently handle data changes without redrawing the entire diagram.
Frontend developers and data visualization engineers who need to embed tree diagrams in web applications, dashboards, or data exploration tools.
Developers choose Treeviz for its simple API, efficient incremental updates, and high customizability—enabling complex tree visualizations with minimal configuration and smooth animations.
Tree diagrams with JavaScript :evergreen_tree: :chart_with_upwards_trend:
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses incremental rendering to update only changed nodes when data refreshes, avoiding performance hits from full redraws, as demonstrated in the refresh method examples.
Supports both flat and hierarchical JSON data through configurable 'hasFlatData' and 'relationnalField' settings, easing integration with diverse backend structures.
Offers extensive configuration for node dimensions, link shapes, colors, and event handlers, allowing tailored visualizations without being locked into predefined styles.
Includes toggleable pan and zoom functionality for navigating large trees, enhancing user experience in data exploration scenarios.
Cannot handle general graphs or networks with cycles, restricting its use to strictly hierarchical data, which limits versatility for complex relational visualizations.
Lacks built-in themes; developers must provide custom CSS and HTML templates via the 'renderNode' function, increasing setup time and complexity for beginners.
Built on D3, which adds significant bundle size if not already part of the project, impacting load times and making it less ideal for lightweight applications.