A JavaScript library for creating interactive 3D data visualizations by combining D3.js with the X3D graphics standard.
d3-x3d is a JavaScript library that combines D3.js for data manipulation with the X3D standard for 3D graphics to create interactive, data-driven 3D visualizations in the browser. It solves the problem of building complex 3D charts—like multi-series bar charts, scatter plots, and surface plots—with minimal code, leveraging reusable components and pre-built chart modules.
Data visualization developers, researchers, and engineers who need to create interactive 3D charts for web-based dashboards, scientific visualizations, or data exploration tools.
Developers choose d3-x3d because it bridges the gap between D3’s powerful data-binding capabilities and 3D rendering, offering a component-based architecture that simplifies creating customizable 3D visualizations without requiring low-level WebGL or 3D graphics expertise.
3D Data Driven Charting Library with D3 and X3D
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Inspired by Mike Bostock's reusable chart pattern, it offers building blocks like `component.bars()` and `component.axis()` that can be combined for custom 3D visualizations, enabling flexible and scalable design.
Provides out-of-the-box chart modules such as `chart.barChartMultiSeries()` with axes and viewpoints, reducing initial setup time for common 3D chart types, as shown in the examples.
Works with both X3DOM and X_ITE players, allowing developers to choose between embedding options for X3D scenes in HTML5, though some features are limited to X3DOM.
Supports a wide range of 3D charts including area, bubble, surface, and volume slice charts, catering to various data visualization needs from scientific plots to dashboards.
Relies on X3DOM or X_ITE players, which are not built into browsers, adding extra dependencies, potential compatibility issues, and performance overhead compared to native WebGL solutions.
As admitted in the README, certain advanced features and charts only function correctly with X3DOM, not fully supporting X_ITE, which can limit flexibility and require workarounds.
Initial setup requires manually including multiple scripts (D3.js, X3D players, d3-x3d) in the correct order, which can be error-prone and cumbersome for beginners or rapid prototyping.