UIXHERO

Gauge Chart(ゲージチャート)

1つの値を範囲の中に置いて示す半円のチャート。範囲の両端に意味があるかという条件、しきい値の帯の設計、色だけで良否を伝えない書き方という設計判断とアクセシビリティ要件を解説する。

2026年8月27日
更新: 2026年8月27日
21
by Dengen Yosho(DGYS)

1 つの値を、決められた範囲の中のどこにあるかとして示す半円のチャートです。スコア、稼働率、容量の使用量のように、その値が良いのか悪いのかをひと目で決めさせたいときに使います。

この記事を読むと、ゲージを選んでよい条件、範囲の両端をどう決めるか、しきい値の帯の設計、良否を色だけで伝えない書き方が自分でできるようになります。


1. UI例(Preview / Live)

実装で見る(GunjoUI)

この部品を、デザインシステム GUNJO の実装で確かめられます。

2. 定義(Definition)

ゲージチャートは、1 つの値を最小値から最大値までの範囲に置き、半円の弧の長さで位置を示すチャートです。自動車の速度計と同じ読み方で、「いまどのあたりにいるか」を面で伝えます。

進捗バーとの違いは「作業が終わるまでの残り」を示します。ゲージは終わりに向かうものでなくてよく、上がったり下がったりする値(使用率、スコア、負荷)を扱えます。

ドーナツチャートとの違い:ドーナツは複数の区分の構成比を示します。ゲージは 1 つの値だけを扱います。区分が 1 つのドーナツを作りたくなったら、それはゲージです。

数字だけとの違い:ゲージは面積を大きく使います。その面積が払えるのは、範囲の中での位置に意味があるときだけです。位置に意味が無いなら、数字を大きく出すほうが速く読めます。


3. 使い分け(When to use / When NOT to use)

3.1 When to use

  • 上限が現実に対応する:CPU(演算装置)の使用率、ディスク容量(0 から契約容量)、座席の稼働率
  • 良否の判定を伴う:「注意」「危険」の帯があり、いまどの帯にいるかを知らせたい
  • 1 つの値を目立たせたい:ダッシュボードの最上段で、最初に見てほしい指標
  • 範囲の両端に説明がつく:最小値と最大値が何を意味するか、1 行で書ける

3.2 When NOT to use

  • 上限に根拠が無い:受注件数、売上金額のように、上限を決める理由が無いもの
  • 複数の値を比べたい:ゲージを並べても、位置の比較は棒グラフに勝てません
  • 推移を見せたい:ゲージは 1 時点の値だけを示します。折れ線かスパークラインを使います
  • 画面が狭い:ゲージは面積を使います。カードが小さいなら数字とスパークラインで足ります

3.3 代替UI(Alternatives)


4. 設計判断の核(Decision Principles)

ゲージの核は「範囲の両端に、現実の意味があるか」。上限を説明できないゲージは、読者に根拠の無い基準で良し悪しを判断させることになる。

判断の優先順位:1. 範囲の両端に意味があるか、2. しきい値の帯の設計、3. 良否を色以外でも示す、4. ゲージが要るか。

  • 上限を 1 行で説明できるか確かめる:CPU 使用率なら「これ以上は物理的に無い」、容量なら「契約している上限」と言えます。受注件数を 0 から 100 のゲージにすると、100 という数字に根拠が無いまま「42 は半分にも届かない」という印象だけが残ります。上限を説明できないなら、ゲージではなく数字と前期比を出します。
  • しきい値の帯は、境目の数字を出す:「注意」「危険」の帯を色で塗るだけでは、境目がどこだったのか読者に分かりません。目盛りの数字(60、85)を出し、いまの判定を文字でも書きます。上ので「色だけ」に切り替えると、針がどの帯にあるかも境目が何だったかも読めなくなります。
  • 良否を色だけに載せない:ゲージは色で良否を伝えたくなる図の代表です。GUNJO(群青)は XHERO が作っているデザインシステムです。その GaugeChartcolorwarningdestructive を受け取れますが、色が変わるだけでは、色を区別しにくい読者に判定が届きません。判定の語(正常、注意、危険)を文字で添え、帯には破線の密度差のような模様も足します。これはAI が作ったUIの失敗 29 件の 28 番目「状態の違いが、色だけに乗る」と同じ崩れ方です。
  • min が 0 でないときは、両端の数字を出すGaugeChartminmax で正規化します。min を 40 にすると、40 の値が「空のゲージ」に見えます。範囲を絞ること自体は妥当でも、両端の数字が出ていないと、読者は 0 から始まっていると誤解します。
  • その面積を払う価値があるか考える:ゲージは半円ぶんの面積を使います。同じ場所に、数字とスパークラインを置けば「いまの値」と「ここ 30 日の動き」の 2 つが入ります。範囲の中での位置に意味が無いなら、そちらのほうが読者の得るものが多くなります。

