모션 차트 · 차트별 기능

시간 필드의 특정 프레임을 선택해 다변량 점의 변화를 비교합니다. 이 차트에서 사용할 수 있는 다양한 표현과 기능을 예제로 살펴보세요.

모션 차트

차트 고유 기능

이 차트만의 고유한 실행 기능

Graflume 공개 카탈로그에 등록된 이 계열의 모든 실행 모드입니다. 각 탭은 독립 데이터, 옵션, Quick API와 지원 기능 근거를 가집니다.

Motion chart

Motion chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: stable keys · frame/cumulative/window playback.

불러오는 중

조작 도움말

확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.

Tab으로 조작부를 이동하고 Enter 또는 Space로 실행하세요. 차트에 초점이 있을 때 더하기·빼기 키로 확대·축소하고 화살표 키로 이동할 수 있습니다.

자동 배치는 둘레 후보를 비교해 차트·범례·다른 말풍선과의 겹침을 가능한 한 피합니다. 명시한 위치는 필요한 안전 보정만 적용해 유지합니다. 말풍선 글자는 상자 안에서 안전하게 자동 줄바꿈됩니다. 끊어지지 않는 긴 토큰은 정해진 줄 수 안에서 시각적으로 축약하지만, 보조 기술에는 원문 전체를 유지합니다.

불러오는 중

코드와 설정 보기

브라우저 API

Graflume.motion()

const data = [
  {
    "group": "Starter",
    "name": "Atlas Lab",
    "size": 28,
    "time": "2025",
    "x": 14,
    "y": 38,
    "z": 7
  },
  {
    "group": "Starter",
    "name": "Atlas Lab",
    "size": 28,
    "time": "2026",
    "x": 21,
    "y": 42,
    "z": 7
  },
  {
    "group": "Starter",
    "name": "Beacon Co",
    "size": 34,
    "time": "2025",
    "x": 20,
    "y": 45,
    "z": 10
  },
  {
    "group": "Starter",
    "name": "Beacon Co",
    "size": 34,
    "time": "2026",
    "x": 28,
    "y": 49,
    "z": 10
  },
  {
    "group": "Starter",
    "name": "Civic Data",
    "size": 31,
    "time": "2025",
    "x": 25,
    "y": 41,
    "z": 12
  },
  {
    "group": "Starter",
    "name": "Civic Data",
    "size": 31,
    "time": "2026",
    "x": 34,
    "y": 45,
    "z": 12
  },
  {
    "group": "Growth",
    "name": "Delta Ops",
    "size": 64,
    "time": "2025",
    "x": 38,
    "y": 57,
    "z": 15
  },
  {
    "group": "Growth",
    "name": "Delta Ops",
    "size": 64,
    "time": "2026",
    "x": 48,
    "y": 61,
    "z": 15
  },
  {
    "group": "Growth",
    "name": "Ember Labs",
    "size": 78,
    "time": "2025",
    "x": 45,
    "y": 63,
    "z": 18
  },
  {
    "group": "Growth",
    "name": "Ember Labs",
    "size": 78,
    "time": "2026",
    "x": 56,
    "y": 67,
    "z": 18
  },
  {
    "group": "Growth",
    "name": "Foundry BI",
    "size": 70,
    "time": "2025",
    "x": 50,
    "y": 55,
    "z": 21
  },
  {
    "group": "Growth",
    "name": "Foundry BI",
    "size": 70,
    "time": "2026",
    "x": 62,
    "y": 59,
    "z": 21
  },
  {
    "group": "Scale",
    "name": "Harbor AI",
    "size": 112,
    "time": "2025",
    "x": 64,
    "y": 72,
    "z": 25
  },
  {
    "group": "Scale",
    "name": "Harbor AI",
    "size": 112,
    "time": "2026",
    "x": 77,
    "y": 76,
    "z": 25
  },
  {
    "group": "Scale",
    "name": "Lattice Co",
    "size": 128,
    "time": "2025",
    "x": 72,
    "y": 79,
    "z": 28
  },
  {
    "group": "Scale",
    "name": "Lattice Co",
    "size": 128,
    "time": "2026",
    "x": 86,
    "y": 83,
    "z": 28
  },
  {
    "group": "Scale",
    "name": "Meridian",
    "size": 118,
    "time": "2025",
    "x": 78,
    "y": 70,
    "z": 31
  },
  {
    "group": "Scale",
    "name": "Meridian",
    "size": 118,
    "time": "2026",
    "x": 93,
    "y": 74,
    "z": 31
  },
  {
    "group": "Opportunity",
    "name": "Northstar",
    "size": 52,
    "time": "2025",
    "x": 61,
    "y": 88,
    "z": 34
  },
  {
    "group": "Opportunity",
    "name": "Northstar",
    "size": 52,
    "time": "2026",
    "x": 77,
    "y": 92,
    "z": 34
  }
];

