mcpField
D
data-visualization

data-visualization

github.com/dylantarreデザイン・UI134589 回インストール43 週間前に更新
リポジトリ

data-visualization について

チャート、ダッシュボード、情報表示にディズニーの12のアニメーション原則を適用するための、デザイナーや開発者向けガイドです。データ表現のタイミングやコード例を示し、モーション低減への配慮も扱います。

主な機能

  1. 01チャートへのアニメーション原則の適用
  2. 02情報の優先度に応じた段階表示
  3. 03滑らかな補間とデータ更新
  4. 04チャート別のタイミング指針
  5. 05モーション低減設定への対応

活用シーン

  1. 01チャートの表示アニメーション設計
  2. 02ダッシュボード状態の切り替え
  3. 03外れ値やしきい値変化の強調
  4. 04モーション低減時の代替表示

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dylantarre/animation-principles --skill data-visualization

インストール後、Claude Code で/data-visualizationを入力して読み込まれたか確認します。

詳細

データビジュアライゼーションのアニメーション

ディズニーのアニメーション12原則を、チャート、グラフ、ダッシュボード、情報表示に適用します。

クイックリファレンス

原則データビジュアライゼーションでの実装
スクワッシュ&ストレッチバーのオーバーシュート、弾むような静止
予備動作データ読み込み前の短い間
演出順次表示、フォーカスの階層
ストレート・アヘッド/ポーズ・トゥ・ポーズストリーミングデータとスナップショットデータ
フォロースルー/オーバーラップ要素の段階的な出現
スローイン/スローアウト値の滑らかな補間
弧円グラフのスイープ、フロー図
二次動作データポイントに追従するラベル
タイミング表示 300~500ms、更新 200~300ms
誇張重要な変化を強調
立体感のある描画一貫したスケール、明確な関係性
アピール心地よい表示、プロフェッショナルな仕上がり

原則の適用

スクワッシュ&ストレッチ:バーは目標の高さを超えてから落ち着かせられます。円グラフのスライスはホバー時に少し広がります。バブルは衝突時に縮みます。合計値は正確に保ちましょう。アニメーションは遷移のためのものです。

予備動作:データが表示される前に短い読み込み状態を設けます。拡大の前に少し縮小します。カウンターは高速で数え始める前に一瞬停止します。これにより、ユーザーは情報が表示されることを予測できます。

演出:重要なデータから順に、意味のある順序で表示します。アクティブなデータ系列を強調します。注目している間は、関係のない要素を薄く表示します。動きを使ってデータのストーリーを導きます。

ストレート・アヘッドとポーズ・トゥ・ポーズ:リアルタイムのストリーミングデータは連続的にアニメーションさせます(ストレート・アヘッド)。ダッシュボードのスナップショットは状態間を遷移させます(ポーズ・トゥ・ポーズ)。データの性質に合った手法を選びましょう。

フォロースルーとオーバーラップ:データポイントは時間差をつけて表示します。ラベルはデータ要素の後に落ち着かせます。データの前にグリッド線を表示します。凡例は少し遅れてアニメーションさせます。

スローイン/スローアウト:値の変化を滑らかにイージングし、唐突なジャンプを避けます。d3.easeCubicInOut または同等のものを使用します。カウンターのアニメーションは加速してから減速します。プログレスバーは完了に向けてイージングします。

弧:円グラフは12時の位置から時計回りにスイープします。サンキーダイアグラムのフローは曲線に沿って表示します。ネットワークグラフには力学ベースの弧を使用します。放射状チャートは中心から広げます。

二次動作:ツールチップはデータポイントの動きに追従します。バーが伸びるにつれて値ラベルをカウントアップします。軸の目盛りはスケールの変化に応じて動きます。影でデータの奥行きを示します。

タイミング:初回表示:300~500msで段階的に表示します。データ更新:200~300ms。ホバー状態:100~150ms。フィルターの遷移:400~600ms。ゆっくりしたタイミングは理解を助けます。

誇張:重要な変化には注意を引く演出を加え、外れ値をパルスや発光で示します。しきい値を超えたら強調します。異常値はより劇的にアニメーションさせます。データそのものを誇張してはいけません。

立体感のある描画:アニメーション中も一貫したスケールを維持します。遷移によってデータの関係性が歪まないようにします。軸の位置合わせを保ちます。動作中も視覚的な階層を明確に保ちます。

アピール:データの表示は心地よく感じられるようにします。プロフェッショナルで意図のある動きは信頼につながります。無意味なアニメーションは避け、すべての動きが理解を助けるようにします。

コードパターン

D3.js
// Staggered bar entry with easing
bars.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 updates
bars.transition()
    .duration(300)
    .ease(d3.easeCubicInOut)
    .attr("height", d => yScale(d.value));
Chart.js
// Animation configuration
options: {
    animation: {
        duration: 500,
        easing: 'easeOutQuart',
        delay: (context) => context.dataIndex * 50
    }
}

データ種別ごとのタイミング

ビジュアライゼーション表示更新ホバー
棒グラフ400msで段階的に表示300ms100ms
折れ線グラフ600msで描画400ms150ms
円グラフ500msでスイープ300ms100ms
散布図300msで段階的に表示200ms100ms
ダッシュボード500~800msで連鎖的に表示300ms150ms

アクセシビリティに関する注意

常に prefers-reduced-motion を尊重してください。データビジュアライゼーションのアニメーションは理解を助けるものであり、妨げるものであってはいけません。動きを無効にしているユーザー向けに、即時表示の代替手段を用意してください。

コメント