5. 状態設計(States)

5.1 必須状態(Required)

  • データあり:弧、値、範囲の両端がそろっている
  • データなし:値が取れていない。空のゲージを 0 として見せない
  • 読み込み中:ゲージの高さを確保する

5.2 条件付き状態(Conditional)

  • 範囲外:上限を超えた、または下限を下回った。弧を振り切らせるのではなく、超過であることを書く
  • 判定の切り替わり:正常から注意へ移った。色だけでなく、判定の語も変える
  • ホバー / フォーカス:範囲の両端と、いまの判定を出す
  • エラー:取得に失敗した。前回の値を残したまま最新のように見せない
状態必須何を伝えるか
データあり必須いまの値と、範囲の中での位置
データなし必須値が取れていない(0 ではない)
読み込み中必須取得中であること
範囲外条件付き上限を超えている、または下限を下回っている
判定の切り替わり条件付き正常から注意、注意から危険へ移った
ホバー / フォーカス条件付き範囲の両端と、いまの判定
エラー条件付き取得に失敗した。数字は信用できない

6. バリエーション設計(Variants)

大きさと、範囲と色の指定で決まります。

バリアントGUNJO の指定典型的な用途
variant="default"(既定)ダッシュボードの主要指標
コンパクトvariant="compact"サイドパネルや小さなカード
容量レンジmax を実体に合わせる「420 / 500ギガバイト」のような使用量
最小値ありmin を 0 以外にする40 から 100 のスコアなど
注意color="warning"注意の帯に入っている
危険color="destructive"危険の帯に入っている

禁止パターンmin を 0 以外にしたうえで、両端の数字を出さないこと。読者は 0 から始まっていると読み、実際より低い値だと受け取ります。


7. パターン集(Good / Bad / How to fix)

7.0 よく崩れる設計パターン(3つ)

  • 上限に根拠が無い:切りのよい 100 を勝手に上限にして、値の印象だけを作ってしまいます
  • 判定が色だけ:色を見分けにくい読者に、正常か危険かが届きません
  • 範囲の両端が書かれていないmin が 0 でないときに、読者が位置を誤解します

7.1 Bad(典型3つ)

  • 「今月の受注 42 件」を 0 から 100 のゲージにしている。100 に根拠が無い
  • 危険域を赤で塗るだけで、境目の数字も判定の語も出していない
  • min={40} max={100} のゲージで、目盛りが 1 つも出ていない

7.2 Good(対になる3つ)

  • 受注件数は数字で大きく出し、前月比と目標との差を添える
  • 帯の境目(60、85)を目盛りとして出し、いまの判定を「注意」と文字で書く
  • 弧の両端に 40 と 100 を出し、いまの値が範囲のどこかを読めるようにする

7.3 How to fix(手順)

  1. 上限を 1 行で説明してみる。説明できないなら、ゲージをやめて数字と前期比にする
  2. しきい値の帯があるなら、境目の数字を目盛りとして出す
  3. いまの判定を文字で書く(正常、注意、危険)。色は補助にする
  4. min が 0 でないなら、弧の両端に数字を出す
  5. role="meter"aria-valuenow / aria-valuemin / aria-valuemax / aria-valuetext を付ける

8. ルール(Must / Better)

Must(守らないと壊れる)

Better(品質が跳ねる)


9. アクセシビリティ要件(必須)

チャートは「色だけで系列を区別する」が起きやすいコンポーネントです。ゲージは判定を色に載せがちなので、とくに注意が要ります。次の 3 点を満たします。

9.1 色だけに頼らない

  • 判定の語:「正常」「注意」「危険」を文字で書く。これが最も確実です
  • 目盛り:帯の境目の数字を出す。境目が数字で読めれば、色は補助で足ります
  • 模様:帯に破線の密度差や斜線を足す
  • 針の位置:針や弧の長さそのものが、色を使わない手がかりになります

弧とのコントラスト比は 3:1 以上を確保します。薄い黄色の「注意」帯は、明るい画面では背景に溶けます。

9.2 代替テキストか表での提示

ゲージは値が 1 つなので、role="img" より role="meter" が適します。値の意味をそのまま読み上げに渡せます。

<div class="gauge">
  <div
    role="meter"
    aria-labelledby="gauge-label"
    aria-valuenow="73"
    aria-valuemin="0"
    aria-valuemax="100"
    aria-valuetext="73パーセント。判定は注意(60以上85未満)。"
  >
    <svg aria-hidden="true"><!-- 弧・針・帯の描画 --></svg>
  </div>
  <p id="gauge-label">CPU 使用率</p>
  <p class="gauge__judgement"><strong>注意</strong>(正常は60未満、危険は85以上)</p>
</div>

