격자 이미지 차트

촘촘한 격자의 값을 색으로 바꿔 공간적인 분포를 읽으세요.

격자 이미지 차트

가장 단순한 차트

차트를 살펴보고, 표에서 원본 데이터를 확인하세요. 아래에서 같은 예제의 코드를 펼칠 수 있습니다.

기본 예제

불러오는 중

조작 도움말

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

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

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

불러오는 중

코드와 설정 보기

브라우저 API

Graflume.image()

const data = [
  {
    "blue": 224,
    "green": 52,
    "red": 32,
    "x": 0,
    "y": 0
  },
  {
    "blue": 216,
    "green": 52,
    "red": 49,
    "x": 1,
    "y": 0
  },
  {
    "blue": 207,
    "green": 52,
    "red": 66,
    "x": 2,
    "y": 0
  },
  {
    "blue": 199,
    "green": 52,
    "red": 82,
    "x": 3,
    "y": 0
  },
  {
    "blue": 190,
    "green": 52,
    "red": 99,
    "x": 4,
    "y": 0
  },
  {
    "blue": 182,
    "green": 52,
    "red": 116,
    "x": 5,
    "y": 0
  },
  {
    "blue": 174,
    "green": 52,
    "red": 133,
    "x": 6,
    "y": 0
  },
  {
    "blue": 165,
    "green": 52,
    "red": 150,
    "x": 7,
    "y": 0
  },
  {
    "blue": 157,
    "green": 52,
    "red": 166,
    "x": 8,
    "y": 0
  },
  {
    "blue": 148,
    "green": 52,
    "red": 183,
    "x": 9,
    "y": 0
  },
  {
    "blue": 140,
    "green": 52,
    "red": 200,
    "x": 10,
    "y": 0
  },
  {
    "blue": 132,
    "green": 52,
    "red": 217,
    "x": 11,
    "y": 0
  },
  {
    "blue": 216,
    "green": 77,
    "red": 32,
    "x": 0,
    "y": 1
  },
  {
    "blue": 207,
    "green": 77,
    "red": 49,
    "x": 1,
    "y": 1
  },
  {
    "blue": 199,
    "green": 77,
    "red": 66,
    "x": 2,
    "y": 1
  },
  {
    "blue": 190,
    "green": 77,
    "red": 82,
    "x": 3,
    "y": 1
  },
  {
    "blue": 182,
    "green": 77,
    "red": 99,
    "x": 4,
    "y": 1
  },
  {
    "blue": 174,
    "green": 77,
    "red": 116,
    "x": 5,
    "y": 1
  },
  {
    "blue": 165,
    "green": 77,
    "red": 133,
    "x": 6,
    "y": 1
  },
  {
    "blue": 157,
    "green": 77,
    "red": 150,
    "x": 7,
    "y": 1
  },
  {
    "blue": 148,
    "green": 77,
    "red": 166,
    "x": 8,
    "y": 1
  },
  {
    "blue": 140,
    "green": 77,
    "red": 183,
    "x": 9,
    "y": 1
  },
  {
    "blue": 132,
    "green": 77,
    "red": 200,
    "x": 10,
    "y": 1
  },
  {
    "blue": 123,
    "green": 77,
    "red": 217,
    "x": 11,
    "y": 1
  },
  {
    "blue": 207,
    "green": 101,
    "red": 32,
    "x": 0,
    "y": 2
  },
  {
    "blue": 199,
    "green": 101,
    "red": 49,
    "x": 1,
    "y": 2
  },
  {
    "blue": 190,
    "green": 101,
    "red": 66,
    "x": 2,
    "y": 2
  },
  {
    "blue": 182,
    "green": 101,
    "red": 82,
    "x": 3,
    "y": 2
  },
  {
    "blue": 174,
    "green": 101,
    "red": 99,
    "x": 4,
    "y": 2
  },
  {
    "blue": 165,
    "green": 101,
    "red": 116,
    "x": 5,
    "y": 2
  },
  {
    "blue": 157,
    "green": 101,
    "red": 133,
    "x": 6,
    "y": 2
  },
  {
    "blue": 148,
    "green": 101,
    "red": 150,
    "x": 7,
    "y": 2
  },
  {
    "blue": 140,
    "green": 101,
    "red": 166,
    "x": 8,
    "y": 2
  },
  {
    "blue": 132,
    "green": 101,
    "red": 183,
    "x": 9,
    "y": 2
  },
  {
    "blue": 123,
    "green": 101,
    "red": 200,
    "x": 10,
    "y": 2
  },
  {
    "blue": 115,
    "green": 101,
    "red": 217,
    "x": 11,
    "y": 2
  },
  {
    "blue": 199,
    "green": 126,
    "red": 32,
    "x": 0,
    "y": 3
  },
  {
    "blue": 190,
    "green": 126,
    "red": 49,
    "x": 1,
    "y": 3
  },
  {
    "blue": 182,
    "green": 126,
    "red": 66,
    "x": 2,
    "y": 3
  },
  {
    "blue": 174,
    "green": 126,
    "red": 82,
    "x": 3,
    "y": 3
  },
  {
    "blue": 165,
    "green": 126,
    "red": 99,
    "x": 4,
    "y": 3
  },
  {
    "blue": 157,
    "green": 126,
    "red": 116,
    "x": 5,
    "y": 3
  },
  {
    "blue": 148,
    "green": 126,
    "red": 133,
    "x": 6,
    "y": 3
  },
  {
    "blue": 140,
    "green": 126,
    "red": 150,
    "x": 7,
    "y": 3
  },
  {
    "blue": 132,
    "green": 126,
    "red": 166,
    "x": 8,
    "y": 3
  },
  {
    "blue": 123,
    "green": 126,
    "red": 183,
    "x": 9,
    "y": 3
  },
  {
    "blue": 115,
    "green": 126,
    "red": 200,
    "x": 10,
    "y": 3
  },
  {
    "blue": 106,
    "green": 126,
    "red": 217,
    "x": 11,
    "y": 3
  },
  {
    "blue": 190,
    "green": 150,
    "red": 32,
    "x": 0,
    "y": 4
  },
  {
    "blue": 182,
    "green": 150,
    "red": 49,
    "x": 1,
    "y": 4
  },
  {
    "blue": 174,
    "green": 150,
    "red": 66,
    "x": 2,
    "y": 4
  },
  {
    "blue": 165,
    "green": 150,
    "red": 82,
    "x": 3,
    "y": 4
  },
  {
    "blue": 157,
    "green": 150,
    "red": 99,
    "x": 4,
    "y": 4
  },
  {
    "blue": 148,
    "green": 150,
    "red": 116,
    "x": 5,
    "y": 4
  },
  {
    "blue": 140,
    "green": 150,
    "red": 133,
    "x": 6,
    "y": 4
  },
  {
    "blue": 132,
    "green": 150,
    "red": 150,
    "x": 7,
    "y": 4
  },
  {
    "blue": 123,
    "green": 150,
    "red": 166,
    "x": 8,
    "y": 4
  },
  {
    "blue": 115,
    "green": 150,
    "red": 183,
    "x": 9,
    "y": 4
  },
  {
    "blue": 106,
    "green": 150,
    "red": 200,
    "x": 10,
    "y": 4
  },
  {
    "blue": 98,
    "green": 150,
    "red": 217,
    "x": 11,
    "y": 4
  },
  {
    "blue": 182,
    "green": 175,
    "red": 32,
    "x": 0,
    "y": 5
  },
  {
    "blue": 174,
    "green": 175,
    "red": 49,
    "x": 1,
    "y": 5
  },
  {
    "blue": 165,
    "green": 175,
    "red": 66,
    "x": 2,
    "y": 5
  },
  {
    "blue": 157,
    "green": 175,
    "red": 82,
    "x": 3,
    "y": 5
  },
  {
    "blue": 148,
    "green": 175,
    "red": 99,
    "x": 4,
    "y": 5
  },
  {
    "blue": 140,
    "green": 175,
    "red": 116,
    "x": 5,
    "y": 5
  },
  {
    "blue": 132,
    "green": 175,
    "red": 133,
    "x": 6,
    "y": 5
  },
  {
    "blue": 123,
    "green": 175,
    "red": 150,
    "x": 7,
    "y": 5
  },
  {
    "blue": 115,
    "green": 175,
    "red": 166,
    "x": 8,
    "y": 5
  },
  {
    "blue": 106,
    "green": 175,
    "red": 183,
    "x": 9,
    "y": 5
  },
  {
    "blue": 98,
    "green": 175,
    "red": 200,
    "x": 10,
    "y": 5
  },
  {
    "blue": 90,
    "green": 175,
    "red": 217,
    "x": 11,
    "y": 5
  },
  {
    "blue": 174,
    "green": 199,
    "red": 32,
    "x": 0,
    "y": 6
  },
  {
    "blue": 165,
    "green": 199,
    "red": 49,
    "x": 1,
    "y": 6
  },
  {
    "blue": 157,
    "green": 199,
    "red": 66,
    "x": 2,
    "y": 6
  },
  {
    "blue": 148,
    "green": 199,
    "red": 82,
    "x": 3,
    "y": 6
  },
  {
    "blue": 140,
    "green": 199,
    "red": 99,
    "x": 4,
    "y": 6
  },
  {
    "blue": 132,
    "green": 199,
    "red": 116,
    "x": 5,
    "y": 6
  },
  {
    "blue": 123,
    "green": 199,
    "red": 133,
    "x": 6,
    "y": 6
  },
  {
    "blue": 115,
    "green": 199,
    "red": 150,
    "x": 7,
    "y": 6
  },
  {
    "blue": 106,
    "green": 199,
    "red": 166,
    "x": 8,
    "y": 6
  },
  {
    "blue": 98,
    "green": 199,
    "red": 183,
    "x": 9,
    "y": 6
  },
  {
    "blue": 90,
    "green": 199,
    "red": 200,
    "x": 10,
    "y": 6
  },
  {
    "blue": 81,
    "green": 199,
    "red": 217,
    "x": 11,
    "y": 6
  },
  {
    "blue": 165,
    "green": 224,
    "red": 32,
    "x": 0,
    "y": 7
  },
  {
    "blue": 157,
    "green": 224,
    "red": 49,
    "x": 1,
    "y": 7
  },
  {
    "blue": 148,
    "green": 224,
    "red": 66,
    "x": 2,
    "y": 7
  },
  {
    "blue": 140,
    "green": 224,
    "red": 82,
    "x": 3,
    "y": 7
  },
  {
    "blue": 132,
    "green": 224,
    "red": 99,
    "x": 4,
    "y": 7
  },
  {
    "blue": 123,
    "green": 224,
    "red": 116,
    "x": 5,
    "y": 7
  },
  {
    "blue": 115,
    "green": 224,
    "red": 133,
    "x": 6,
    "y": 7
  },
  {
    "blue": 106,
    "green": 224,
    "red": 150,
    "x": 7,
    "y": 7
  },
  {
    "blue": 98,
    "green": 224,
    "red": 166,
    "x": 8,
    "y": 7
  },
  {
    "blue": 90,
    "green": 224,
    "red": 183,
    "x": 9,
    "y": 7
  },
  {
    "blue": 81,
    "green": 224,
    "red": 200,
    "x": 10,
    "y": 7
  },
  {
    "blue": 73,
    "green": 224,
    "red": 217,
    "x": 11,
    "y": 7
  }
];

