本文へ移動

§01

可視化・データ表現

Data Visualization

Patterns
30
Demos
30

§01-01

草チャート / contribution heatmap

日付ごとの活動量を方眼の色の濃さで示す。

一年分の活動の継続や偏りを一目で見渡せる。学習記録や投稿頻度など、日々の積み重ねを可視化して習慣づけを促したいときに使う。

実装のポイントgrid-flow-col と grid-rows-7 で週を列、曜日を行に並べると配置計算が要らない。色だけに頼らず各セルの title や aria-label に日付と件数を持たせる。

  • CSS のみ
  • アクセシビリティ
詳細

§01-02

カレンダーヒートマップ

月カレンダーの日付セルを値の強さで色分けする。

日ごとの活動量や売上を一月単位で俯瞰する。曜日や週の偏りを探すときや、継続の記録を見せたいときに向く。

実装のポイント月初の曜日ぶん空セルを先頭に入れて grid-cols-7 に流し込む。強度の段階は凡例と数値ラベルを併記し、色覚に依存しない表現にする。

  • CSS のみ
詳細

§01-03

スキルマップ / レーダーチャート

複数の軸のスコアを多角形で重ねて示す。

能力や評価を軸ごとに比べ、全体の形から強みと弱みを一目で読み取れる。複数の対象を重ねて比較するときに向く。

実装のポイント軸の最大値を domain で固定しないと値ごとに目盛りが変わり比較できない。軸は 5〜8 本に抑え、ラベルが外周で重ならないよう outerRadius を詰める。

  • チャート
詳細

§01-04

タイムライン

出来事を時系列に縦または横に並べて示す。

出来事を時間順に一本の線上に並べ、前後関係を一目で追えるようにする。更新履歴や配送状況など、順序が意味を持つ情報に向く。

実装のポイントol と border-l で縦線を引き、マーカーは absolute で線上に載せる。時刻は time 要素の datetime に機械可読な値を入れ、相対表記と併用する。

  • CSS のみ
詳細

§01-05

ガントチャート

タスクの期間を横棒で時間軸上に並べる。

複数タスクの重なりや前後関係を時間軸で把握できる。プロジェクトの進行計画や納期の調整を関係者で共有するときに向く。

実装のポイント日数を grid-template-columns の repeat で列に割り、開始日と期間から grid-column の span を決める。期間が長い場合は横スクロールと今日線を用意する。

  • CSS のみ
  • チャート
詳細

§01-06

サンキー図

段階間の流量をリンクの太さで表す。

流入元から流出先へ量がどう分かれて移るかを見せる。経路ごとの割合を比べたいときや、途中の離脱を見つけたいときに向く。

実装のポイントリンクの太さは流量に比例させ、ノードの高さは流入と流出の合計に一致させる。本格的には d3-sankey でノード配置と曲線を算出する。

  • チャート
詳細

§01-07

ファネル図

段階ごとの到達数を幅の変化で示す。

登録や購入までの各段階で、どこで利用者が離脱しているかを把握する。改善すべき段を絞り込むときに使う。

実装のポイント各段の幅は先頭比、右側の数値は直前段からの遷移率と、2 種類の割合を区別して表示する。離脱が大きい段を強調すると改善点が見つけやすい。

  • チャート
  • CSS のみ
詳細

§01-08

ツリーマップ

入れ子の矩形の面積で値の大小を示す。

階層を持つ数値を面積で表し、全体に占める割合と内訳を同時に見せる。カテゴリ数が多く、棒グラフでは縦に長くなりすぎるときに効く。

実装のポイント面積を値に比例させるには squarified アルゴリズムで矩形を分割する。小さいセルはラベルを省略し、ツールチップで値を補う。

  • チャート
詳細

§01-09

ワードクラウド

語の出現頻度を文字の大きさで表す。

大量のテキストから目立つ語を直感的に拾える。アンケートの自由記述やタグの傾向を、集計表より軽い印象で見せたいときに使う。

実装のポイント文字サイズは頻度の平方根などで圧縮して極端な差を抑える。配置を乱数に頼る場合はシード固定で SSR とクライアントの描画を一致させる。

  • CSS のみ
詳細

§01-10

マインドマップ

中心の主題から枝分かれする構造を放射状に描く。

発想や論点を階層のまま広げて整理する。箇条書きでは全体の関係が見えにくいときや、議論の分岐を記録したいときに向く。

実装のポイント中心から子ノードへ放射状に配置し、深さごとに半径を広げる。ノード追加時は兄弟間の角度を再分配し、Tab で子、Enter で兄弟を作るキー操作が定番。

  • チャート
