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

Support Wait Times — Email Is Slower and More Variable

Axis
Support Wait Times — Email Is Slower and More Variable
140 100

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

violin-plot-support-wait-times-everything.md

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

Prompt

1.2 KB
Produce one slide to the following specification.

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

## Type (px against a 1920px canvas)
title  46px / 700 / tracking 0.01em
subtitle  22px / 500
axisTitle  22px / 700
tick  20px / 500
category  28px / 700
sample  20px / 400
takeaway  28px / 500
note  20px / 400

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

## Constraints — dropping these breaks it
- Use 15 observations per channel and a shared width scale for density comparison.
- Read vertical position as response time. Width shows how observations concentrate around that time.
- Keep the middle 50% and median visible so the distribution shape is not mistaken for a single representative value.
- Label the response records as fictional so they are not mistaken for real service performance.
- Keep the time range and kernel bandwidth (11 minutes) fixed so tails and peaks do not vary for reasons other than the data.

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/violin-plot-support-wait-times/pattern.html.

Spec

1.5 KB

/ai/designs/violin-plot-support-wait-times.json

format: slide-16x9
density: medium
layout:
  kind: axis
  canvas:
    w: 1920
    h: 1080
  margin:
    top: 100
    right: 140
    bottom: 100
    left: 140
type:
  title:
    size: 46
    weight: 700
    tracking: 0.01em
  subtitle:
    size: 22
    weight: 500
  axisTitle:
    size: 22
    weight: 700
  tick:
    size: 20
    weight: 500
  category:
    size: 28
    weight: 700
  sample:
    size: 20
    weight: 400
  takeaway:
    size: 28
    weight: 500
  note:
    size: 20
    weight: 400
colors:
  ground: "#FFFFFF"
  surface: "#F4F6F9"
  ink: "#131820"
  muted: "#667183"
  accent: "#1F5FA8"
  rule: "#DBE1E9"
  series:
    - "#2F6FB5"
    - "#A85A2E"
rules:
  - Use 15 observations per channel and a shared width scale for density comparison.
  - Read vertical position as response time. Width shows how observations concentrate around that time.
  - Keep the middle 50% and median visible so the distribution shape is not mistaken for a single representative value.
  - Label the response records as fictional so they are not mistaken for real service performance.
  - Keep the time range and kernel bandwidth (11 minutes) fixed so tails and peaks do not vary for reasons other than the data.

Files

pattern.html

6.4 KB

/designs/violin-plot-support-wait-times/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 {
    --ground: #FFFFFF;
    --surface: #F4F6F9;
    --ink: #131820;
    --muted: #667183;
    --accent: #1F5FA8;
    --rule: #DBE1E9;
    --series-1: #2F6FB5;
    --series-2: #A85A2E;
  }

  * { box-sizing: border-box; margin: 0; }
  html, body { width: 1920px; height: 1080px; }
  body { font-family: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif; }
  .artboard { width: 1920px; height: 1080px; padding: 100px 140px; background: var(--ground); color: var(--ink); }
  .content { width: 100%; height: 100%; position: relative; }
  .figure { position: absolute; left: -140px; top: -100px; width: 1920px; height: 1080px; }
</style>