const options = {
  "height": 620,
  "locale": "ko",
  "mark": {
    "fields": {
      "blue": "blue",
      "green": "green",
      "red": "red"
    }
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Column",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Row",
    "type": "quantitative"
  }
};

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

이식 가능한 스키마

ChartSpec 0.1 · options

{
  "height": 620,
  "locale": "ko",
  "mark": {
    "fields": {
      "blue": "blue",
      "green": "green",
      "red": "red"
    }
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Column",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Row",
    "type": "quantitative"
  }
}
Quick API
image()
브라우저 스냅샷
graflume/complete
mark
image
프리셋
1
  • minimal-implementation

공통 기능

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

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

헤더

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

불러오는 중

조작 도움말

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

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

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

불러오는 중

코드와 설정 보기

브라우저 API

Graflume.image()

const data = [
  {
    "blue": 224,
    "green": 52,
    "red": 32,
    "x": 0,
    "y": 0
  },
  {
    "blue": 216,
    "green": 52,
    "red": 49,
    "x": 1,
    "y": 0
  },
  {
    "blue": 207,
    "green": 52,
    "red": 66,
    "x": 2,
    "y": 0
  },
  {
    "blue": 199,
    "green": 52,
    "red": 82,
    "x": 3,
    "y": 0
  },
  {
    "blue": 190,
    "green": 52,
    "red": 99,
    "x": 4,
    "y": 0
  },
  {
    "blue": 182,
    "green": 52,
    "red": 116,
    "x": 5,
    "y": 0
  },
  {
    "blue": 174,
    "green": 52,
    "red": 133,
    "x": 6,
    "y": 0
  },
  {
    "blue": 165,
    "green": 52,
    "red": 150,
    "x": 7,
    "y": 0
  },
  {
    "blue": 157,
    "green": 52,
    "red": 166,
    "x": 8,
    "y": 0
  },
  {
    "blue": 148,
    "green": 52,
    "red": 183,
    "x": 9,
    "y": 0
  },
  {
    "blue": 140,
    "green": 52,
    "red": 200,
    "x": 10,
    "y": 0
  },
  {
    "blue": 132,
    "green": 52,
    "red": 217,
    "x": 11,
    "y": 0
  },
  {
    "blue": 216,
    "green": 77,
    "red": 32,
    "x": 0,
    "y": 1
  },
  {
    "blue": 207,
    "green": 77,
    "red": 49,
    "x": 1,
    "y": 1
  },
  {
    "blue": 199,
    "green": 77,
    "red": 66,
    "x": 2,
    "y": 1
  },
  {
    "blue": 190,
    "green": 77,
    "red": 82,
    "x": 3,
    "y": 1
  },
  {
    "blue": 182,
    "green": 77,
    "red": 99,
    "x": 4,
    "y": 1
  },
  {
    "blue": 174,
    "green": 77,
    "red": 116,
    "x": 5,
    "y": 1
  },
  {
    "blue": 165,
    "green": 77,
    "red": 133,
    "x": 6,
    "y": 1
  },
  {
    "blue": 157,
    "green": 77,
    "red": 150,
    "x": 7,
    "y": 1
  },
  {
    "blue": 148,
    "green": 77,
    "red": 166,
    "x": 8,
    "y": 1
  },
  {
    "blue": 140,
    "green": 77,
    "red": 183,
    "x": 9,
    "y": 1
  },
  {
    "blue": 132,
    "green": 77,
    "red": 200,
    "x": 10,
    "y": 1
  },
  {
    "blue": 123,
    "green": 77,
    "red": 217,
    "x": 11,
    "y": 1
  },
  {
    "blue": 207,
    "green": 101,
    "red": 32,
    "x": 0,
    "y": 2
  },
  {
    "blue": 199,
    "green": 101,
    "red": 49,
    "x": 1,
    "y": 2
  },
  {
    "blue": 190,
    "green": 101,
    "red": 66,
    "x": 2,
    "y": 2
  },
  {
    "blue": 182,
    "green": 101,
    "red": 82,
    "x": 3,
    "y": 2
  },
  {
    "blue": 174,
    "green": 101,
    "red": 99,
    "x": 4,
    "y": 2
  },
  {
    "blue": 165,
    "green": 101,
    "red": 116,
    "x": 5,
    "y": 2
  },
  {
    "blue": 157,
    "green": 101,
    "red": 133,
    "x": 6,
    "y": 2
  },
  {
    "blue": 148,
    "green": 101,
    "red": 150,
    "x": 7,
    "y": 2
  },
  {
    "blue": 140,
    "green": 101,
    "red": 166,
    "x": 8,
    "y": 2
  },
  {
    "blue": 132,
    "green": 101,
    "red": 183,
    "x": 9,
    "y": 2
  },
  {
    "blue": 123,
    "green": 101,
    "red": 200,
    "x": 10,
    "y": 2
  },
  {
    "blue": 115,
    "green": 101,
    "red": 217,
    "x": 11,
    "y": 2
  },
  {
    "blue": 199,
    "green": 126,
    "red": 32,
    "x": 0,
    "y": 3
  },
  {
    "blue": 190,
    "green": 126,
    "red": 49,
    "x": 1,
    "y": 3
  },
  {
    "blue": 182,
    "green": 126,
    "red": 66,
    "x": 2,
    "y": 3
  },
  {
    "blue": 174,
    "green": 126,
    "red": 82,
    "x": 3,
    "y": 3
  },
  {
    "blue": 165,
    "green": 126,
    "red": 99,
    "x": 4,
    "y": 3
  },
  {
    "blue": 157,
    "green": 126,
    "red": 116,
    "x": 5,
    "y": 3
  },
  {
    "blue": 148,
    "green": 126,
    "red": 133,
    "x": 6,
    "y": 3
  },
  {
    "blue": 140,
    "green": 126,
    "red": 150,
    "x": 7,
    "y": 3
  },
  {
    "blue": 132,
    "green": 126,
    "red": 166,
    "x": 8,
    "y": 3
  },
  {
    "blue": 123,
    "green": 126,
    "red": 183,
    "x": 9,
    "y": 3
  },
  {
    "blue": 115,
    "green": 126,
    "red": 200,
    "x": 10,
    "y": 3
  },
  {
    "blue": 106,
    "green": 126,
    "red": 217,
    "x": 11,
    "y": 3
  },
  {
    "blue": 190,
    "green": 150,
    "red": 32,
    "x": 0,
    "y": 4
  },
  {
    "blue": 182,
    "green": 150,
    "red": 49,
    "x": 1,
    "y": 4
  },
  {
    "blue": 174,
    "green": 150,
    "red": 66,
    "x": 2,
    "y": 4
  },
  {
    "blue": 165,
    "green": 150,
    "red": 82,
    "x": 3,
    "y": 4
  },
  {
    "blue": 157,
    "green": 150,
    "red": 99,
    "x": 4,
    "y": 4
  },
  {
    "blue": 148,
    "green": 150,
    "red": 116,
    "x": 5,
    "y": 4
  },
  {
    "blue": 140,
    "green": 150,
    "red": 133,
    "x": 6,
    "y": 4
  },
  {
    "blue": 132,
    "green": 150,
    "red": 150,
    "x": 7,
    "y": 4
  },
  {
    "blue": 123,
    "green": 150,
    "red": 166,
    "x": 8,
    "y": 4
  },
  {
    "blue": 115,
    "green": 150,
    "red": 183,
    "x": 9,
    "y": 4
  },
  {
    "blue": 106,
    "green": 150,
    "red": 200,
    "x": 10,
    "y": 4
  },
  {
    "blue": 98,
    "green": 150,
    "red": 217,
    "x": 11,
    "y": 4
  },
  {
    "blue": 182,
    "green": 175,
    "red": 32,
    "x": 0,
    "y": 5
  },
  {
    "blue": 174,
    "green": 175,
    "red": 49,
    "x": 1,
    "y": 5
  },
  {
    "blue": 165,
    "green": 175,
    "red": 66,
    "x": 2,
    "y": 5
  },
  {
    "blue": 157,
    "green": 175,
    "red": 82,
    "x": 3,
    "y": 5
  },
  {
    "blue": 148,
    "green": 175,
    "red": 99,
    "x": 4,
    "y": 5
  },
  {
    "blue": 140,
    "green": 175,
    "red": 116,
    "x": 5,
    "y": 5
  },
  {
    "blue": 132,
    "green": 175,
    "red": 133,
    "x": 6,
    "y": 5
  },
  {
    "blue": 123,
    "green": 175,
    "red": 150,
    "x": 7,
    "y": 5
  },
  {
    "blue": 115,
    "green": 175,
    "red": 166,
    "x": 8,
    "y": 5
  },
  {
    "blue": 106,
    "green": 175,
    "red": 183,
    "x": 9,
    "y": 5
  },
  {
    "blue": 98,
    "green": 175,
    "red": 200,
    "x": 10,
    "y": 5
  },
  {
    "blue": 90,
    "green": 175,
    "red": 217,
    "x": 11,
    "y": 5
  },
  {
    "blue": 174,
    "green": 199,
    "red": 32,
    "x": 0,
    "y": 6
  },
  {
    "blue": 165,
    "green": 199,
    "red": 49,
    "x": 1,
    "y": 6
  },
  {
    "blue": 157,
    "green": 199,
    "red": 66,
    "x": 2,
    "y": 6
  },
  {
    "blue": 148,
    "green": 199,
    "red": 82,
    "x": 3,
    "y": 6
  },
  {
    "blue": 140,
    "green": 199,
    "red": 99,
    "x": 4,
    "y": 6
  },
  {
    "blue": 132,
    "green": 199,
    "red": 116,
    "x": 5,
    "y": 6
  },
  {
    "blue": 123,
    "green": 199,
    "red": 133,
    "x": 6,
    "y": 6
  },
  {
    "blue": 115,
    "green": 199,
    "red": 150,
    "x": 7,
    "y": 6
  },
  {
    "blue": 106,
    "green": 199,
    "red": 166,
    "x": 8,
    "y": 6
  },
  {
    "blue": 98,
    "green": 199,
    "red": 183,
    "x": 9,
    "y": 6
  },
  {
    "blue": 90,
    "green": 199,
    "red": 200,
    "x": 10,
    "y": 6
  },
  {
    "blue": 81,
    "green": 199,
    "red": 217,
    "x": 11,
    "y": 6
  },
  {
    "blue": 165,
    "green": 224,
    "red": 32,
    "x": 0,
    "y": 7
  },
  {
    "blue": 157,
    "green": 224,
    "red": 49,
    "x": 1,
    "y": 7
  },
  {
    "blue": 148,
    "green": 224,
    "red": 66,
    "x": 2,
    "y": 7
  },
  {
    "blue": 140,
    "green": 224,
    "red": 82,
    "x": 3,
    "y": 7
  },
  {
    "blue": 132,
    "green": 224,
    "red": 99,
    "x": 4,
    "y": 7
  },
  {
    "blue": 123,
    "green": 224,
    "red": 116,
    "x": 5,
    "y": 7
  },
  {
    "blue": 115,
    "green": 224,
    "red": 133,
    "x": 6,
    "y": 7
  },
  {
    "blue": 106,
    "green": 224,
    "red": 150,
    "x": 7,
    "y": 7
  },
  {
    "blue": 98,
    "green": 224,
    "red": 166,
    "x": 8,
    "y": 7
  },
  {
    "blue": 90,
    "green": 224,
    "red": 183,
    "x": 9,
    "y": 7
  },
  {
    "blue": 81,
    "green": 224,
    "red": 200,
    "x": 10,
    "y": 7
  },
  {
    "blue": 73,
    "green": 224,
    "red": 217,
    "x": 11,
    "y": 7
  }
];

