Graflume · Alpha

Bar

범주별 크기를 공통 기준선에서 시작하는 막대로 비교합니다.

차트 계열 · 기본 차트 계열

Bar

범주별 크기를 공통 기준선에서 시작하는 막대로 비교합니다.

Quick API
bar()
브라우저 스냅샷
graflume
mark
bar
프리셋
9

기본 구현

가장 단순한 차트

필수 데이터와 차트 고유 인코딩만 사용한 출발점입니다. 아래 코드를 펼치면 그대로 실행할 수 있습니다.

기본 예제

범주별 크기를 공통 기준선에서 시작하는 막대로 비교합니다.

상태불러오는 중

  • minimal-implementation
Graflume.horizontalBar() Canvas 2D
조작 도움말

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

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

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

불러오는 중

브라우저 API · 이식 가능한 스키마

브라우저 API

Graflume.horizontalBar()

const data = [
  {
    "category": "Insights",
    "high": 91,
    "low": 81,
    "previous": 74,
    "target": 88,
    "value": 86,
    "width": 24
  },
  {
    "category": "Dashboards",
    "high": 84,
    "low": 72,
    "previous": 69,
    "target": 82,
    "value": 78,
    "width": 21
  },
  {
    "category": "Reports",
    "high": 76,
    "low": 63,
    "previous": 65,
    "target": 74,
    "value": 69,
    "width": 18
  },
  {
    "category": "Alerts",
    "high": 68,
    "low": 55,
    "previous": 48,
    "target": 66,
    "value": 61,
    "width": 15
  },
  {
    "category": "Models",
    "high": 56,
    "low": 42,
    "previous": 41,
    "target": 55,
    "value": 48,
    "width": 12
  },
  {
    "category": "Exports",
    "high": 45,
    "low": 31,
    "previous": 34,
    "target": 44,
    "value": 37,
    "width": 10
  }
];

const options = {
  "height": 620,
  "locale": "ko",
  "mark": {
    "orientation": "horizontal"
  },
  "width": "container",
  "x": {
    "field": "value",
    "title": "Adoption (%)",
    "type": "quantitative"
  },
  "y": {
    "field": "category",
    "title": "Capability",
    "type": "ordinal"
  }
};

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

이식 가능한 스키마

ChartSpec 0.1 · options

{
  "height": 620,
  "locale": "ko",
  "mark": {
    "orientation": "horizontal"
  },
  "width": "container",
  "x": {
    "field": "value",
    "title": "Adoption (%)",
    "type": "quantitative"
  },
  "y": {
    "field": "category",
    "title": "Capability",
    "type": "ordinal"
  }
}

공통 기능

모든 차트에서 사용하는 기능

기능 탭을 선택해 헤더, 도구 설명, 테마, 범례, 강조, 말풍선, 선택, 화면 제어와 접근성을 하나씩 적용한 결과와 코드를 비교하세요. 데이터 표식 위에 마우스를 올리세요. 지원하는 차트에서는 축을 따라 커서를 움직이면 가장 가까운 값을 볼 수 있습니다. 모든 정확한 값은 아래 표에서 확인할 수 있습니다.

헤더

차트 안에 제목과 보조 설명을 넣어 무엇을 보여주는지 먼저 밝힙니다.

상태불러오는 중

  • header
Graflume.horizontalBar() Canvas 2D
조작 도움말

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

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

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

불러오는 중

브라우저 API · 이식 가능한 스키마

브라우저 API

Graflume.horizontalBar()

const data = [
  {
    "category": "Insights",
    "high": 91,
    "low": 81,
    "previous": 74,
    "target": 88,
    "value": 86,
    "width": 24
  },
  {
    "category": "Dashboards",
    "high": 84,
    "low": 72,
    "previous": 69,
    "target": 82,
    "value": 78,
    "width": 21
  },
  {
    "category": "Reports",
    "high": 76,
    "low": 63,
    "previous": 65,
    "target": 74,
    "value": 69,
    "width": 18
  },
  {
    "category": "Alerts",
    "high": 68,
    "low": 55,
    "previous": 48,
    "target": 66,
    "value": 61,
    "width": 15
  },
  {
    "category": "Models",
    "high": 56,
    "low": 42,
    "previous": 41,
    "target": 55,
    "value": 48,
    "width": 12
  },
  {
    "category": "Exports",
    "high": 45,
    "low": 31,
    "previous": 34,
    "target": 44,
    "value": 37,
    "width": 10
  }
];