詳細

§01-11

relationship graph (force-directed)

ノードとエッジの関係を力学配置で描く。

人や概念のつながりを俯瞰し、密に結びついた群や孤立した点を見つける。関係の全体像を眺めたいときに向く。

実装のポイントノード間の斥力とエッジのばねを反復計算して配置を収束させる。d3-force などを使い、tick ごとの再描画は requestAnimationFrame にまとめる。

  • チャート
  • アニメーション
詳細

§01-12

chord / arc diagram

項目間の関係を円周上の弧と帯で結んで示す。

複数の項目がどれとどれだけ結び付いているかを一枚で見せる。移動や取引のような双方向の流れを、表より直感的に把握したいときに使う。

実装のポイント円周上に各カテゴリの弧を量に比例して割り当て、弧同士を二次ベジェのリボンで結ぶ。ホバーで関係する帯だけ残して他を薄くすると読みやすい。

  • チャート
詳細

§01-13

スパークライン

表の行内に収まる軸なしの小さな折れ線を描く。

数値一覧に推移の形を添え、一覧のまま傾向を比べられる。指標カードや銘柄一覧など、行ごとの変化を省スペースで示したい場面に向く。

実装のポイント軸・目盛り・凡例を省き、最新値と増減率を隣に置いて文脈を補う。行内に並べる場合は縦軸のスケールを揃えるかどうかを明示的に決める。

  • チャート
詳細

§01-14

ゲージ / ダイヤル

一つの指標を針や円弧の塗りで示す。

現在値が目標や上限に対してどこにあるかを一目で伝える。監視画面で指標を一つだけ強調したいときに向く。

実装のポイント半円の円周長を strokeDasharray で塗り分け、針は値を 180° 範囲の角度に変換して回す。SVG 属性は CSS transition が効かないので針は transform: rotate で動かす。

  • チャート
  • アニメーション
詳細

§01-15

プログレスリング

進捗率を円弧の長さで示す。

目標に対する達成度を狭い面積で示せる。カードやアイコン横など、横長のバーが置けない場所で進み具合を伝えたいときに使う。

実装のポイント円周 2πr を strokeDasharray、残量を strokeDashoffset に入れ -rotate-90 で 12 時起点にする。role=「progressbar」で値を伝える。

  • アニメーション
  • アクセシビリティ
詳細

§01-16

カウンターアニメ

数値が目標値まで滑らかにカウントアップする。

数値が動いて目標値に到達する様子を見せ、その値に注目を集める。実績や達成数など、ひとつの数字で成果を伝える場面に向く。

実装のポイントrequestAnimationFrame で経過時間から easeOutCubic の進捗を計算し、unmount 時に止める。tabular-nums で桁幅を固定し揺れを防ぐ。

  • アニメーション
  • ブラウザ API
詳細

§01-17

ヒストグラム / ビン分布

値を階級に分けて各区間の件数を棒で示す。

データの分布の形や偏り、外れ値を把握できる。価格帯や応答時間など、平均値だけでは見えない散らばりを示したいときに使う。

実装のポイントビン幅の選び方で分布の見え方が変わるため、Sturges や Freedman-Diaconis 等の規則で決める。棒の間隔は詰めて連続量であることを示す。

  • チャート
詳細

§01-18

箱ひげ / バイオリン

四分位と外れ値で分布の広がりを示す。

平均だけでは見えない値のばらつきや偏りを比較する。複数グループの分布を並べて差を確かめたいときに向く。

実装のポイント四分位と最小・最大(または 1.5IQR のひげと外れ値)を SVG の線と矩形で描く。分布の形まで見せたい場合はカーネル密度推定でバイオリンを重ねる。

  • チャート
詳細

§01-19

エリア / 階段グラフ

時系列の値を面で塗って推移を示す。

累積や合計など量の推移を伝えたいときに使う。階段表示は料金や在庫のように区切りで変わる値を正確に見せられる。

実装のポイント面の塗りは上から透明へのグラデーションにして線を主役にする。離散的に変わる値は type=「stepAfter」の階段表示にし、補間で嘘の傾きを作らない。

  • チャート
詳細

§01-20

キャンドルスティック

期間ごとの始値・高値・安値・終値を 1 本の足で示す。

期間ごとの値動きの幅と方向を 1 本で読めるので、価格や指標の推移を細かく追える。上下動の激しさや転換点を見極めたい場面に使う。

実装のポイント始値と終値の大小で実体の色を決め、高値・安値はヒゲの線で描く。始値と終値が同じ足は高さ 0 になるので最低 1px を確保する。

  • チャート