const options = {
  "height": 620,
  "locale": "ko",
  "mark": {
    "fields": {
      "blue": "blue",
      "green": "green",
      "red": "red"
    }
  },
  "title": {
    "subtitle": "Raster image 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: row RGB/RGBA or explicit color pixels · numeric and band coordinates.",
    "text": "격자 이미지 차트"
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Column",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Row",
    "type": "quantitative"
  }
};

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

이식 가능한 스키마

ChartSpec 0.1 · options

{
  "height": 620,
  "locale": "ko",
  "mark": {
    "fields": {
      "blue": "blue",
      "green": "green",
      "red": "red"
    }
  },
  "title": {
    "subtitle": "Raster image 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: row RGB/RGBA or explicit color pixels · numeric and band coordinates.",
    "text": "격자 이미지 차트"
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Column",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Row",
    "type": "quantitative"
  }
}
  • header

차트 고유 기능

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

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

Raster image

Raster image 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: row RGB/RGBA or explicit color pixels · numeric and band coordinates.

불러오는 중

조작 도움말

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

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

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

불러오는 중

코드와 설정 보기

브라우저 API

Graflume.image()

const data = [
  {
    "blue": 224,
    "green": 52,
    "red": 32,
    "x": 0,
    "y": 0
  },
  {
    "blue": 216,
    "green": 52,
    "red": 49,
    "x": 1,
    "y": 0
  },
  {
    "blue": 207,
    "green": 52,
    "red": 66,
    "x": 2,
    "y": 0
  },
  {
    "blue": 199,
    "green": 52,
    "red": 82,
    "x": 3,
    "y": 0
  },
  {
    "blue": 190,
    "green": 52,
    "red": 99,
    "x": 4,
    "y": 0
  },
  {
    "blue": 182,
    "green": 52,
    "red": 116,
    "x": 5,
    "y": 0
  },
  {
    "blue": 174,
    "green": 52,
    "red": 133,
    "x": 6,
    "y": 0
  },
  {
    "blue": 165,
    "green": 52,
    "red": 150,
    "x": 7,
    "y": 0
  },
  {
    "blue": 157,
    "green": 52,
    "red": 166,
    "x": 8,
    "y": 0
  },
  {
    "blue": 148,
    "green": 52,
    "red": 183,
    "x": 9,
    "y": 0
  },
  {
    "blue": 140,
    "green": 52,
    "red": 200,
    "x": 10,
    "y": 0
  },
  {
    "blue": 132,
    "green": 52,
    "red": 217,
    "x": 11,
    "y": 0
  },
  {
    "blue": 216,
    "green": 77,
    "red": 32,
    "x": 0,
    "y": 1
  },
  {
    "blue": 207,
    "green": 77,
    "red": 49,
    "x": 1,
    "y": 1
  },
  {
    "blue": 199,
    "green": 77,
    "red": 66,
    "x": 2,
    "y": 1
  },
  {
    "blue": 190,
    "green": 77,
    "red": 82,
    "x": 3,
    "y": 1
  },
  {
    "blue": 182,
    "green": 77,
    "red": 99,
    "x": 4,
    "y": 1
  },
  {
    "blue": 174,
    "green": 77,
    "red": 116,
    "x": 5,
    "y": 1
  },
  {
    "blue": 165,
    "green": 77,
    "red": 133,
    "x": 6,
    "y": 1
  },
  {
    "blue": 157,
    "green": 77,
    "red": 150,
    "x": 7,
    "y": 1
  },
  {
    "blue": 148,
    "green": 77,
    "red": 166,
    "x": 8,
    "y": 1
  },
  {
    "blue": 140,
    "green": 77,
    "red": 183,
    "x": 9,
    "y": 1
  },
  {
    "blue": 132,
    "green": 77,
    "red": 200,
    "x": 10,
    "y": 1
  },
  {
    "blue": 123,
    "green": 77,
    "red": 217,
    "x": 11,
    "y": 1
  },
  {
    "blue": 207,
    "green": 101,
    "red": 32,
    "x": 0,
    "y": 2
  },
  {
    "blue": 199,
    "green": 101,
    "red": 49,
    "x": 1,
    "y": 2
  },
  {
    "blue": 190,
    "green": 101,
    "red": 66,
    "x": 2,
    "y": 2
  },
  {
    "blue": 182,
    "green": 101,
    "red": 82,
    "x": 3,
    "y": 2
  },
  {
    "blue": 174,
    "green": 101,
    "red": 99,
    "x": 4,
    "y": 2
  },
  {
    "blue": 165,
    "green": 101,
    "red": 116,
    "x": 5,
    "y": 2
  },
  {
    "blue": 157,
    "green": 101,
    "red": 133,
    "x": 6,
    "y": 2
  },
  {
    "blue": 148,
    "green": 101,
    "red": 150,
    "x": 7,
    "y": 2
  },
  {
    "blue": 140,
    "green": 101,
    "red": 166,
    "x": 8,
    "y": 2
  },
  {
    "blue": 132,
    "green": 101,
    "red": 183,
    "x": 9,
    "y": 2
  },
  {
    "blue": 123,
    "green": 101,
    "red": 200,
    "x": 10,
    "y": 2
  },
  {
    "blue": 115,
    "green": 101,
    "red": 217,
    "x": 11,
    "y": 2
  },
  {
    "blue": 199,
    "green": 126,
    "red": 32,
    "x": 0,
    "y": 3
  },
  {
    "blue": 190,
    "green": 126,
    "red": 49,
    "x": 1,
    "y": 3
  },
  {
    "blue": 182,
    "green": 126,
    "red": 66,
    "x": 2,
    "y": 3
  },
  {
    "blue": 174,
    "green": 126,
    "red": 82,
    "x": 3,
    "y": 3
  },
  {
    "blue": 165,
    "green": 126,
    "red": 99,
    "x": 4,
    "y": 3
  },
  {
    "blue": 157,
    "green": 126,
    "red": 116,
    "x": 5,
    "y": 3
  },
  {
    "blue": 148,
    "green": 126,
    "red": 133,
    "x": 6,
    "y": 3
  },
  {
    "blue": 140,
    "green": 126,
    "red": 150,
    "x": 7,
    "y": 3
  },
  {
    "blue": 132,
    "green": 126,
    "red": 166,
    "x": 8,
    "y": 3
  },
  {
    "blue": 123,
    "green": 126,
    "red": 183,
    "x": 9,
    "y": 3
  },
  {
    "blue": 115,
    "green": 126,
    "red": 200,
    "x": 10,
    "y": 3
  },
  {
    "blue": 106,
    "green": 126,
    "red": 217,
    "x": 11,
    "y": 3
  },
  {
    "blue": 190,
    "green": 150,
    "red": 32,
    "x": 0,
    "y": 4
  },
  {
    "blue": 182,
    "green": 150,
    "red": 49,
    "x": 1,
    "y": 4
  },
  {
    "blue": 174,
    "green": 150,
    "red": 66,
    "x": 2,
    "y": 4
  },
  {
    "blue": 165,
    "green": 150,
    "red": 82,
    "x": 3,
    "y": 4
  },
  {
    "blue": 157,
    "green": 150,
    "red": 99,
    "x": 4,
    "y": 4
  },
  {
    "blue": 148,
    "green": 150,
    "red": 116,
    "x": 5,
    "y": 4
  },
  {
    "blue": 140,
    "green": 150,
    "red": 133,
    "x": 6,
    "y": 4
  },
  {
    "blue": 132,
    "green": 150,
    "red": 150,
    "x": 7,
    "y": 4
  },
  {
    "blue": 123,
    "green": 150,
    "red": 166,
    "x": 8,
    "y": 4
  },
  {
    "blue": 115,
    "green": 150,
    "red": 183,
    "x": 9,
    "y": 4
  },
  {
    "blue": 106,
    "green": 150,
    "red": 200,
    "x": 10,
    "y": 4
  },
  {
    "blue": 98,
    "green": 150,
    "red": 217,
    "x": 11,
    "y": 4
  },
  {
    "blue": 182,
    "green": 175,
    "red": 32,
    "x": 0,
    "y": 5
  },
  {
    "blue": 174,
    "green": 175,
    "red": 49,
    "x": 1,
    "y": 5
  },
  {
    "blue": 165,
    "green": 175,
    "red": 66,
    "x": 2,
    "y": 5
  },
  {
    "blue": 157,
    "green": 175,
    "red": 82,
    "x": 3,
    "y": 5
  },
  {
    "blue": 148,
    "green": 175,
    "red": 99,
    "x": 4,
    "y": 5
  },
  {
    "blue": 140,
    "green": 175,
    "red": 116,
    "x": 5,
    "y": 5
  },
  {
    "blue": 132,
    "green": 175,
    "red": 133,
    "x": 6,
    "y": 5
  },
  {
    "blue": 123,
    "green": 175,
    "red": 150,
    "x": 7,
    "y": 5
  },
  {
    "blue": 115,
    "green": 175,
    "red": 166,
    "x": 8,
    "y": 5
  },
  {
    "blue": 106,
    "green": 175,
    "red": 183,
    "x": 9,
    "y": 5
  },
  {
    "blue": 98,
    "green": 175,
    "red": 200,
    "x": 10,
    "y": 5
  },
  {
    "blue": 90,
    "green": 175,
    "red": 217,
    "x": 11,
    "y": 5
  },
  {
    "blue": 174,
    "green": 199,
    "red": 32,
    "x": 0,
    "y": 6
  },
  {
    "blue": 165,
    "green": 199,
    "red": 49,
    "x": 1,
    "y": 6
  },
  {
    "blue": 157,
    "green": 199,
    "red": 66,
    "x": 2,
    "y": 6
  },
  {
    "blue": 148,
    "green": 199,
    "red": 82,
    "x": 3,
    "y": 6
  },
  {
    "blue": 140,
    "green": 199,
    "red": 99,
    "x": 4,
    "y": 6
  },
  {
    "blue": 132,
    "green": 199,
    "red": 116,
    "x": 5,
    "y": 6
  },
  {
    "blue": 123,
    "green": 199,
    "red": 133,
    "x": 6,
    "y": 6
  },
  {
    "blue": 115,
    "green": 199,
    "red": 150,
    "x": 7,
    "y": 6
  },
  {
    "blue": 106,
    "green": 199,
    "red": 166,
    "x": 8,
    "y": 6
  },
  {
    "blue": 98,
    "green": 199,
    "red": 183,
    "x": 9,
    "y": 6
  },
  {
    "blue": 90,
    "green": 199,
    "red": 200,
    "x": 10,
    "y": 6
  },
  {
    "blue": 81,
    "green": 199,
    "red": 217,
    "x": 11,
    "y": 6
  },
  {
    "blue": 165,
    "green": 224,
    "red": 32,
    "x": 0,
    "y": 7
  },
  {
    "blue": 157,
    "green": 224,
    "red": 49,
    "x": 1,
    "y": 7
  },
  {
    "blue": 148,
    "green": 224,
    "red": 66,
    "x": 2,
    "y": 7
  },
  {
    "blue": 140,
    "green": 224,
    "red": 82,
    "x": 3,
    "y": 7
  },
  {
    "blue": 132,
    "green": 224,
    "red": 99,
    "x": 4,
    "y": 7
  },
  {
    "blue": 123,
    "green": 224,
    "red": 116,
    "x": 5,
    "y": 7
  },
  {
    "blue": 115,
    "green": 224,
    "red": 133,
    "x": 6,
    "y": 7
  },
  {
    "blue": 106,
    "green": 224,
    "red": 150,
    "x": 7,
    "y": 7
  },
  {
    "blue": 98,
    "green": 224,
    "red": 166,
    "x": 8,
    "y": 7
  },
  {
    "blue": 90,
    "green": 224,
    "red": 183,
    "x": 9,
    "y": 7
  },
  {
    "blue": 81,
    "green": 224,
    "red": 200,
    "x": 10,
    "y": 7
  },
  {
    "blue": 73,
    "green": 224,
    "red": 217,
    "x": 11,
    "y": 7
  }
];

