Example D3 Animation
by BintzGavin
Learn how to use D3.js with Helios for data visualization. Use when creating charts, graphs, or data-driven animations.
Skill Details
Repository Files
1 file in this skill directory
name: example-d3-animation description: Learn how to use D3.js with Helios for data visualization. Use when creating charts, graphs, or data-driven animations.
D3.js Animation
Integrate D3.js with Helios by driving D3 scales and attributes using the Helios frame/time state.
Quick Start
import { Helios } from '@helios-project/core';
import * as d3 from 'd3';
const helios = new Helios({ duration: 5, fps: 60 });
const svg = d3.select('#chart');
// Data
const data = [10, 20, 30, 40, 50];
// Setup D3
const x = d3.scaleLinear().domain([0, 50]).range([0, 500]);
const bars = svg.selectAll('rect').data(data).enter().append('rect')
.attr('height', 20)
.attr('y', (d, i) => i * 25);
// Animate
helios.subscribe(({ currentFrame, fps }) => {
const time = currentFrame / fps;
// Update D3 attributes based on time
bars.attr('width', d => x(d) * Math.min(1, time));
});
Key Patterns
Frame-Driven Scales
Instead of using d3.transition(), use helios.subscribe() to update attributes on every frame. This ensures frame-perfect rendering and seeking.
helios.subscribe((state) => {
const t = state.currentFrame / (state.duration * state.fps); // 0 to 1
// Interpolate data
const interpolatedData = data.map(d => d * t);
// Re-bind and render
path.datum(interpolatedData).attr('d', lineGenerator);
});
Common Issues
- d3.transition(): Do NOT use
d3.transition(). It relies on internal timers that won't sync with Helios's seek/render cycle. Always set attributes directly in the subscription callback. - Performance: For large datasets, consider using Canvas with D3 (
d3-force+ Canvas API) instead of SVG for better performance.
Source
- Example:
examples/d3-animation/
Related Skills
Xlsx
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Analyzing Financial Statements
This skill calculates key financial ratios and metrics from financial statement data for investment analysis
Data Storytelling
Transform data into compelling narratives using visualization, context, and persuasive structure. Use when presenting analytics to stakeholders, creating data reports, or building executive presentations.
Team Composition Analysis
This skill should be used when the user asks to "plan team structure", "determine hiring needs", "design org chart", "calculate compensation", "plan equity allocation", or requests organizational design and headcount planning for a startup.
Startup Financial Modeling
This skill should be used when the user asks to "create financial projections", "build a financial model", "forecast revenue", "calculate burn rate", "estimate runway", "model cash flow", or requests 3-5 year financial planning for a startup.
Kpi Dashboard Design
Design effective KPI dashboards with metrics selection, visualization best practices, and real-time monitoring patterns. Use when building business dashboards, selecting metrics, or designing data visualization layouts.
Dbt Transformation Patterns
Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.
Startup Metrics Framework
This skill should be used when the user asks about "key startup metrics", "SaaS metrics", "CAC and LTV", "unit economics", "burn multiple", "rule of 40", "marketplace metrics", or requests guidance on tracking and optimizing business performance metrics.