<div class="artboard" data-artboard>
  <div class="content" data-content>
    <svg class="figure" width="1920" height="1080" viewBox="0 0 1920 1080" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="架空の問い合わせ15件ずつの応答時間分布。チャットの中央値は22分、メールは68分。メールの分布はより広い。">
      <style>
        .ground { fill: var(--ground); }
        .ink { fill: var(--ink); }
        .muted { fill: var(--muted); }
        .rule { stroke: var(--rule); }
        .title { font-size: 46px; font-weight: 700; letter-spacing: .01em; }
        .subtitle { font-size: 22px; font-weight: 500; }
        .axis-title { font-size: 22px; font-weight: 700; }
        .tick { font-size: 20px; font-weight: 500; }
        .category { font-size: 28px; font-weight: 700; }
        .sample { font-size: 20px; font-weight: 400; }
        .takeaway { font-size: 28px; font-weight: 500; }
        .note { font-size: 20px; font-weight: 400; }
        .violin-chat { fill: var(--series-1); fill-opacity: .9; stroke: var(--series-1); stroke-width: 3; }
        .violin-email { fill: var(--series-2); fill-opacity: .9; stroke: var(--series-2); stroke-width: 3; }
        .inner { stroke: var(--ground); stroke-width: 6; stroke-linecap: round; }
        .median { fill: var(--ground); stroke: var(--ground); stroke-width: 2; }
        .figure { font-family: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif; }
      </style>
      <rect class="ground" width="1920" height="1080"/>

      <text class="ink title" data-type="title" x="140" y="153">問い合わせの待ち時間 — メールは遅く、ばらつきも大きい</text>
      <text class="muted subtitle" data-type="subtitle" x="140" y="201">窓口別の初回応答時間 / 各 15 件の架空データ / 縦位置は分、横幅は分布密度</text>
      <line class="rule" x1="140" y1="238" x2="1780" y2="238" stroke-width="2"/>

      <text class="ink axis-title" data-type="axisTitle" x="470" y="290" text-anchor="end">応答まで(分)</text>
      <g class="rule" fill="none" stroke-width="1.5">
        <line x1="510" y1="330" x2="1450" y2="330"/>
        <line x1="510" y1="435" x2="1450" y2="435"/>
        <line x1="510" y1="540" x2="1450" y2="540"/>
        <line x1="510" y1="645" x2="1450" y2="645"/>
        <line x1="510" y1="750" x2="1450" y2="750"/>
      </g>
      <g class="muted tick" text-anchor="end" dominant-baseline="central">
        <text data-type="tick" x="480" y="330">120</text>
        <text x="480" y="435">90</text>
        <text x="480" y="540">60</text>
        <text x="480" y="645">30</text>
        <text x="480" y="750">0</text>
      </g>

      <!-- Shared kernel-density scale for two equal-sized fictional samples of 15 tickets each. -->
      <path class="violin-chat" data-observations="8,13,17,18,19,21,22,22,23,24,26,28,30,35,52" data-bandwidth-minutes="11" d="M800 330 L800 347.5 L800 365 L800 382.5 L800 400 L799.99 417.5 L799.97 435 L799.86 452.5 L799.52 470 L798.61 487.5 L796.69 505 L793.45 522.5 L788.91 540 L783.07 557.5 L774.77 575 L761.13 592.5 L739.14 610 L709.25 627.5 L678.13 645 L656.94 662.5 L655 680 L673.54 697.5 L705.04 715 L738.46 732.5 L765.52 750 L834.48 750 L861.54 732.5 L894.96 715 L926.46 697.5 L945 680 L943.06 662.5 L921.87 645 L890.75 627.5 L860.86 610 L838.87 592.5 L825.23 575 L816.93 557.5 L811.09 540 L806.55 522.5 L803.31 505 L801.39 487.5 L800.48 470 L800.14 452.5 L800.03 435 L800.01 417.5 L800 400 L800 382.5 L800 365 L800 347.5 Z"/>
      <path class="violin-email" data-observations="23,32,41,48,55,60,65,68,72,78,82,90,101,110,118" data-bandwidth-minutes="11" d="M1256.83 330 L1250.68 347.5 L1246.64 365 L1244.49 382.5 L1242.87 400 L1240.13 417.5 L1235.3 435 L1228.57 452.5 L1221.21 470 L1214.93 487.5 L1211.31 505 L1211.23 522.5 L1214.49 540 L1219.92 557.5 L1226.01 575 L1231.69 592.5 L1236.61 610 L1241.16 627.5 L1246.07 645 L1252.01 662.5 L1258.95 680 L1266.02 697.5 L1272.01 715 L1276.13 732.5 L1278.44 750 L1281.56 750 L1283.87 732.5 L1287.99 715 L1293.98 697.5 L1301.05 680 L1307.99 662.5 L1313.93 645 L1318.84 627.5 L1323.39 610 L1328.31 592.5 L1333.99 575 L1340.08 557.5 L1345.51 540 L1348.77 522.5 L1348.69 505 L1345.07 487.5 L1338.79 470 L1331.43 452.5 L1324.7 435 L1319.87 417.5 L1317.13 400 L1315.51 382.5 L1313.36 365 L1309.32 347.5 L1303.17 330 Z"/>

      <!-- Inner quartile range and median are the familiar summary marks inside each distribution. -->
      <line class="inner" x1="800" y1="652" x2="800" y2="690"/>
      <circle class="median" cx="800" cy="673" r="8"/>
      <line class="inner" x1="1280" y1="435" x2="1280" y2="582"/>
      <circle class="median" cx="1280" cy="512" r="8"/>

      <text class="ink category" data-type="category" x="800" y="810" text-anchor="middle">チャット</text>
      <text class="muted sample" data-type="sample" x="800" y="846" text-anchor="middle">中央値 22 分</text>
      <text class="ink category" x="1280" y="810" text-anchor="middle">メール</text>
      <text class="muted sample" x="1280" y="846" text-anchor="middle">中央値 68 分</text>

      <text class="ink takeaway" data-type="takeaway" x="960" y="926" text-anchor="middle">メールは中央値が約 3 倍。応答時間のばらつきも大きい</text>
      <line class="rule" x1="140" y1="974" x2="1780" y2="974" stroke-width="1"/>
      <text class="muted note" data-type="note" x="140" y="1013">架空の応答記録。幅は各窓口内の相対密度、白い点は中央値、白線は中央 50% の範囲。標本数は各 15 件。</text>
    </svg>
  </div>