const options = {
  "accessibility": {
    "description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
    "label": "격자 이미지 차트 example"
  },
  "axes": {
    "x": {
      "format": {
        "type": "integer"
      },
      "labels": {
        "orientation": "horizontal"
      },
      "ticks": {
        "spacing": 8
      }
    },
    "y": {
      "format": {
        "type": "integer"
      },
      "labels": {
        "orientation": "horizontal"
      },
      "ticks": {
        "spacing": 8
      }
    }
  },
  "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": "red",
          "format": "number",
          "label": "Red"
        },
        {
          "field": "green",
          "format": "number",
          "label": "Green"
        },
        {
          "field": "blue",
          "format": "number",
          "label": "Blue"
        }
      ],
      "title": "격자 이미지 차트",
      "trigger": "mark"
    }
  },
  "locale": "ko",
  "mark": {
    "fields": {
      "blue": "blue",
      "green": "green",
      "red": "red"
    }
  },
  "padding": {
    "top": 52
  },
  "theme": "graflume-light",
  "title": {
    "subtitle": "Raster image 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: row RGB/RGBA or explicit color pixels · numeric and band coordinates.",
    "text": "격자 이미지 차트"
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Column",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Row",
    "type": "quantitative"
  }
};

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

이식 가능한 스키마

ChartSpec 0.1 · options

