アニメーション
任意のテーブルに data-chart-animate を追加するだけでエントランスアニメーションが有効になります。チャートタイプごとに独自のアニメーションスタイルがあります。
クイックスタート
<table data-chart="bar" data-chart-animate>
...
</table> ライブ例
Replay をクリックしてアニメーションを再生できます。Code に切り替えると HTML ソースを確認できます。
棒グラフ
棒がベースラインから段階的に伸びます
| Quarter | Revenue | Profit |
|---|---|---|
| Q1 | 420 | 180 |
| Q2 | 580 | 240 |
| Q3 | 510 | 210 |
| Q4 | 690 | 310 |
折れ線グラフ
線が左から右に描画され、その後ドットがフェードイン
| Month | Users | Active |
|---|---|---|
| Jan | 1200 | 900 |
| Feb | 1800 | 1400 |
| Mar | 1500 | 1100 |
| Apr | 2200 | 1800 |
| May | 2800 | 2200 |
エリアチャート
線が横に描画され、エリアの塗りつぶしがフェードイン
| Week | Visitors |
|---|---|
| W1 | 3200 |
| W2 | 4100 |
| W3 | 3800 |
| W4 | 5200 |
| W5 | 4800 |
| W6 | 5900 |
円グラフ
スライスが1つずつスケールイン
| OS | Share |
|---|---|
| Linux | 40 |
| macOS | 32 |
| Win | 28 |
ドーナツ
セグメントが段階的にスケールイン
| Status | Count |
|---|---|
| Done | 45 |
| Active | 30 |
| Review | 15 |
| Blocked | 10 |
積み上げ棒グラフ
積み上げセグメントがベースラインから一斉に伸びます
| Q | Desktop | Mobile | Tablet |
|---|---|---|---|
| Q1 | 300 | 200 | 50 |
| Q2 | 280 | 250 | 60 |
| Q3 | 260 | 300 | 70 |
| Q4 | 320 | 350 | 80 |
横棒グラフ
横棒が左から段階的に伸びます
| Language | Users |
|---|---|
| TypeScript | 850 |
| Python | 720 |
| Go | 510 |
| Rust | 340 |
チャートタイプ別アニメーション
| 要素 | アニメーション | 時間 | スタガー |
|---|---|---|---|
.data-chart-bar | 高さが0から伸びる | 600ms | 棒ごとに60ms |
.data-chart-line | ストロークが左から右に描画 | 960ms | -- |
.data-chart-dot | 線の完了後にフェードイン | 300ms | ドットごとに80ms |
.data-chart-area | 不透明度のフェードイン | 800ms | 400ms遅延 |
.data-chart-slice | 中心からスケール | 600ms | スライスごとに80ms |
カスタマイズ
Duration(時間)
要素ごとのアニメーション速度を制御:
<table data-chart="bar" data-chart-animate data-chart-animate-duration="1200"> デフォルト: 600ms。任意の正の数値を指定可能。
Stagger(スタガー)
要素間の遅延を制御:
<table data-chart="bar" data-chart-animate data-chart-animate-stagger="100"> デフォルト: 60ms。値が大きいほど、より順次的なアニメーションになります。
組み合わせ
<table
data-chart="line"
data-chart-animate
data-chart-animate-duration="300"
data-chart-animate-stagger="30"
> モーション軽減
prefers-reduced-motion: reduce が設定されている場合、アニメーションは自動的に無効化されます。追加設定は不要です。チャートは最終状態で即座にレンダリングされます。