Design Vault Search use case, structure, colour, notes /
Index Categories Tags 日本語
Back to index

Support Mix — Nearly Half Is “I Can't Find How”

Radial
Support Mix — Nearly Half Is “I Can't Find How”
140 96

1920 × 1080 Seen as a design

Take it with you

Copy and paste, or save a file and hand it over. For a machine with no network, one “Everything” file is enough.

Everything

donut-share-center-total-everything.md

Everything in this panel, including the contents behind each URL, in one Markdown file

Prompt

1.7 KB
Produce one slide to the following specification.

- Canvas 1920 × 1080
- Margin top 96 right 140 bottom 96 left 140

## Type (px against a 1920px canvas)
title  44px / 700 / tracking 0.01em / leading 1.3
window  20px / 500 / leading 1.5 / tabular numerals
share  32px / 700 / leading 1 / tabular numerals
total  108px / 700 / tracking -0.01em / leading 1 / tabular numerals
unit  22px / 500 / leading 1.4
label  26px / 500 / leading 1.4
count  30px / 700 / leading 1.2 / tabular numerals
note  16px / 400 / leading 1.6

## Colour
Ground #FFFFFF / Surface #F4F6F9 / Ink #131820 / Muted #667183 / Accent #1F5FA8 / Rule #DBE1E9 / #1C8C79 / #2F6FB5 / #9A6B12 / #A85A2E

## Constraints — dropping these breaks it
- Never leave the centre empty. An angle can only say 'share of the whole' — without the total, 42% could be 521 tickets or five
- Four segments at most. From the fifth, neighbouring angles stop being distinguishable and the figure can only be read by going back and forth to the key
- Put the percentages outside the ring, on the page. Reversed out of the band, each one reads differently depending on which series colour is behind it
- Take the series colours from the mid-luminance band (0.15–0.21). A colour preset replaces the roles but keeps the series, so each one has to hold up on a light ground and a dark one alike
- Shares in the figure, counts in the key. Print the same number twice and the reader starts checking which of the two is authoritative

Replace the content with [your content]. Keep the measurements and colours as given.
For an exact reproduction, use the verbatim HTML at https://design-vault.pages.dev/designs/donut-share-center-total/pattern.html.

Spec

2.1 KB

/ai/designs/donut-share-center-total.json

format: slide-16x9
density: medium
layout:
  kind: radial
  canvas:
    w: 1920
    h: 1080
  margin:
    top: 96
    right: 140
    bottom: 96
    left: 140
type:
  title:
    size: 44
    weight: 700
    tracking: 0.01em
    leading: 1.3
  window:
    size: 20
    weight: 500
    leading: 1.5
    numeric: tabular
  share:
    size: 32
    weight: 700
    leading: 1
    numeric: tabular
  total:
    size: 108
    weight: 700
    tracking: -0.01em
    leading: 1
    numeric: tabular
  unit:
    size: 22
    weight: 500
    leading: 1.4
  label:
    size: 26
    weight: 500
    leading: 1.4
  count:
    size: 30
    weight: 700
    leading: 1.2
    numeric: tabular
  note:
    size: 16
    weight: 400
    leading: 1.6
colors:
  ground: "#FFFFFF"
  surface: "#F4F6F9"
  ink: "#131820"
  muted: "#667183"
  accent: "#1F5FA8"
  rule: "#DBE1E9"
  series:
    - "#1C8C79"
    - "#2F6FB5"
    - "#9A6B12"
    - "#A85A2E"
rules:
  - Never leave the centre empty. An angle can only say 'share of the whole' — without the total, 42% could be 521 tickets or five
  - Four segments at most. From the fifth, neighbouring angles stop being distinguishable and the figure can only be read by going back and forth to the key
  - Put the percentages outside the ring, on the page. Reversed out of the band, each one reads differently depending on which series colour is behind it
  - Take the series colours from the mid-luminance band (0.15–0.21). A colour preset replaces the roles but keeps the series, so each one has to hold up on a light ground and a dark one alike
  - Shares in the figure, counts in the key. Print the same number twice and the reader starts checking which of the two is authoritative