{
  "accessibility": {
    "description": "확대·이동은 화면을 살펴보기 위한 기능이며 데이터 축이나 값은 바꾸지 않습니다. 재생 조작이 보이는 차트에서는 원본 데이터에서 고유값이 처음 등장한 순서대로 실제 단계만 이동합니다.",
    "label": "격자 이미지 차트 example"
  },
  "axes": {
    "x": {
      "format": {
        "type": "integer"
      },
      "labels": {
        "orientation": "horizontal"
      },
      "ticks": {
        "spacing": 8
      }
    },
    "y": {
      "format": {
        "type": "integer"
      },
      "labels": {
        "orientation": "horizontal"
      },
      "ticks": {
        "spacing": 8
      }
    }
  },
  "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": "red",
          "format": "number",
          "label": "Red"
        },
        {
          "field": "green",
          "format": "number",
          "label": "Green"
        },
        {
          "field": "blue",
          "format": "number",
          "label": "Blue"
        }
      ],
      "title": "격자 이미지 차트",
      "trigger": "mark"
    }
  },
  "locale": "ko",
  "mark": {
    "fields": {
      "blue": "blue",
      "green": "green",
      "red": "red"
    }
  },
  "padding": {
    "top": 52
  },
  "theme": "graflume-light",
  "title": {
    "subtitle": "Raster image 모드가 실행 가능한 데이터와 옵션으로 보여주는 핵심 기능: row RGB/RGBA or explicit color pixels · numeric and band coordinates.",
    "text": "격자 이미지 차트"
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Column",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Row",
    "type": "quantitative"
  }
}
  • image
  • row RGB/RGBA or explicit color pixels
  • numeric and band coordinates
  • exact pixel hit
  • RGBA channel composition
  • extent and origin
  • resampling
  • colormap and window mapping