const options = {
  "height": 620,
  "locale": "ko",
  "mark": {
    "orientation": "horizontal"
  },
  "title": {
    "subtitle": "Bar chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: horizontal and vertical bars · automatic total and segment labels.",
    "text": "Bar"
  },
  "width": "container",
  "x": {
    "field": "value",
    "title": "Adoption (%)",
    "type": "quantitative"
  },
  "y": {
    "field": "category",
    "title": "Capability",
    "type": "ordinal"
  }
};

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

이식 가능한 스키마

ChartSpec 0.1 · options

{
  "height": 620,
  "locale": "ko",
  "mark": {
    "orientation": "horizontal"
  },
  "title": {
    "subtitle": "Bar chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: horizontal and vertical bars · automatic total and segment labels.",
    "text": "Bar"
  },
  "width": "container",
  "x": {
    "field": "value",
    "title": "Adoption (%)",
    "type": "quantitative"
  },
  "y": {
    "field": "category",
    "title": "Capability",
    "type": "ordinal"
  }
}

차트 고유 기능

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

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

Bar chart

Bar chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: horizontal and vertical bars · automatic total and segment labels.

상태불러오는 중

  • bar
  • horizontal and vertical bars
  • automatic total and segment labels
Graflume.horizontalBar() Canvas 2D
조작 도움말

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

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

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

불러오는 중

브라우저 API · 이식 가능한 스키마

브라우저 API

Graflume.horizontalBar()

const data = [
  {
    "category": "Insights",
    "high": 91,
    "low": 81,
    "previous": 74,
    "target": 88,
    "value": 86,
    "width": 24
  },
  {
    "category": "Dashboards",
    "high": 84,
    "low": 72,
    "previous": 69,
    "target": 82,
    "value": 78,
    "width": 21
  },
  {
    "category": "Reports",
    "high": 76,
    "low": 63,
    "previous": 65,
    "target": 74,
    "value": 69,
    "width": 18
  },
  {
    "category": "Alerts",
    "high": 68,
    "low": 55,
    "previous": 48,
    "target": 66,
    "value": 61,
    "width": 15
  },
  {
    "category": "Models",
    "high": 56,
    "low": 42,
    "previous": 41,
    "target": 55,
    "value": 48,
    "width": 12
  },
  {
    "category": "Exports",
    "high": 45,
    "low": 31,
    "previous": 34,
    "target": 44,
    "value": 37,
    "width": 10
  }
];

const options = {
  "accessibility": {
    "description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
    "label": "Bar example"
  },
  "axes": {
    "x": {
      "labels": {
        "maxLength": 18,
        "orientation": "vertical-up",
        "padding": 10
      },
      "ticks": {
        "spacing": 10
      }
    },
    "y": {
      "format": {
        "type": "compact"
      }
    }
  },
  "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": {
      "axis": "x",
      "fields": [
        {
          "field": "value",
          "format": "number",
          "label": "값"
        },
        {
          "field": "category",
          "format": "auto",
          "label": "범주"
        }
      ],
      "title": "Bar",
      "trigger": "axis"
    }
  },
  "locale": "ko",
  "mark": {
    "orientation": "horizontal"
  },
  "padding": {
    "bottom": 112,
    "left": 64,
    "right": 30,
    "top": 52
  },
  "theme": "graflume-light",
  "title": {
    "subtitle": "Bar chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: horizontal and vertical bars · automatic total and segment labels.",
    "text": "Bar"
  },
  "width": "container",
  "x": {
    "field": "value",
    "title": "Adoption (%)",
    "type": "quantitative"
  },
  "y": {
    "field": "category",
    "title": "Capability",
    "type": "ordinal"
  }
};

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

이식 가능한 스키마

ChartSpec 0.1 · options