Files

pattern.html

6.9 KB

/designs/donut-share-center-total/pattern.html — The artboard itself, font subset included — open it and this picture draws.

Show contents
<!doctype html>
<meta charset="utf-8">
<title>問い合わせの内訳 — 半分近くが「使い方が分からない」</title>
<meta name="dv-font" content="Zen Kaku Gothic New:400;500;700">
<link rel="stylesheet" href="./font.css">
<style>
  /* 色のリテラルはこの :root にだけ置く。以下の規則は var() か color-mix() で名指す。
     系列色は輝度 0.15〜0.21 の中間色から採ってある —— 系列色は配色プリセットを
     当てても置き換わらないので、淡地でも濃地でも 3.0 を割らない帯から選ぶ必要がある。 */
  :root {
    --ground: #FFFFFF;
    --surface: #F4F6F9;
    --ink: #131820;
    --muted: #667183;
    --accent: #1F5FA8;
    --rule: #DBE1E9;
    --series-1: #1C8C79;
    --series-2: #2F6FB5;
    --series-3: #9A6B12;
    --series-4: #A85A2E;
  }

  * { box-sizing: border-box; margin: 0; }
  html, body { width: 1920px; height: 1080px; }
  body { font-family: "Zen Kaku Gothic New", "IPAGothic", sans-serif; }

  .artboard {
    width: 1920px;
    height: 1080px;
    background: var(--ground);
    color: var(--ink);
    padding: 96px 140px;
  }

  .content {
    height: 100%;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
  }

  /* 見出し */
  .head { border-bottom: 2px solid var(--rule); padding-bottom: 28px; }
  .title { font-size: 44px; font-weight: 700; letter-spacing: 0.01em; line-height: 1.3; }
  .window { margin-top: 14px; font-size: 20px; font-weight: 500; line-height: 1.5; color: var(--muted); font-variant-numeric: tabular-nums; }

  /* 図と凡例。
     図は 680px 角に収めてある —— 中身の段の高さは 888 − 見出し約 131 − 脚注約 49 =
     約 708px で、ここを超えると割合の札が罫に乗る。CSS で縮めて合わせないのは、
     SVG を等倍でなくすと中の文字の実測値が画面の見えかたと食い違うため。
     見出しや脚注を増やすときは、この 680 も一緒に見直すこと。 */
  .body { display: grid; grid-template-columns: 680px minmax(0, 1fr); gap: 96px; align-items: center; }

  .figure { position: relative; width: 680px; height: 680px; }
  .ring { display: block; }
  .seg { fill: none; stroke-width: 86; }
  .seg-1 { stroke: var(--series-1); }
  .seg-2 { stroke: var(--series-2); }
  .seg-3 { stroke: var(--series-3); }
  .seg-4 { stroke: var(--series-4); }
  /* 割合は輪の外側の地の上に置く。帯の上に白で抜くと、系列色ごとに読みやすさが
     変わってしまう —— 地の上の ink なら 4 色のどれでも同じに読める。 */
  .share { fill: var(--ink); font-size: 32px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }

  /* 中心の総数だけは HTML を重ねる。輪の中央に置く値なので、図形の座標ではなく
     版面の中央として決まるほうが崩れない。 */
  .center {
    position: absolute;
    left: 0;
    top: 0;
    width: 680px;
    height: 680px;
    display: grid;
    place-content: center;
    text-align: center;
  }
  .total { font-size: 108px; font-weight: 700; line-height: 1; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
  .unit { margin-top: 12px; font-size: 22px; font-weight: 500; line-height: 1.4; color: var(--muted); }

  .legend { display: grid; gap: 28px; }
  .row { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 24px; align-items: baseline; padding-bottom: 20px; border-bottom: 1px solid var(--rule); }
  .chip { width: 28px; height: 28px; border-radius: 6px; }
  .chip-1 { background: var(--series-1); }
  .chip-2 { background: var(--series-2); }
  .chip-3 { background: var(--series-3); }
  .chip-4 { background: var(--series-4); }
  .label { font-size: 26px; font-weight: 500; line-height: 1.4; }
  .count { font-size: 30px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }

  .foot { border-top: 1px solid var(--rule); padding-top: 22px; font-size: 16px; font-weight: 400; line-height: 1.6; color: var(--muted); }
</style>

<div class="artboard" data-artboard>
  <div class="content" data-content>
    <div class="head">
      <h1 class="title" data-type="title">問い合わせの内訳 — 半分近くが「使い方が分からない」</h1>
      <p class="window" data-type="window">2026 年 4 月〜9 月 / 一次受付のみ / 再問い合わせは 1 件として数える</p>
    </div>

    <div class="body">
      <div class="figure">
        <!-- 等倍で描く。viewBox と width/height を一致させてあるので、SVG の中の
             文字の級数は版面の px とそのまま同じ数字になる。 -->
        <svg class="ring" width="680" height="680" viewBox="0 0 680 680">
          <g transform="rotate(-90 340 340)">
            <circle class="seg seg-1" cx="340" cy="340" r="222" stroke-dasharray="577.84 817.03" stroke-dashoffset="0"/>
            <circle class="seg seg-2" cx="340" cy="340" r="222" stroke-dasharray="368.61 1026.26" stroke-dashoffset="-585.84"/>
            <circle class="seg seg-3" cx="340" cy="340" r="222" stroke-dasharray="257.02 1137.85" stroke-dashoffset="-962.45"/>
            <circle class="seg seg-4" cx="340" cy="340" r="222" stroke-dasharray="159.38 1235.49" stroke-dashoffset="-1227.47"/>
          </g>
          <text class="share" data-type="share" x="625" y="267" text-anchor="middle" dominant-baseline="middle">42%</text>
          <text class="share" x="240" y="617" text-anchor="middle" dominant-baseline="middle">27%</text>
          <text class="share" x="53" y="276" text-anchor="middle" dominant-baseline="middle">19%</text>
          <text class="share" x="231" y="67" text-anchor="middle" dominant-baseline="middle">12%</text>
        </svg>
        <div class="center">
          <div class="total" data-type="total">1,240</div>
          <div class="unit" data-type="unit">件 / 半期</div>
        </div>
      </div>

      <div class="legend">
        <div class="row">
          <span class="chip chip-1"></span>
          <span class="label" data-type="label">使い方が分からない</span>
          <span class="count" data-type="count">521</span>
        </div>
        <div class="row">
          <span class="chip chip-2"></span>
          <span class="label">仕様どおりに動かない</span>
          <span class="count">335</span>
        </div>
        <div class="row">
          <span class="chip chip-3"></span>
          <span class="label">権限と設定の変更</span>
          <span class="count">236</span>
        </div>
        <div class="row">
          <span class="chip chip-4"></span>
          <span class="label">請求と契約</span>
          <span class="count">148</span>
        </div>
      </div>
    </div>

    <div class="foot" data-type="note">構成比は四捨五入のため合計が 100% にならないことがある。中心の総数は 4 区分の合計と一致する。</div>
  </div>
</div>

font.css

2.7 KB

/designs/donut-share-center-total/font.css — Not in Everything

Show contents
/* dv-subset v2 — generated by scripts/subset-font.mjs. Do not edit.
 * font    Zen Kaku Gothic New 400;500;700
 * chars   88 (94724b26cd2872e9)
 *
 * pattern.html の文字だけを含む部分集合。描画時に外部へ取りに行かないよう同梱する。
 * 版の文字を変えたら取り直すこと — 忘れると足りない字が豆腐になる。
 * その取り忘れは pattern-entries.test.ts が上の指紋で検出する。
 */

@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(./font-0.woff2) format('woff2');
  unicode-range: U+25, U+2c, U+2f-39, U+2014, U+3002, U+300c-300d, U+301c, U+3042, U+3044, U+3048, U+304a-304c, U+304f-3050, U+3053-3054, U+3057-305c, U+305f-3060, U+3066-306b, U+306e-3070, U+307f, U+3081, U+3089-308b, U+308f, U+3099, U+4e00, U+4e2d, U+4e94, U+4ed5, U+4ed8, U+4ef6, U+4f7f, U+5165, U+5185, U+518d, U+5206, U+52d5, U+533a, U+534a, U+53d7, U+5408, U+554f, U+56db, U+5909, U+5951, U+5b9a, U+5e74, U+5fc3, U+6210, U+6368, U+6570, U+65b9, U+66f4, U+6708, U+671f, U+69cb, U+69d8, U+6a29, U+6b21, U+6bd4, U+6c42, U+7d04, U+7dcf, U+81f4, U+8a08, U+8a2d, U+8a33, U+8acb, U+8fd1, U+9650;
}
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url(./font-1.woff2) format('woff2');
  unicode-range: U+25, U+2c, U+2f-39, U+2014, U+3002, U+300c-300d, U+301c, U+3042, U+3044, U+3048, U+304a-304c, U+304f-3050, U+3053-3054, U+3057-305c, U+305f-3060, U+3066-306b, U+306e-3070, U+307f, U+3081, U+3089-308b, U+308f, U+3099, U+4e00, U+4e2d, U+4e94, U+4ed5, U+4ed8, U+4ef6, U+4f7f, U+5165, U+5185, U+518d, U+5206, U+52d5, U+533a, U+534a, U+53d7, U+5408, U+554f, U+56db, U+5909, U+5951, U+5b9a, U+5e74, U+5fc3, U+6210, U+6368, U+6570, U+65b9, U+66f4, U+6708, U+671f, U+69cb, U+69d8, U+6a29, U+6b21, U+6bd4, U+6c42, U+7d04, U+7dcf, U+81f4, U+8a08, U+8a2d, U+8a33, U+8acb, U+8fd1, U+9650;
}
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url(./font-2.woff2) format('woff2');
  unicode-range: U+25, U+2c, U+2f-39, U+2014, U+3002, U+300c-300d, U+301c, U+3042, U+3044, U+3048, U+304a-304c, U+304f-3050, U+3053-3054, U+3057-305c, U+305f-3060, U+3066-306b, U+306e-3070, U+307f, U+3081, U+3089-308b, U+308f, U+3099, U+4e00, U+4e2d, U+4e94, U+4ed5, U+4ed8, U+4ef6, U+4f7f, U+5165, U+5185, U+518d, U+5206, U+52d5, U+533a, U+534a, U+53d7, U+5408, U+554f, U+56db, U+5909, U+5951, U+5b9a, U+5e74, U+5fc3, U+6210, U+6368, U+6570, U+65b9, U+66f4, U+6708, U+671f, U+69cb, U+69d8, U+6a29, U+6b21, U+6bd4, U+6c42, U+7d04, U+7dcf, U+81f4, U+8a08, U+8a2d, U+8a33, U+8acb, U+8fd1, U+9650;
}

Notes

構成比の図が答えない問いは、たいてい「それは何件のうちの 42% なのか」である。 ドーナツは中心が空くので、そこに母数を置ける——円グラフにできて棒グラフにできない ことがあるとすれば、これに尽きる。

区分を 4 つに抑えているのは意匠ではなく制約である。角度の差は面積や長さより読み取り にくく、5 つを超えると隣どうしの大小が目で決められなくなる。まとめられない 5 つ目が 出てきたときは、区分を足すのではなく図を分ける。