극단 사례

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

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

큰 값·작은 값

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

불러오는 중

조작 도움말

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

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

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

불러오는 중

코드와 설정 보기

브라우저 API

Graflume.image()

const data = [
  {
    "blue": 127,
    "green": 1,
    "red": 0,
    "x": 0,
    "y": 0
  },
  {
    "blue": 254,
    "green": 127,
    "red": 1,
    "x": 1,
    "y": 0
  },
  {
    "blue": 255,
    "green": 254,
    "red": 127,
    "x": 2,
    "y": 0
  },
  {
    "blue": 0,
    "green": 255,
    "red": 254,
    "x": 3,
    "y": 0
  },
  {
    "blue": 0,
    "green": 0,
    "red": 255,
    "x": 4,
    "y": 0
  },
  {
    "blue": 1,
    "green": 0,
    "red": 0,
    "x": 5,
    "y": 0
  }
];

const options = {
  "accessibility": {
    "description": "A smooth calibration raster demonstrates color and pixel inspection. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
    "label": "격자 이미지 차트"
  },
  "height": 620,
  "locale": "ko",
  "mark": {
    "fields": {
      "blue": "blue",
      "green": "green",
      "red": "red"
    }
  },
  "title": {
    "subtitle": "edge case · range",
    "text": "격자 이미지 차트"
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Column",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Row",
    "type": "quantitative"
  }
};

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

이식 가능한 스키마

ChartSpec 0.1 · options

{
  "accessibility": {
    "description": "A smooth calibration raster demonstrates color and pixel inspection. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
    "label": "격자 이미지 차트"
  },
  "height": 620,
  "locale": "ko",
  "mark": {
    "fields": {
      "blue": "blue",
      "green": "green",
      "red": "red"
    }
  },
  "title": {
    "subtitle": "edge case · range",
    "text": "격자 이미지 차트"
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Column",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Row",
    "type": "quantitative"
  }
}
  • extreme-range
  • color-channel-boundary
  • zero
  • domain-boundary
  • budget:marks<=6

극단 환경

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

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

반응형 화면

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

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

극단 환경 미리보기

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

불러오는 중

조작 도움말

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

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

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

불러오는 중

코드와 설정 보기

브라우저 API

Graflume.image()