{
  "accessibility": {
    "description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
    "label": "Bar example"
  },
  "axes": {
    "x": {
      "labels": {
        "maxLength": 18,
        "orientation": "vertical-up",
        "padding": 10
      },
      "ticks": {
        "spacing": 10
      }
    },
    "y": {
      "format": {
        "type": "compact"
      }
    }
  },
  "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": {
      "axis": "x",
      "fields": [
        {
          "field": "value",
          "format": "number",
          "label": "값"
        },
        {
          "field": "category",
          "format": "auto",
          "label": "범주"
        }
      ],
      "title": "Bar",
      "trigger": "axis"
    }
  },
  "locale": "ko",
  "mark": {
    "orientation": "horizontal"
  },
  "padding": {
    "bottom": 112,
    "left": 64,
    "right": 30,
    "top": 52
  },
  "theme": "graflume-light",
  "title": {
    "subtitle": "Bar chart 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: horizontal and vertical bars · automatic total and segment labels.",
    "text": "Bar"
  },
  "width": "container",
  "x": {
    "field": "value",
    "title": "Adoption (%)",
    "type": "quantitative"
  },
  "y": {
    "field": "category",
    "title": "Capability",
    "type": "ordinal"
  }
}

극단 사례

값의 범위·불규칙 구조·대용량 입력

성공할 수 있는 유효 데이터 안에서 수치 범위, 희소 구조와 대용량 입력을 검증합니다. 각 탭은 필요할 때만 데이터를 만들며 잘못된 값은 조용히 보정하지 않습니다.

큰 값·작은 값

0과 매우 작은 유한값부터 매우 큰 유한값까지 함께 넣어 자동 도메인, 정밀도와 기하가 무너지지 않는지 확인합니다. NaN과 Infinity는 의도적으로 거부됩니다. 유한값과 축 도메인을 보존하는 데이터 무결성 규칙 2개를 적용합니다.

상태불러오는 중

  • extreme-range
  • extreme-small
  • extreme-large
  • zero
  • mixed-sign
  • budget:marks<=6
Graflume.bar() Canvas 2D
조작 도움말

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

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

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

불러오는 중

브라우저 API · 이식 가능한 스키마

브라우저 API

Graflume.bar()

const data = [
  {
    "category": "Insights",
    "value": -1000000000000
  },
  {
    "category": "Dashboards",
    "value": -1e-9
  },
  {
    "category": "Reports",
    "value": 0
  },
  {
    "category": "Alerts",
    "value": 1000000000000
  },
  {
    "category": "Models",
    "value": 1e-9
  },
  {
    "category": "Exports",
    "value": 1000000
  }
];

const options = {
  "accessibility": {
    "description": "Feature adoption, ordered so the leading capability is immediately clear. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
    "label": "Bar"
  },
  "height": 620,
  "locale": "ko",
  "mark": {
    "orientation": "horizontal"
  },
  "title": {
    "subtitle": "edge case · range",
    "text": "Bar"
  },
  "width": "container",
  "x": {
    "field": "value",
    "scale": {
      "constant": 1,
      "type": "symlog"
    },
    "title": "Adoption (%)",
    "type": "quantitative"
  },
  "y": {
    "field": "category",
    "title": "Capability",
    "type": "ordinal"
  }
};

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

이식 가능한 스키마

ChartSpec 0.1 · options

{
  "accessibility": {
    "description": "Feature adoption, ordered so the leading capability is immediately clear. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
    "label": "Bar"
  },
  "height": 620,
  "locale": "ko",
  "mark": {
    "orientation": "horizontal"
  },
  "title": {
    "subtitle": "edge case · range",
    "text": "Bar"
  },
  "width": "container",
  "x": {
    "field": "value",
    "scale": {
      "constant": 1,
      "type": "symlog"
    },
    "title": "Adoption (%)",
    "type": "quantitative"
  },
  "y": {
    "field": "category",
    "title": "Capability",
    "type": "ordinal"
  }
}

극단 환경

디바이스·입력·표시 능력에 맞춘 재구성

기기 이름을 추측하지 않고 컨테이너 크기, 입력 방식, 표시 능력과 사용자 선호를 조합합니다. 모바일·워치·전자종이·흑백·도트 화면과 표준 기반 극단 환경을 같은 차트에서 비교하세요.

반응형 화면

컨테이너 폭과 높이에 따라 축, 범례, 설명과 조작부를 자동 재배치합니다.

960×540 · adaptive.profiles=responsive-fluid
  • zoom-reflow
  • shape-rectangle
  • display-color
  • input-fine
  • motion-full
  • renderer-canvas-spatial

극단 환경 미리보기

