---
code: "SCH-15"
id: "c-sch-fishbone"
tab: "schemas"
kind: "schema"
title: "Fishbone · 이시카와 (특성요인도)"
library: "SVG"
deps: ["svg"]
load: "low"
pasteKind: "schema-svg"
family: "cause"
dataShape: "6-cell diagram with 중앙 척추+가지 axis"
tasks: ["structure ideas", "explain process", "choose communication frame"]
tags: ["cause", "중앙 척추+가지", "6cells", "Ishikawa", "RCA", "6M", "특성요인도"]
gallery: "https://graph.heal7.com/#SCH-15"
js: "/sku/SCH-15.js"
---

# [SCH-15] Fishbone · 이시카와 (특성요인도)

> AI 붙여넣기 카드. 갤러리 런타임(`main.js`)이 아니라 이 파일을 가져와라.

## 언제 가져가나
중앙 척추(결과) ← 좌우 가지(원인 카테고리) — 근본원인 분석(RCA)의 표준 도식.

**응용** 품질 결함 RCA, 장애 원인 추적, 6M(Man·Machine·Method·Material·Measurement·Mother Nature).

## 데이터 모양
- family: `cause`
- dataShape: 6-cell diagram with 중앙 척추+가지 axis
- tasks: structure ideas, explain process, choose communication frame
- tags: cause, 중앙 척추+가지, 6cells, Ishikawa, RCA, 6M, 특성요인도

- schema.type: `cause`
- schema.cells: `6`
- schema.axis: `중앙 척추+가지`


## 의존
svg · load `low` · library `SVG`

## 붙여넣는 법
1. 라이브러리 없음. svg viewBox 0 0 400 240
2. 아래 body 를 svg 안에 넣는다
3. 색 변수(`${gold}` 등)는 T 토큰으로 치환한다

```js
const T = {
  "bg": "transparent",
  "fg": "#ece8f5",
  "sub": "#a59bbd",
  "grid": "rgba(255,255,255,.08)",
  "gold": "#e8c069",
  "royal": "#6b8cff",
  "rose": "#e07a9f",
  "teal": "#6dd2c4",
  "plum": "#b487e8"
};
const gold = T.gold, royal = T.royal, rose = T.rose, teal = T.teal, plum = T.plum, fg = T.fg, sub = T.sub;
const stroke = 'rgba(255,255,255,.18)';
const fill1 = 'rgba(232,192,105,.10)';
const fill2 = 'rgba(107,140,255,.10)';
const host = document.querySelector('#chart');
const body = `
    <line x1="40" y1="120" x2="350" y2="120" stroke="${gold}" stroke-width="2"/>
    <polygon points="350,120 340,114 340,126" fill="${gold}"/>
    <rect x="350" y="100" width="44" height="40" rx="6" fill="${fill1}" stroke="${gold}" stroke-width="1.5"/>
    <text x="372" y="125" text-anchor="middle" fill="${fg}" font-size="11" font-weight="700">결과</text>
    ${[
      [80,  'top',    'Man',     royal],
      [170, 'top',    'Method',  plum],
      [260, 'top',    'Machine', rose],
      [80,  'bottom', 'Material',teal],
      [170, 'bottom', 'Measure', royal],
      [260, 'bottom', 'Mother',  plum]
    ].map(([x, side, lab, c])=>{
      const y1 = 120, y2 = side==='top' ? 50 : 190;
      const tx = side==='top' ? x-30 : x-30;
      const ty = side==='top' ? y2-4 : y2+14;
      return `<line x1="${x}" y1="${y1}" x2="${x-30}" y2="${y2}" stroke="${c}" stroke-width="1.5"/>
              <text x="${tx}" y="${ty}" text-anchor="end" fill="${c}" font-size="11" font-weight="600">${lab}</text>`;
    }).join('')}
    <text x="200" y="232" text-anchor="middle" fill="${sub}" font-size="11">이시카와 6M · 척추 + 6 가지 (원인 → 결과)</text>
  `;
host.innerHTML = '<svg viewBox="0 0 400 240" width="100%" height="100%" preserveAspectRatio="xMidYMid meet" style="overflow:visible">' + (typeof body === 'string' ? body : '') + '</svg>';
```

## 원본 factory (갤러리 정본 발췌)
- file: `frontend/js/graph-gallery/main.js`
- lines: 3911-4470
- gallery: https://graph.heal7.com/#SCH-15
- raw js: https://graph.heal7.com/sku/SCH-15.js

```js
`
    <line x1="40" y1="120" x2="350" y2="120" stroke="${gold}" stroke-width="2"/>
    <polygon points="350,120 340,114 340,126" fill="${gold}"/>
    <rect x="350" y="100" width="44" height="40" rx="6" fill="${fill1}" stroke="${gold}" stroke-width="1.5"/>
    <text x="372" y="125" text-anchor="middle" fill="${fg}" font-size="11" font-weight="700">결과</text>
    ${[
      [80,  'top',    'Man',     royal],
      [170, 'top',    'Method',  plum],
      [260, 'top',    'Machine', rose],
      [80,  'bottom', 'Material',teal],
      [170, 'bottom', 'Measure', royal],
      [260, 'bottom', 'Mother',  plum]
    ].map(([x, side, lab, c])=>{
      const y1 = 120, y2 = side==='top' ? 50 : 190;
      const tx = side==='top' ? x-30 : x-30;
      const ty = side==='top' ? y2-4 : y2+14;
      return `<line x1="${x}" y1="${y1}" x2="${x-30}" y2="${y2}" stroke="${c}" stroke-width="1.5"/>
              <text x="${tx}" y="${ty}" text-anchor="end" fill="${c}" font-size="11" font-weight="600">${lab}</text>`;
    }).join('')}
    <text x="200" y="232" text-anchor="middle" fill="${sub}" font-size="11">이시카와 6M · 척추 + 6 가지 (원인 → 결과)</text>
  `
```

## 시나리오
- 품질 결함 RCA — 6M 카테고리
- 장애 원인 추적 — Man·Method·Tool·Env
- 매출 하락 원인 분해
- 이탈률 원인 분석

## 관련 SKU
`c-sch-mindmap2`, `c-sch-3layer`