const data = [
  {
    "blue": 224,
    "green": 52,
    "red": 32,
    "x": 0,
    "y": 0
  },
  {
    "blue": 216,
    "green": 52,
    "red": 49,
    "x": 1,
    "y": 0
  },
  {
    "blue": 207,
    "green": 52,
    "red": 66,
    "x": 2,
    "y": 0
  },
  {
    "blue": 199,
    "green": 52,
    "red": 82,
    "x": 3,
    "y": 0
  },
  {
    "blue": 190,
    "green": 52,
    "red": 99,
    "x": 4,
    "y": 0
  },
  {
    "blue": 182,
    "green": 52,
    "red": 116,
    "x": 5,
    "y": 0
  },
  {
    "blue": 174,
    "green": 52,
    "red": 133,
    "x": 6,
    "y": 0
  },
  {
    "blue": 165,
    "green": 52,
    "red": 150,
    "x": 7,
    "y": 0
  },
  {
    "blue": 157,
    "green": 52,
    "red": 166,
    "x": 8,
    "y": 0
  },
  {
    "blue": 148,
    "green": 52,
    "red": 183,
    "x": 9,
    "y": 0
  },
  {
    "blue": 140,
    "green": 52,
    "red": 200,
    "x": 10,
    "y": 0
  },
  {
    "blue": 132,
    "green": 52,
    "red": 217,
    "x": 11,
    "y": 0
  },
  {
    "blue": 216,
    "green": 77,
    "red": 32,
    "x": 0,
    "y": 1
  },
  {
    "blue": 207,
    "green": 77,
    "red": 49,
    "x": 1,
    "y": 1
  },
  {
    "blue": 199,
    "green": 77,
    "red": 66,
    "x": 2,
    "y": 1
  },
  {
    "blue": 190,
    "green": 77,
    "red": 82,
    "x": 3,
    "y": 1
  },
  {
    "blue": 182,
    "green": 77,
    "red": 99,
    "x": 4,
    "y": 1
  },
  {
    "blue": 174,
    "green": 77,
    "red": 116,
    "x": 5,
    "y": 1
  },
  {
    "blue": 165,
    "green": 77,
    "red": 133,
    "x": 6,
    "y": 1
  },
  {
    "blue": 157,
    "green": 77,
    "red": 150,
    "x": 7,
    "y": 1
  },
  {
    "blue": 148,
    "green": 77,
    "red": 166,
    "x": 8,
    "y": 1
  },
  {
    "blue": 140,
    "green": 77,
    "red": 183,
    "x": 9,
    "y": 1
  },
  {
    "blue": 132,
    "green": 77,
    "red": 200,
    "x": 10,
    "y": 1
  },
  {
    "blue": 123,
    "green": 77,
    "red": 217,
    "x": 11,
    "y": 1
  },
  {
    "blue": 207,
    "green": 101,
    "red": 32,
    "x": 0,
    "y": 2
  },
  {
    "blue": 199,
    "green": 101,
    "red": 49,
    "x": 1,
    "y": 2
  },
  {
    "blue": 190,
    "green": 101,
    "red": 66,
    "x": 2,
    "y": 2
  },
  {
    "blue": 182,
    "green": 101,
    "red": 82,
    "x": 3,
    "y": 2
  },
  {
    "blue": 174,
    "green": 101,
    "red": 99,
    "x": 4,
    "y": 2
  },
  {
    "blue": 165,
    "green": 101,
    "red": 116,
    "x": 5,
    "y": 2
  },
  {
    "blue": 157,
    "green": 101,
    "red": 133,
    "x": 6,
    "y": 2
  },
  {
    "blue": 148,
    "green": 101,
    "red": 150,
    "x": 7,
    "y": 2
  },
  {
    "blue": 140,
    "green": 101,
    "red": 166,
    "x": 8,
    "y": 2
  },
  {
    "blue": 132,
    "green": 101,
    "red": 183,
    "x": 9,
    "y": 2
  },
  {
    "blue": 123,
    "green": 101,
    "red": 200,
    "x": 10,
    "y": 2
  },
  {
    "blue": 115,
    "green": 101,
    "red": 217,
    "x": 11,
    "y": 2
  },
  {
    "blue": 199,
    "green": 126,
    "red": 32,
    "x": 0,
    "y": 3
  },
  {
    "blue": 190,
    "green": 126,
    "red": 49,
    "x": 1,
    "y": 3
  },
  {
    "blue": 182,
    "green": 126,
    "red": 66,
    "x": 2,
    "y": 3
  },
  {
    "blue": 174,
    "green": 126,
    "red": 82,
    "x": 3,
    "y": 3
  },
  {
    "blue": 165,
    "green": 126,
    "red": 99,
    "x": 4,
    "y": 3
  },
  {
    "blue": 157,
    "green": 126,
    "red": 116,
    "x": 5,
    "y": 3
  },
  {
    "blue": 148,
    "green": 126,
    "red": 133,
    "x": 6,
    "y": 3
  },
  {
    "blue": 140,
    "green": 126,
    "red": 150,
    "x": 7,
    "y": 3
  },
  {
    "blue": 132,
    "green": 126,
    "red": 166,
    "x": 8,
    "y": 3
  },
  {
    "blue": 123,
    "green": 126,
    "red": 183,
    "x": 9,
    "y": 3
  },
  {
    "blue": 115,
    "green": 126,
    "red": 200,
    "x": 10,
    "y": 3
  },
  {
    "blue": 106,
    "green": 126,
    "red": 217,
    "x": 11,
    "y": 3
  },
  {
    "blue": 190,
    "green": 150,
    "red": 32,
    "x": 0,
    "y": 4
  },
  {
    "blue": 182,
    "green": 150,
    "red": 49,
    "x": 1,
    "y": 4
  },
  {
    "blue": 174,
    "green": 150,
    "red": 66,
    "x": 2,
    "y": 4
  },
  {
    "blue": 165,
    "green": 150,
    "red": 82,
    "x": 3,
    "y": 4
  },
  {
    "blue": 157,
    "green": 150,
    "red": 99,
    "x": 4,
    "y": 4
  },
  {
    "blue": 148,
    "green": 150,
    "red": 116,
    "x": 5,
    "y": 4
  },
  {
    "blue": 140,
    "green": 150,
    "red": 133,
    "x": 6,
    "y": 4
  },
  {
    "blue": 132,
    "green": 150,
    "red": 150,
    "x": 7,
    "y": 4
  },
  {
    "blue": 123,
    "green": 150,
    "red": 166,
    "x": 8,
    "y": 4
  },
  {
    "blue": 115,
    "green": 150,
    "red": 183,
    "x": 9,
    "y": 4
  },
  {
    "blue": 106,
    "green": 150,
    "red": 200,
    "x": 10,
    "y": 4
  },
  {
    "blue": 98,
    "green": 150,
    "red": 217,
    "x": 11,
    "y": 4
  },
  {
    "blue": 182,
    "green": 175,
    "red": 32,
    "x": 0,
    "y": 5
  },
  {
    "blue": 174,
    "green": 175,
    "red": 49,
    "x": 1,
    "y": 5
  },
  {
    "blue": 165,
    "green": 175,
    "red": 66,
    "x": 2,
    "y": 5
  },
  {
    "blue": 157,
    "green": 175,
    "red": 82,
    "x": 3,
    "y": 5
  },
  {
    "blue": 148,
    "green": 175,
    "red": 99,
    "x": 4,
    "y": 5
  },
  {
    "blue": 140,
    "green": 175,
    "red": 116,
    "x": 5,
    "y": 5
  },
  {
    "blue": 132,
    "green": 175,
    "red": 133,
    "x": 6,
    "y": 5
  },
  {
    "blue": 123,
    "green": 175,
    "red": 150,
    "x": 7,
    "y": 5
  },
  {
    "blue": 115,
    "green": 175,
    "red": 166,
    "x": 8,
    "y": 5
  },
  {
    "blue": 106,
    "green": 175,
    "red": 183,
    "x": 9,
    "y": 5
  },
  {
    "blue": 98,
    "green": 175,
    "red": 200,
    "x": 10,
    "y": 5
  },
  {
    "blue": 90,
    "green": 175,
    "red": 217,
    "x": 11,
    "y": 5
  },
  {
    "blue": 174,
    "green": 199,
    "red": 32,
    "x": 0,
    "y": 6
  },
  {
    "blue": 165,
    "green": 199,
    "red": 49,
    "x": 1,
    "y": 6
  },
  {
    "blue": 157,
    "green": 199,
    "red": 66,
    "x": 2,
    "y": 6
  },
  {
    "blue": 148,
    "green": 199,
    "red": 82,
    "x": 3,
    "y": 6
  },
  {
    "blue": 140,
    "green": 199,
    "red": 99,
    "x": 4,
    "y": 6
  },
  {
    "blue": 132,
    "green": 199,
    "red": 116,
    "x": 5,
    "y": 6
  },
  {
    "blue": 123,
    "green": 199,
    "red": 133,
    "x": 6,
    "y": 6
  },
  {
    "blue": 115,
    "green": 199,
    "red": 150,
    "x": 7,
    "y": 6
  },
  {
    "blue": 106,
    "green": 199,
    "red": 166,
    "x": 8,
    "y": 6
  },
  {
    "blue": 98,
    "green": 199,
    "red": 183,
    "x": 9,
    "y": 6
  },
  {
    "blue": 90,
    "green": 199,
    "red": 200,
    "x": 10,
    "y": 6
  },
  {
    "blue": 81,
    "green": 199,
    "red": 217,
    "x": 11,
    "y": 6
  },
  {
    "blue": 165,
    "green": 224,
    "red": 32,
    "x": 0,
    "y": 7
  },
  {
    "blue": 157,
    "green": 224,
    "red": 49,
    "x": 1,
    "y": 7
  },
  {
    "blue": 148,
    "green": 224,
    "red": 66,
    "x": 2,
    "y": 7
  },
  {
    "blue": 140,
    "green": 224,
    "red": 82,
    "x": 3,
    "y": 7
  },
  {
    "blue": 132,
    "green": 224,
    "red": 99,
    "x": 4,
    "y": 7
  },
  {
    "blue": 123,
    "green": 224,
    "red": 116,
    "x": 5,
    "y": 7
  },
  {
    "blue": 115,
    "green": 224,
    "red": 133,
    "x": 6,
    "y": 7
  },
  {
    "blue": 106,
    "green": 224,
    "red": 150,
    "x": 7,
    "y": 7
  },
  {
    "blue": 98,
    "green": 224,
    "red": 166,
    "x": 8,
    "y": 7
  },
  {
    "blue": 90,
    "green": 224,
    "red": 183,
    "x": 9,
    "y": 7
  },
  {
    "blue": 81,
    "green": 224,
    "red": 200,
    "x": 10,
    "y": 7
  },
  {
    "blue": 73,
    "green": 224,
    "red": 217,
    "x": 11,
    "y": 7
  }
];

