data-chart

アニメーション

任意のテーブルに data-chart-animate を追加するだけでエントランスアニメーションが有効になります。チャートタイプごとに独自のアニメーションスタイルがあります。

クイックスタート

<table data-chart="bar" data-chart-animate>
  ...
</table>

ライブ例

Replay をクリックしてアニメーションを再生できます。Code に切り替えると HTML ソースを確認できます。

棒グラフ

棒がベースラインから段階的に伸びます

Quarterly Revenue
QuarterRevenueProfit
Q1420180
Q2580240
Q3510210
Q4690310

折れ線グラフ

線が左から右に描画され、その後ドットがフェードイン

Monthly Users
MonthUsersActive
Jan1200900
Feb18001400
Mar15001100
Apr22001800
May28002200

エリアチャート

線が横に描画され、エリアの塗りつぶしがフェードイン

Weekly Visitors
WeekVisitors
W13200
W24100
W33800
W45200
W54800
W65900

円グラフ

スライスが1つずつスケールイン

OS Share
OSShare
Linux40
macOS32
Win28

ドーナツ

セグメントが段階的にスケールイン

Task Status
StatusCount
Done45
Active30
Review15
Blocked10

積み上げ棒グラフ

積み上げセグメントがベースラインから一斉に伸びます

Device Traffic
QDesktopMobileTablet
Q130020050
Q228025060
Q326030070
Q432035080

横棒グラフ

横棒が左から段階的に伸びます

Language Popularity
LanguageUsers
TypeScript850
Python720
Go510
Rust340

チャートタイプ別アニメーション

要素 アニメーション 時間 スタガー
.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 が設定されている場合、アニメーションは自動的に無効化されます。追加設定は不要です。チャートは最終状態で即座にレンダリングされます。