const options = {
  "accessibility": {
    "description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
    "label": "모션 차트 example"
  },
  "axes": {
    "x": {
      "format": {
        "fractionDigits": 0,
        "type": "number"
      },
      "title": {
        "padding": 36,
        "text": "Reach score"
      }
    },
    "y": {
      "format": {
        "fractionDigits": 0,
        "type": "number"
      },
      "offset": 6,
      "position": "right",
      "title": {
        "padding": 58,
        "text": "Quality score"
      }
    }
  },
  "height": 620,
  "interaction": {
    "controls": {
      "annotations": false,
      "export": true,
      "fullscreen": true,
      "labels": {
        "controls": "차트 조작",
        "enterFullscreen": "전체 화면 열기",
        "exitFullscreen": "전체 화면 닫기",
        "exportPng": "PNG 다운로드",
        "hideAnnotations": "설명 말풍선 숨기기",
        "loop": "반복 재생",
        "nextFrame": "다음 프레임",
        "pause": "일시 정지",
        "play": "재생",
        "previousFrame": "이전 프레임",
        "reset": "보기 초기화",
        "seek": "재생 위치",
        "showAnnotations": "설명 말풍선 표시",
        "speed": "재생 속도",
        "zoomIn": "확대",
        "zoomOut": "축소"
      },
      "playback": false,
      "reset": true,
      "zoom": true
    },
    "hover": true,
    "navigation": {
      "drag": true,
      "keyboard": true,
      "maxZoom": 6,
      "minZoom": 1,
      "pinch": true,
      "wheel": "modifier"
    },
    "tooltip": {
      "fields": [
        {
          "field": "x",
          "format": "number",
          "label": "X"
        },
        {
          "field": "y",
          "format": "number",
          "label": "Y"
        },
        {
          "field": "size",
          "format": "number",
          "label": "크기"
        },
        {
          "field": "group",
          "format": "auto",
          "label": "그룹"
        },
        {
          "field": "time",
          "format": "auto",
          "label": "시점"
        }
      ],
      "title": "모션 차트",
      "trigger": "mark"
    }
  },
  "locale": "ko",
  "mark": {
    "fields": {
      "color": "group",
      "size": "size",
      "time": "time"
    },
    "options": {
      "frame": "2026"
    }
  },
  "padding": {
    "bottom": 58,
    "left": 30,
    "right": 88,
    "top": 52
  },
  "theme": "graflume-light",
  "title": {
    "subtitle": "Motion chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: stable keys · frame/cumulative/window playback.",
    "text": "모션 차트"
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Engagement score",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Satisfaction score",
    "type": "quantitative"
  }
};

Graflume.motion('#chart', data, options);

이식 가능한 스키마

ChartSpec 0.1 · options

{
  "accessibility": {
    "description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
    "label": "모션 차트 example"
  },
  "axes": {
    "x": {
      "format": {
        "fractionDigits": 0,
        "type": "number"
      },
      "title": {
        "padding": 36,
        "text": "Reach score"
      }
    },
    "y": {
      "format": {
        "fractionDigits": 0,
        "type": "number"
      },
      "offset": 6,
      "position": "right",
      "title": {
        "padding": 58,
        "text": "Quality score"
      }
    }
  },
  "height": 620,
  "interaction": {
    "controls": {
      "annotations": false,
      "export": true,
      "fullscreen": true,
      "labels": {
        "controls": "차트 조작",
        "enterFullscreen": "전체 화면 열기",
        "exitFullscreen": "전체 화면 닫기",
        "exportPng": "PNG 다운로드",
        "hideAnnotations": "설명 말풍선 숨기기",
        "loop": "반복 재생",
        "nextFrame": "다음 프레임",
        "pause": "일시 정지",
        "play": "재생",
        "previousFrame": "이전 프레임",
        "reset": "보기 초기화",
        "seek": "재생 위치",
        "showAnnotations": "설명 말풍선 표시",
        "speed": "재생 속도",
        "zoomIn": "확대",
        "zoomOut": "축소"
      },
      "playback": false,
      "reset": true,
      "zoom": true
    },
    "hover": true,
    "navigation": {
      "drag": true,
      "keyboard": true,
      "maxZoom": 6,
      "minZoom": 1,
      "pinch": true,
      "wheel": "modifier"
    },
    "tooltip": {
      "fields": [
        {
          "field": "x",
          "format": "number",
          "label": "X"
        },
        {
          "field": "y",
          "format": "number",
          "label": "Y"
        },
        {
          "field": "size",
          "format": "number",
          "label": "크기"
        },
        {
          "field": "group",
          "format": "auto",
          "label": "그룹"
        },
        {
          "field": "time",
          "format": "auto",
          "label": "시점"
        }
      ],
      "title": "모션 차트",
      "trigger": "mark"
    }
  },
  "locale": "ko",
  "mark": {
    "fields": {
      "color": "group",
      "size": "size",
      "time": "time"
    },
    "options": {
      "frame": "2026"
    }
  },
  "padding": {
    "bottom": 58,
    "left": 30,
    "right": 88,
    "top": 52
  },
  "theme": "graflume-light",
  "title": {
    "subtitle": "Motion chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: stable keys · frame/cumulative/window playback.",
    "text": "모션 차트"
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Engagement score",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Satisfaction score",
    "type": "quantitative"
  }
}
Quick API
motion()
브라우저 스냅샷
graflume
mark
motion
프리셋
1
  • motion
  • stable keys
  • frame/cumulative/window playback
  • enter/update/exit transitions
  • geometry and color tween
  • seek/scrubber/step/rate/loop
  • reduced motion
  • reverse playback
  • loop subranges
  • named frames

차트 카탈로그

실행 모드와 호환 이름

실행 가능한 모드와 이전 이름의 대응 관계를 확인하세요.

모드: 1 · 호환 이름: 0

모션 차트 · 지원 모드 · 대표 모드 motion
ID이름Quick APImodemark렌더러
motion모션 차트 · motionmotion()defaultmotioncanvas

매뉴얼

통합 체크리스트

ARIA · table fallback

접근성

Canvas ARIA 메타데이터에 텍스트 요약과 표 대체 표현을 함께 제공합니다.

standard · large · ultra

성능

standard·large·ultra 프로필은 렌더링 작업량을 제한합니다.