aria-valuetext に判定を入れると、読み上げは「73パーセント。判定は注意」と伝えます。数字だけでは良否が分からないため、この 1 行が効きます。<svg>aria-hidden="true" にして、二重に読まれないようにします。

role="meter" に対応していない読み上げソフトもあります。判定を本文の要素としても置いておけば、どちらでも情報が届きます。

9.3 キーボードで値をたどれる

ゲージが表示だけなら、フォーカス可能にしません。止まるだけの要素を増やさないためです。

操作できる場合(しきい値を変えるなど)は、次をそろえます。

  • Tab でフォーカスでき、フォーカスリングが見える
  • ArrowUpArrowDown で値が変わる。HomeEnd で両端へ移動する
  • 値が変わるたびに aria-valuenowaria-valuetext を更新する
  • 操作できるなら role="meter" ではなく role="slider" を使います。meter は読み取り専用の意味を持ちます

9.4 Touch / Pointer

ゲージが詳細画面への入口になっている場合は、弧ではなくカード全体を当たり判定にします。弧の線は細く、指では狙えません。


10. 実装メモ(Implementation Notes)

  • GUNJO の GaugeChartvaluemin / max で正規化します。label は値の下の補足、valueLabel はゲージ内に出す表示値です
  • formatValue は関数を渡す prop のため、クライアントコンポーネントからのみ渡せます。サーバーコンポーネントからは valueFormat を使います
  • rangeLabel は、読み上げとツールチップで範囲の前に出るラベルです。既定は英語なので、日本語の画面では指定し直します
  • color は弧の色を変えるだけです。判定を伝えるには、label や周辺のテキストに判定の語を入れます
  • 実装は GUNJO の GaugeChartgunjo.jp を新しいタブで開く にあります。標準、コンパクト、容量レンジ、最小値あり、警告色、高リスクの見本が置かれています

11. 関連リンク


12. まとめ

ゲージチャートの設計でいちばん効くのは、範囲の両端を説明できるか確かめることです。迷ったら 4. 設計判断の核 に戻り、「上限を 1 行で説明できるか」「境目の数字が出ているか」「判定が文字でも読めるか」の 3 点を確かめてください。

上限に根拠が無いゲージは、読者に勝手な基準で良し悪しを判断させます。範囲の中での位置に意味が無い指標なら、半円ぶんの面積は数字とスパークラインに使ったほうが、伝わる情報が増えます。

更新のお知らせ

サイトに載せていない実例や、新しい記事のお知らせはこちらで出しています。

読んだ内容を、自分の画面に当てるとき

UIXHEROは、記事を書くほかに、画面の検品・判定、デザインシステムの構築、実装と改善の伴走を受けています。何を頼めばいいか決まっていない段階の相談も、同じ窓口で受けます。

UIXHEROに頼めることを見る

※ 記事の内容についての質問や、書いてほしいテーマの要望も同じ窓口で受けています

記事をシェア

メールでお知らせを受け取る

最終更新: 2026年8月27日

この記事を書いた人

Dengen Yosho(DGYS)

Dengen Yosho(DGYS)

UI/UXデザイナー兼デザインエンジニア デザイン歴25年以上 情報設計〜UIデザイン〜React/TypeScriptによる実装までを一気通貫で担当 大手企業のDXプロジェクトや決済アプリ領域で、デザインリードとして改善と構築を経験 現在はフリーランスとして、プロダクトのUI/UX改善とデザインシステム構築を支援 長年の実務の中で感じてきたのは、 「良いUI」はセンスではなく、再現可能な判断の積み重ねであるということ UIXHEROは、 心理学や行動科学の知見を、現場で使える設計言語に翻訳するための場所 関心領域は「ユーザーの行動が変わるUI」 人の認知・注意・意思決定の構造を理解し、 “なぜそのUIが機能するのか”を言語化することを目指している

あわせて読みたい

この記事に関連する記事をご紹介します

Bar Chart(棒グラフ)

カテゴリごとの量を棒の長さで比べるチャート。ゼロ基線の扱い、並び順、縦横の選び方、しきい値の見せ方という設計判断と、色だけに頼らないアクセシビリティ要件を解説する。

2026年8月27日
18

Donut Chart(ドーナツチャート)

中央をくり抜いた円で構成比を示すチャート。中央に置く値の選び方、円グラフとの使い分け、リングの太さ、凡例の作りという設計判断と、色だけに頼らないアクセシビリティ要件を解説する。

2026年8月27日
17

Heatmap Chart(ヒートマップ)

行と列の交点をセルの濃淡で示すチャート。濃淡で読めるものと読めないもの、色の段階の切り方、行列の並び順、値を数字でも出す判断とアクセシビリティ要件を解説する。

2026年8月27日
17

もっと深く知りたいですか?

ここに掲載されていないトピックについても、リクエストがあれば解説記事を追加します。 わかりにくい点や、具体的な事例について知りたいことがあれば教えてください。

リクエストを送る