Data Visualization

dylantarre/animation-principles/skills/01-by-domain/data-visualization

作者 dylantarre83597134ba8f无许可证99 个星标收录于 2026年10月8日更新于 2026年10月8日仓库9个月前更新

Use when animating charts, graphs, dashboards, data transitions, or any information visualization work.

AI 生成的概览

将迪士尼十二项动画原则应用于图表、图形、仪表板和数据过渡。

功能
该技能把迪士尼十二项动画原则映射到图表行为上,为数据可视化动画提供指导,例如柱状图过冲、错峰入场和缓动数值变化。它包含速查表、逐项原则的应用说明、按图表类型划分的时长表,以及 D3.js 和 Chart.js 的代码示例。它还涉及无障碍,建议遵循 prefers-reduced-motion 并提供即时状态回退。
适用场景
在为图表、图形、仪表板、数据过渡或其他信息可视化做动画时使用。适合设计师和开发者决定数据元素应如何入场、更新和响应交互。
运行要求
不需要脚本或软件包,仅为说明性内容。代码示例涉及 D3.js 和 Chart.js,无障碍指导涉及 prefers-reduced-motion 媒体查询。

Data Visualization Animation

Apply Disney's 12 animation principles to charts, graphs, dashboards, and information displays.

Quick Reference

PrincipleData Viz Implementation
Squash & StretchBar overshoot, elastic settling
AnticipationBrief pause before data loads
StagingSequential reveal, focus hierarchy
Straight Ahead / Pose to PoseStreaming vs snapshot data
Follow Through / OverlappingStaggered element entry
Slow In / Slow OutSmooth value interpolation
ArcPie chart sweeps, flow diagrams
Secondary ActionLabels following data points
TimingEntry 300-500ms, updates 200-300ms
ExaggerationEmphasize significant changes
Solid DrawingConsistent scales, clear relationships
AppealSatisfying reveals, professional polish

Principle Applications

Squash & Stretch: Bars can overshoot target height then settle. Pie slices expand slightly on hover. Bubbles compress on collision. Keep total values accurate—animation is transitional.

Anticipation: Brief loading state before data appears. Slight shrink before expansion. Counter briefly pauses before rapid counting. Prepares user for incoming information.

Staging: Reveal data in meaningful sequence—most important first. Highlight active data series. Dim unrelated elements during focus. Guide the data story with motion.

Straight Ahead vs Pose to Pose: Real-time streaming data animates continuously (straight ahead). Dashboard snapshots transition between states (pose to pose). Match approach to data nature.

Follow Through & Overlapping: Data points enter with staggered timing. Labels settle after their data elements. Grid lines appear before data. Legends animate with slight delay.

Slow In / Slow Out: Value changes ease smoothly—no jarring jumps. Use d3.easeCubicInOut or equivalent. Counter animations accelerate then decelerate. Progress bars ease to completion.

Arc: Pie charts sweep clockwise from 12 o'clock. Sankey diagram flows follow curved paths. Network graphs use force-directed arcs. Radial charts expand from center.

Secondary Action: Tooltips follow data point movement. Value labels count up as bars grow. Axis tick marks respond to scale changes. Shadows indicate data depth.

Timing: Initial entry: 300-500ms staggered. Data updates: 200-300ms. Hover states: 100-150ms. Filter transitions: 400-600ms. Slower timing aids comprehension.

Exaggeration: Significant changes deserve attention—pulse or glow outliers. Threshold crossings trigger emphasis. Anomalies animate more dramatically. Don't exaggerate the data itself.

Solid Drawing: Maintain consistent scales during animation. Transitions shouldn't distort data relationships. Preserve axis alignment. Visual hierarchy must remain clear throughout motion.

Appeal: Data entry should feel satisfying. Professional, purposeful motion builds trust. Avoid gratuitous animation—every motion should aid understanding.

Code Patterns

D3.js

javascript
// Staggered bar entry with easingbars.transition()    .duration(500)    .delay((d, i) => i * 50)    .ease(d3.easeCubicOut)    .attr("height", d => yScale(d.value))    .attr("y", d => height - yScale(d.value));
// Smooth data updatesbars.transition()    .duration(300)    .ease(d3.easeCubicInOut)    .attr("height", d => yScale(d.value));

Chart.js

javascript
// Animation configurationoptions: {    animation: {        duration: 500,        easing: 'easeOutQuart',        delay: (context) => context.dataIndex * 50    }}

Data Type Timing

VisualizationEntryUpdateHover
Bar chart400ms stagger300ms100ms
Line chart600ms draw400ms150ms
Pie chart500ms sweep300ms100ms
Scatter plot300ms stagger200ms100ms
Dashboard500-800ms cascade300ms150ms

Accessibility Note

Always respect prefers-reduced-motion. Data visualization animation should aid comprehension, not hinder it. Provide instant-state fallback for users who disable motion.

来源与署名

来源:dylantarre/animation-principles位于skills/01-by-domain/data-visualization提交8359713

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架