const options = {
  "accessibility": {
    "description": "A smooth calibration raster demonstrates color and pixel inspection. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
    "label": "Raster image: A smooth calibration raster demonstrates color and pixel inspection"
  },
  "annotations": [
    {
      "connector": {
        "visible": true
      },
      "detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
      "id": "manual-callout",
      "placement": "auto",
      "style": {
        "maxWidth": 220,
        "padding": 8
      },
      "target": {
        "rowIndex": 48,
        "type": "datum"
      },
      "text": "포인트·범위 하이라이트 · 0"
    }
  ],
  "axes": {
    "x": {
      "format": {
        "type": "integer"
      },
      "labels": {
        "orientation": "horizontal"
      },
      "ticks": {
        "spacing": 8
      }
    },
    "y": {
      "format": {
        "type": "integer"
      },
      "labels": {
        "orientation": "horizontal"
      },
      "ticks": {
        "spacing": 8
      }
    }
  },
  "create": {
    "adaptive": {
      "profiles": "auto"
    }
  },
  "height": 620,
  "highlights": [
    {
      "id": "manual-focus",
      "padding": 7,
      "target": {
        "rowIndex": 48,
        "type": "datum"
      }
    }
  ],
  "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
      },
      "mode": "multiple",
      "toggle": true
    },
    "tooltip": {
      "fields": [
        {
          "field": "x",
          "format": "number",
          "label": "X"
        },
        {
          "field": "y",
          "format": "number",
          "label": "Y"
        },
        {
          "field": "red",
          "format": "number",
          "label": "Red"
        },
        {
          "field": "green",
          "format": "number",
          "label": "Green"
        },
        {
          "field": "blue",
          "format": "number",
          "label": "Blue"
        }
      ],
      "title": "격자 이미지 차트",
      "trigger": "mark"
    }
  },
  "legend": {
    "interactive": false,
    "items": [
      {
        "id": "semantic-0",
        "label": "Red"
      },
      {
        "id": "semantic-1",
        "label": "Green"
      },
      {
        "id": "semantic-2",
        "label": "Blue"
      }
    ],
    "labels": {
      "hide": "숨기기",
      "show": "표시"
    },
    "maxItems": 8,
    "mode": "layers",
    "orientation": "horizontal",
    "position": "bottom",
    "title": "격자 이미지 차트",
    "visible": true
  },
  "locale": "ko",
  "mark": {
    "fields": {
      "blue": "blue",
      "green": "green",
      "red": "red"
    }
  },
  "padding": {
    "top": 52
  },
  "theme": "graflume-light",
  "title": {
    "subtitle": "A smooth calibration raster demonstrates color and pixel inspection",
    "text": "Raster image"
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Column",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Row",
    "type": "quantitative"
  }
};

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

이식 가능한 스키마

ChartSpec 0.1 · options

{
  "accessibility": {
    "description": "A smooth calibration raster demonstrates color and pixel inspection. The example uses curated, deterministic data and exposes its exact values in a semantic table.",
    "label": "Raster image: A smooth calibration raster demonstrates color and pixel inspection"
  },
  "annotations": [
    {
      "connector": {
        "visible": true
      },
      "detail": "데이터, 축 범위 또는 화면 위치에 사용자가 작성한 안전한 텍스트 설명을 연결합니다.",
      "id": "manual-callout",
      "placement": "auto",
      "style": {
        "maxWidth": 220,
        "padding": 8
      },
      "target": {
        "rowIndex": 48,
        "type": "datum"
      },
      "text": "포인트·범위 하이라이트 · 0"
    }
  ],
  "axes": {
    "x": {
      "format": {
        "type": "integer"
      },
      "labels": {
        "orientation": "horizontal"
      },
      "ticks": {
        "spacing": 8
      }
    },
    "y": {
      "format": {
        "type": "integer"
      },
      "labels": {
        "orientation": "horizontal"
      },
      "ticks": {
        "spacing": 8
      }
    }
  },
  "create": {
    "adaptive": {
      "profiles": "auto"
    }
  },
  "height": 620,
  "highlights": [
    {
      "id": "manual-focus",
      "padding": 7,
      "target": {
        "rowIndex": 48,
        "type": "datum"
      }
    }
  ],
  "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
      },
      "mode": "multiple",
      "toggle": true
    },
    "tooltip": {
      "fields": [
        {
          "field": "x",
          "format": "number",
          "label": "X"
        },
        {
          "field": "y",
          "format": "number",
          "label": "Y"
        },
        {
          "field": "red",
          "format": "number",
          "label": "Red"
        },
        {
          "field": "green",
          "format": "number",
          "label": "Green"
        },
        {
          "field": "blue",
          "format": "number",
          "label": "Blue"
        }
      ],
      "title": "격자 이미지 차트",
      "trigger": "mark"
    }
  },
  "legend": {
    "interactive": false,
    "items": [
      {
        "id": "semantic-0",
        "label": "Red"
      },
      {
        "id": "semantic-1",
        "label": "Green"
      },
      {
        "id": "semantic-2",
        "label": "Blue"
      }
    ],
    "labels": {
      "hide": "숨기기",
      "show": "표시"
    },
    "maxItems": 8,
    "mode": "layers",
    "orientation": "horizontal",
    "position": "bottom",
    "title": "격자 이미지 차트",
    "visible": true
  },
  "locale": "ko",
  "mark": {
    "fields": {
      "blue": "blue",
      "green": "green",
      "red": "red"
    }
  },
  "padding": {
    "top": 52
  },
  "theme": "graflume-light",
  "title": {
    "subtitle": "A smooth calibration raster demonstrates color and pixel inspection",
    "text": "Raster image"
  },
  "width": "container",
  "x": {
    "field": "x",
    "title": "Column",
    "type": "quantitative"
  },
  "y": {
    "field": "y",
    "title": "Row",
    "type": "quantitative"
  }
}
  • adaptive
  • capability-driven
  • no-user-agent-branching
  • 범례: legend · explicit · 3 channels
  • 포인트·범위 하이라이트: highlights[] · datum · rowIndex
  • 설명 말풍선: annotations[] · datum · rowIndex · callout · placement:auto
  • 대화형 선택: selection · multiple · toggle

차트 카탈로그

실행 모드와 호환 이름

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

모드: 1 · 호환 이름: 0

격자 이미지 차트 · 지원 모드 · 대표 모드 image
ID이름Quick APImodemark렌더러
image격자 이미지 차트 · imageimage()defaultimagecanvas

매뉴얼

통합 체크리스트

ARIA · table fallback

접근성

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

standard · large · ultra

성능

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