詳細

§01-21

ヒートマップ (matrix)

行と列の組み合わせの値を色の濃淡で示す。

多数の組み合わせの大小を一画面で比べられる。曜日と時間帯のアクセス数や項目間の相関など、表の数字では読みにくい傾向を見せるときに向く。

実装のポイント値を透明度や色の明度に写像し、背景の濃さに応じて文字色を白黒で切り替えてコントラストを保つ。相関行列なら対角線を基準に対称性を確認する。

  • チャート
詳細

§01-22

等高線 / density overlay

地図や平面上の密度を等高線で重ねて示す。

点が多すぎて重なる場所の濃淡を見せる。地域ごとの集中度を比べたいときや、個々の点より傾向を伝えたいときに向く。

実装のポイント格子状の密度値を marching squares で等値線に変換し、閾値ごとに半透明で重ねる。地図に重ねる場合は投影座標系をベースマップと揃える。

  • チャート
詳細

§01-23

樹形図 (dendrogram)

階層クラスタの結合過程を樹形で示す。

似たもの同士がどの順にまとまるかを辿れる。分類の階層構造や、どの深さで分割するかを検討するときに使う。

実装のポイント結合の高さをクラスタ間距離に比例させ、各結合を「コ」の字の折れ線で描く。葉の並び順はクロスが生じないように並べ替える。

  • チャート
詳細

§01-24

ベン図

複数の集合の重なりを円の交差で示す。

複数のグループがどれだけ重なるかを示し、共通部分と固有部分を一目で分ける。顧客層や機能の比較で、重複の有無を説明するときに効く。

実装のポイント半透明の円を重ね、交差部分の色の混ざりで共通部分を示す。面積を集合の大きさに比例させる場合は、円の中心間距離を数値的に解く必要がある。

  • チャート
詳細

§01-25

Bullet chart

実績と目標、評価帯を一本の軸に重ねて示す。

目標に対する達成度を狭い幅で正確に伝えられる。KPI の一覧やレポートで、ゲージより場所を取らずに複数指標を並べたいときに使う。

実装のポイント背景の濃淡で評価帯、太い実績バー、細い縦線の目標値を 1 本の軸に重ねる。実績値と目標値は数値でも併記し、色だけで読ませない。

  • チャート
  • CSS のみ
詳細

§01-26

Bump chart

期間ごとの順位の入れ替わりを折れ線で示す。

項目の順位が時間とともにどう入れ替わったかを追う。シェア順やランキングの推移で、値の大小より序列を見せたいときに向く。

実装のポイントY 軸を reversed にして 1 位を上に置き、目盛りを整数の順位に固定する。系列が多いときはホバーで 1 本を強調し、他を薄くする。

  • チャート
詳細

§01-27

状態 badge

処理の状態を色付きのラベルで示す。

一覧の各行の状態を一瞥で区別できる。ジョブやデプロイなど、多数の項目から失敗や実行中を素早く見つけたいときに使う。

実装のポイント状態は色・アイコン・テキストの 3 つで冗長に表現し、色覚に依存しない。実行中アイコンの回転は motion-safe: で reduced-motion 時に止める。

  • アクセシビリティ
  • アニメーション
詳細

§01-28

diff viewer

2 つのテキストの差分を行単位で並べて示す。

変更前後の文章やコードを並べ、どこが増えどこが消えたかを示す。レビューや履歴の確認で、全文を読み直さずに変更点だけ追いたいときに使う。

実装のポイント行ごとに追加・削除・文脈の種別を持ち、旧行番号と新行番号を別カラムで表示する。行内の変更箇所は単語単位の差分で追加ハイライトする。

  • CSS のみ
詳細

§01-29

JSON viewer

JSON を階層ごとに折りたたんで表示する。

深い入れ子のデータを必要な部分だけ開いて読める。API レスポンスの確認や設定ファイルの閲覧など、構造を把握しながら値を探す場面に向く。

実装のポイント再帰コンポーネントで各ノードが開閉状態を持ち、初期展開は深さで制限する。開閉ボタンには aria-expanded を付け、矢印キーで移動できる tree にする。

  • 状態管理
  • キーボード操作
詳細

§01-30

log viewer

流れてくるログを表示し、検索で絞り込める。

稼働中の処理から出る出力をその場で追い、問題の箇所を探す。デプロイやジョブの実行状況を見守る画面に向く。

実装のポイント表示行数に上限を設けて古い行を捨て、末尾追従は利用者が上にスクロールしたら止める。大量ログは仮想スクロールで描画コストを抑える。

  • リアルタイム
  • タイマー
  • モック
詳細