위 프로필 탭을 선택하면 같은 데이터와 ChartSpec을 유지한 채 화면 크기, 입력 방식, 표시 능력과 사용자 선호에 맞춰 차트를 다시 구성합니다.

상태불러오는 중

  • adaptive
  • capability-driven
  • no-user-agent-branching
  • 범례: legend · layers · one series
  • 포인트·범위 하이라이트: highlights[] · datum · category
  • 설명 말풍선: annotations[] · datum · category · callout · placement:auto
  • 대화형 선택: selection · multiple · toggle
Graflume.horizontalBar() Canvas 2D
조작 도움말

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

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

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

불러오는 중

브라우저 API · 이식 가능한 스키마

브라우저 API

Graflume.horizontalBar()

const data = [
  {
    "category": "Insights",
    "high": 91,
    "low": 81,
    "previous": 74,
    "target": 88,
    "value": 86,
    "width": 24
  },
  {
    "category": "Dashboards",
    "high": 84,
    "low": 72,
    "previous": 69,
    "target": 82,
    "value": 78,
    "width": 21
  },
  {
    "category": "Reports",
    "high": 76,
    "low": 63,
    "previous": 65,
    "target": 74,
    "value": 69,
    "width": 18
  },
  {
    "category": "Alerts",
    "high": 68,
    "low": 55,
    "previous": 48,
    "target": 66,
    "value": 61,
    "width": 15
  },
  {
    "category": "Models",
    "high": 56,
    "low": 42,
    "previous": 41,
    "target": 55,
    "value": 48,
    "width": 12
  },
  {
    "category": "Exports",
    "high": 45,
    "low": 31,
    "previous": 34,
    "target": 44,
    "value": 37,
    "width": 10
  }
];

const options = {
  "accessibility": {
    "description": "Feature adoption, ordered so the leading capability is immediately clear. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
    "label": "Bar chart: Feature adoption, ordered so the leading capability is immediately clear"
  },
  "annotations": [
    {
      "connector": {
        "visible": true
      },
      "detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
      "id": "manual-callout",
      "placement": "auto",
      "style": {
        "maxWidth": 220,
        "padding": 8
      },
      "target": {
        "field": "category",
        "type": "datum",
        "value": "Alerts"
      },
      "text": "포인트·범위 하이라이트 · 61"
    }
  ],
  "axes": {
    "x": {
      "labels": {
        "maxLength": 18,
        "orientation": "vertical-up",
        "padding": 10
      },
      "ticks": {
        "spacing": 10
      }
    },
    "y": {
      "format": {
        "type": "compact"
      }
    }
  },
  "create": {
    "adaptive": {
      "profiles": "auto"
    }
  },
  "height": 620,
  "highlights": [
    {
      "id": "manual-focus",
      "padding": 7,
      "target": {
        "field": "category",
        "type": "datum",
        "value": "Alerts"
      }
    }
  ],
  "interaction": {
    "controls": {
      "annotations": true,
      "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"
    },
    "selection": {
      "ariaLabel": "대화형 선택",
      "clearOnBackground": true,
      "clearOnEscape": true,
      "highlight": {
        "padding": 5
      },
      "key": "category",
      "mode": "multiple",
      "toggle": true
    },
    "tooltip": {
      "axis": "x",
      "fields": [
        {
          "field": "value",
          "format": "number",
          "label": "값"
        },
        {
          "field": "category",
          "format": "auto",
          "label": "범주"
        }
      ],
      "title": "Bar",
      "trigger": "axis"
    }
  },
  "legend": {
    "interactive": true,
    "items": [
      {
        "id": "series",
        "label": "Bar",
        "layerId": "layer-0"
      }
    ],
    "labels": {
      "hide": "숨기기",
      "show": "표시"
    },
    "maxItems": 8,
    "mode": "layers",
    "orientation": "horizontal",
    "position": "bottom",
    "title": "Bar",
    "visible": true
  },
  "locale": "ko",
  "mark": {
    "orientation": "horizontal"
  },
  "padding": {
    "bottom": 112,
    "left": 64,
    "right": 30,
    "top": 52
  },
  "theme": "graflume-light",
  "title": {
    "subtitle": "Feature adoption, ordered so the leading capability is immediately clear",
    "text": "Bar chart"
  },
  "width": "container",
  "x": {
    "field": "value",
    "title": "Adoption (%)",
    "type": "quantitative"
  },
  "y": {
    "field": "category",
    "title": "Capability",
    "type": "ordinal"
  }
};

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

