- Category
- Developer Tools
- Rank
- No. 487Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- microsoft
- GitHub
- 7.1k stars
- Latest release
- v3
- Date
About
Microsoft's interactive data-visualization tool — explore datasets through animated unit charts that group, sort, and filter on the fly.
What it does
SandDance turns each data row into a visible mark, then preserves context through smooth transitions between views. It supports direct exploration, presentation, and embedding inside custom applications.
Why it's ranked here
Its strongest case is architectural range. The same project offers a core canvas, React components, a full exploration interface, and simple iframe embedding. That makes it useful both as a ready-made visual workspace and as a foundation for product teams.
What's good
The one-row-to-one-mark model keeps individual records visible instead of hiding everything behind aggregates. Animated transitions help users follow how a view changes. Modular packages let developers choose the canvas, React integration, exploration controls, specifications, or lightweight embedding.
Tradeoffs
Animations require a browser with WebGL2 enabled. The roadmap still calls out better date handling and more examples and tutorials. The development setup is a multi-package JavaScript workspace with a staged build, so source-level adoption carries meaningful complexity.
How to use it well
Use it for exploratory analysis, evidence-backed presentations, or adding visual investigation to a JavaScript or React product. Start with the hosted app or iframe before adopting lower-level components. It does not replace data storage, data preparation, or a general analytics backend.
Technical notes+
The root package.json defines a private npm monorepo spanning packages/* and extensions/*, with staged workspace builds, linting, tests, Vite, Rollup, Webpack, React, TypeScript, Vega, MorphCharts, and Deck.gl dependencies. packages/sanddance/src/index.ts exports the core Viewer plus specifications, search expressions, utilities, and VegaMorphCharts. packages/sanddance-react/src/index.ts adds React bindings, while packages/sanddance-explorer/src/index.ts exposes exploration controls, themes, embedding support, and data interfaces. packages/sanddance-app/src/index.tsx mounts the browser application. packages/powerbi/src/app.ts integrates the explorer with Power BI selection, filtering, snapshots, themes, camera persistence, and context menus.
Observed
- License
- MIT
- Primary language
- TypeScript
- Packaging
- Private npm monorepo with workspaces for packages and extensions
- Interfaces
- Web application, JavaScript components, React components, iframe embedding, Power BI visual, Azure Data Studio extension, and VS Code extension
- Rendering requirements
- Animated views require a WebGL2-enabled browser
- Visualization foundation
- Uses Vega for chart layout and includes MorphCharts and Deck.gl packages
Read from README.md, package.json, packages/powerbi/src/app.ts, packages/sanddance/src/index.ts, packages/chart-types/src/index.ts, packages/vega-deck.gl/src/index.ts, packages/data-inference/src/index.ts, packages/fluentui-icons/src/index.ts, packages/sanddance-app/src/index.tsx, packages/sanddance-react/src/index.ts, packages/sanddance-specs/src/index.ts, packages/vega-morphcharts/src/index.ts, packages/chart-recommender/src/index.ts, packages/search-expression/src/index.ts, packages/sanddance-explorer/src/index.ts.
What it can do
Create interactive unit charts from datasets
Dataset file → Interactive unit chart visualization
Group data points by categories
Dataset with categorical fields → Grouped visualization with clustered data points
Sort data visualizations by field values
Dataset and selected sort field → Reordered visualization with sorted data points
Filter data points based on criteria
Dataset and filter conditions → Filtered visualization showing subset of data
Animate transitions between different data views
Multiple visualization states or configurations → Smooth animated transition between chart views
Explore datasets through real-time interaction
Dataset and user interactions → Dynamically updated visualizations
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