</div>

font.css

2.7 KB

/designs/violin-plot-support-wait-times/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   84 (e605e407aa166826)
 *
 * 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+2f-33, U+35-36, U+38-39, U+2014, U+3001-3002, U+3044, U+304b-3050, U+305b-305c, U+3061-3062, U+3064-3067, U+306e-3070, U+307e, U+3082, U+3089, U+308f, U+3099, U+30bf-30c3, U+30c6-30c9, U+30e1, U+30e3, U+30eb, U+30fc, U+4e2d, U+4ef6, U+4f4d, U+500d, U+5024, U+5185, U+5206, U+521d, U+5225, U+53e3, U+5404, U+5408, U+554f, U+56de, U+56f2, U+5927, U+592e, U+5bc6, U+5bfe, U+5e03, U+5e45, U+5ea6, U+5f85, U+5fdc, U+6570, U+6642, U+672c, U+67b6, U+6a19, U+6a2a, U+70b9, U+767d, U+76f8, U+7a7a, U+7a93, U+7b54, U+7bc4, U+7d04, U+7dda, U+7e26, U+7f6e, U+8a18, U+9045, U+9332, U+9593, U+ff08-ff09;
}
@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+2f-33, U+35-36, U+38-39, U+2014, U+3001-3002, U+3044, U+304b-3050, U+305b-305c, U+3061-3062, U+3064-3067, U+306e-3070, U+307e, U+3082, U+3089, U+308f, U+3099, U+30bf-30c3, U+30c6-30c9, U+30e1, U+30e3, U+30eb, U+30fc, U+4e2d, U+4ef6, U+4f4d, U+500d, U+5024, U+5185, U+5206, U+521d, U+5225, U+53e3, U+5404, U+5408, U+554f, U+56de, U+56f2, U+5927, U+592e, U+5bc6, U+5bfe, U+5e03, U+5e45, U+5ea6, U+5f85, U+5fdc, U+6570, U+6642, U+672c, U+67b6, U+6a19, U+6a2a, U+70b9, U+767d, U+76f8, U+7a7a, U+7a93, U+7b54, U+7bc4, U+7d04, U+7dda, U+7e26, U+7f6e, U+8a18, U+9045, U+9332, U+9593, U+ff08-ff09;
}
@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+2f-33, U+35-36, U+38-39, U+2014, U+3001-3002, U+3044, U+304b-3050, U+305b-305c, U+3061-3062, U+3064-3067, U+306e-3070, U+307e, U+3082, U+3089, U+308f, U+3099, U+30bf-30c3, U+30c6-30c9, U+30e1, U+30e3, U+30eb, U+30fc, U+4e2d, U+4ef6, U+4f4d, U+500d, U+5024, U+5185, U+5206, U+521d, U+5225, U+53e3, U+5404, U+5408, U+554f, U+56de, U+56f2, U+5927, U+592e, U+5bc6, U+5bfe, U+5e03, U+5e45, U+5ea6, U+5f85, U+5fdc, U+6570, U+6642, U+672c, U+67b6, U+6a19, U+6a2a, U+70b9, U+767d, U+76f8, U+7a7a, U+7a93, U+7b54, U+7bc4, U+7d04, U+7dda, U+7e26, U+7f6e, U+8a18, U+9045, U+9332, U+9593, U+ff08-ff09;
}

Notes

視覚的な問い

初回応答時間は窓口ごとにどの値へ集中し、中央値とばらつきはどう違うか。

構造

縦位置は応答時間、左右の幅はカーネル密度を表す。各窓口15件の架空標本から、帯域幅11分の カーネル密度を同じ横幅尺度で描く。白い点は中央値、白い縦線は中央50%の範囲である。 箱ひげ図が四分位の要約を主に示すのに対し、この図は分布の山と尾の形を読ませる。

チャットは20分台に集中し、メールはより長い時間へ広がっている。値は架空の応答記録であり、実際の窓口性能については主張しない。