이식 가능한 스키마

ChartSpec 0.1 · options

{
  "accessibility": {
    "description": "Feature adoption, ordered so the leading capability is immediately clear. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
    "label": "Bar chart: Feature adoption, ordered so the leading capability is immediately clear"
  },
  "annotations": [
    {
      "connector": {
        "visible": true
      },
      "detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
      "id": "manual-callout",
      "placement": "auto",
      "style": {
        "maxWidth": 220,
        "padding": 8
      },
      "target": {
        "field": "category",
        "type": "datum",
        "value": "Alerts"
      },
      "text": "포인트·범위 하이라이트 · 61"
    }
  ],
  "axes": {
    "x": {
      "labels": {
        "maxLength": 18,
        "orientation": "vertical-up",
        "padding": 10
      },
      "ticks": {
        "spacing": 10
      }
    },
    "y": {
      "format": {
        "type": "compact"
      }
    }
  },
  "create": {
    "adaptive": {
      "profiles": "auto"
    }
  },
  "height": 620,
  "highlights": [
    {
      "id": "manual-focus",
      "padding": 7,
      "target": {
        "field": "category",
        "type": "datum",
        "value": "Alerts"
      }
    }
  ],
  "interaction": {
    "controls": {
      "annotations": true,
      "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"
    },
    "selection": {
      "ariaLabel": "대화형 선택",
      "clearOnBackground": true,
      "clearOnEscape": true,
      "highlight": {
        "padding": 5
      },
      "key": "category",
      "mode": "multiple",
      "toggle": true
    },
    "tooltip": {
      "axis": "x",
      "fields": [
        {
          "field": "value",
          "format": "number",
          "label": "값"
        },
        {
          "field": "category",
          "format": "auto",
          "label": "범주"
        }
      ],
      "title": "Bar",
      "trigger": "axis"
    }
  },
  "legend": {
    "interactive": true,
    "items": [
      {
        "id": "series",
        "label": "Bar",
        "layerId": "layer-0"
      }
    ],
    "labels": {
      "hide": "숨기기",
      "show": "표시"
    },
    "maxItems": 8,
    "mode": "layers",
    "orientation": "horizontal",
    "position": "bottom",
    "title": "Bar",
    "visible": true
  },
  "locale": "ko",
  "mark": {
    "orientation": "horizontal"
  },
  "padding": {
    "bottom": 112,
    "left": 64,
    "right": 30,
    "top": 52
  },
  "theme": "graflume-light",
  "title": {
    "subtitle": "Feature adoption, ordered so the leading capability is immediately clear",
    "text": "Bar chart"
  },
  "width": "container",
  "x": {
    "field": "value",
    "title": "Adoption (%)",
    "type": "quantitative"
  },
  "y": {
    "field": "category",
    "title": "Capability",
    "type": "ordinal"
  }
}

Catalog

Modes · compatibility identifiers

The source-controlled catalog maps callable modes in this family and compatibility identifiers to their canonical modes. This table contains executable entries only.

9 modes · 8 compatibility identifiers

Bar · supported modes · representative bar
IDNameQuick APImodemarkrenderer
barBar charthorizontalBar()horizontalbarcanvas
columnColumn chartcolumn()verticalbarcanvas
pictorial-barPictorial bar chartpictorialBar()pictorialpictorial-barcanvas
bulletBullet chartbullet()bulletbulletcanvas
column-pyramidColumn pyramid chartcolumnPyramid()column-pyramidpyramidcanvas
cylinderCylinder chartcylinder()cylindercylindercanvas
lollipopLollipop chartlollipop()lollipoplollipopcanvas
pictorial-columnPictorial column chartpictorialColumn()pictorial-columnpictorial-barcanvas
variable-widthVariable width column chartvariableWidth()variable-widthvariwidecanvas
Bar · compatibility identifiers
IdentifierCanonical mode ID
barbar
bulletbullet
columncolumn
columnpyramidcolumn-pyramid
cylindercylinder
lollipoplollipop
pictorialpictorial-column
variwidevariable-width

매뉴얼

통합 체크리스트

ARIA · table fallback

접근성

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

standard · large · ultra

성능

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