{
  "schema_version": "1.0",
  "library_id": "uiux-atlas",
  "library_version": "2.1",
  "id": 97,
  "key": "urn:uiux-atlas:pattern:097",
  "name": "ヘックスマップ",
  "english_name": "Hexbin Map",
  "category": "地図",
  "usage": "六角形の区画で密度を比べる",
  "accessibility": "集計単位と凡例を明示し、正確な行政境界と区別する",
  "responsive": "PCは比較、スマホは要約。数値表と凡例を併記。",
  "keywords": [
    "地図",
    "密度",
    "六角形"
  ],
  "implementation_prompt": "「ヘックスマップ / Hexbin Map」を実装してください。\n\n目的：六角形の区画で密度を比べる。\n想定場面：地図・密度・六角形を扱う画面。\n\n仕様：\n- 集計単位と凡例を明示し、正確な行政境界と区別する。\n- PCでは比較を、スマホでは要約を優先。数値表と凡例を併記します。\n- Noto Sans JP、本文16px、補足14px、見出し24pxを基本にする。\n- 背景#FFFFFF、カード#FFFFFF、本文#17191E、主要操作#17191E、境界線#E8ECF3。主要ボタンの文字は白にする。\n- 余白は8px単位、カード角丸12px、控えめな影に統一する。\n- semantic HTMLと標準コントロールを優先し、操作名・現在状態・結果を読み上げ可能にする。\n- キーボード操作、見えるフォーカス、通常テキスト4.5:1以上のコントラストを確保する。\n- prefers-reduced-motionを尊重し、アニメーションを止めても内容を理解できるようにする。\n\n受け入れ条件：\n- 1440pxと390pxで表示を確認し、ページ全体に横はみ出しがない。\n- 集計単位と凡例を明示し、正確な行政境界と区別することを操作で確認する。\n- 読み込み・空・成功・エラーの該当状態を用意する。\n- 見た目だけのボタンを残さず、操作を実装する。\n- 実装後にスクリーンショットを比較して改善し、決定した仕様をdesign.mdへ保存する。",
  "links": {
    "html": "097.html",
    "markdown": "097.md",
    "json": "097.json",
    "demo": "../index.html#pattern/97"
  },
  "sample": {
    "synthetic": true,
    "columns": [
      "区画",
      "件数"
    ],
    "rows": [
      [
        "2-0",
        14
      ],
      [
        "3-0",
        21
      ],
      [
        "4-0",
        28
      ],
      [
        "5-0",
        35
      ],
      [
        "6-0",
        42
      ],
      [
        "7-0",
        49
      ],
      [
        "8-0",
        56
      ],
      [
        "9-0",
        63
      ],
      [
        "10-0",
        70
      ],
      [
        "2-1",
        27
      ],
      [
        "3-1",
        34
      ],
      [
        "4-1",
        41
      ],
      [
        "5-1",
        48
      ],
      [
        "6-1",
        55
      ],
      [
        "7-1",
        62
      ],
      [
        "8-1",
        69
      ],
      [
        "9-1",
        76
      ],
      [
        "10-1",
        83
      ],
      [
        "2-2",
        40
      ],
      [
        "3-2",
        47
      ],
      [
        "4-2",
        54
      ],
      [
        "5-2",
        61
      ],
      [
        "6-2",
        68
      ],
      [
        "7-2",
        75
      ],
      [
        "8-2",
        82
      ],
      [
        "9-2",
        89
      ],
      [
        "10-2",
        96
      ],
      [
        "0-3",
        39
      ],
      [
        "1-3",
        46
      ],
      [
        "2-3",
        53
      ],
      [
        "3-3",
        60
      ],
      [
        "4-3",
        67
      ],
      [
        "5-3",
        74
      ],
      [
        "6-3",
        81
      ],
      [
        "7-3",
        88
      ],
      [
        "8-3",
        95
      ],
      [
        "9-3",
        2
      ],
      [
        "10-3",
        9
      ],
      [
        "0-4",
        52
      ],
      [
        "1-4",
        59
      ],
      [
        "2-4",
        66
      ],
      [
        "3-4",
        73
      ],
      [
        "4-4",
        80
      ],
      [
        "5-4",
        87
      ],
      [
        "6-4",
        94
      ],
      [
        "7-4",
        1
      ],
      [
        "8-4",
        8
      ],
      [
        "9-4",
        15
      ],
      [
        "10-4",
        22
      ],
      [
        "0-5",
        65
      ],
      [
        "1-5",
        72
      ],
      [
        "2-5",
        79
      ],
      [
        "3-5",
        86
      ],
      [
        "4-5",
        93
      ],
      [
        "5-5",
        0
      ],
      [
        "6-5",
        7
      ],
      [
        "7-5",
        14
      ],
      [
        "8-5",
        21
      ],
      [
        "0-6",
        78
      ],
      [
        "1-6",
        85
      ],
      [
        "2-6",
        92
      ],
      [
        "3-6",
        99
      ],
      [
        "4-6",
        6
      ],
      [
        "5-6",
        13
      ],
      [
        "6-6",
        20
      ],
      [
        "7-6",
        27
      ],
      [
        "8-6",
        34
      ]
    ]
  },
  "provenance": {
    "description": "Synthetic values and schematic positions. Japan geometry simplified from Natural Earth; some small islands omitted.",
    "source": "https://www.naturalearthdata.com/about/terms-of-use/",
    "local_source": "../assets/MAP-SOURCES.md",
    "geometry": "../assets/japan-map.js"
  },
  "url_resolution": "links resolve relative to this JSON document",
  "schema": "../ai/pattern.schema.json"
}