Skip to content

오차 막대 · 임펄스 ​

서로 독립된 샘플을 위한 두 가지 단독 차트입니다. 오차 막대 차트는 각 중심값 주위에 하한에서 상한까지 수염을 그립니다. 임펄스(스템) 차트는 기준선에서 각 샘플까지 줄기를 그립니다. 두 차트 모두 선처럼 이웃 샘플을 잇거나 데시메이션하지 않습니다.

라이브 예제

기본 사용법 ​

ts
import { Charturbo } from 'charturbo';

const canvas = document.querySelector('canvas')!;
const sdk = await Charturbo.create(canvas);

sdk.renderErrorBarChart([
  { name: '측정값', x: [1, 2, 3], values: [10, 15, 12], errorLow: 2, errorHigh: [3, 5, 4],
    capWidth: 12, showCenter: true },
]);
sdk.enableNodeInteractions(canvas, { autoRender: true });
sdk.render();

// 임펄스 차트
sdk.renderImpulseChart([
  { name: '이벤트', x: [0, 1, 2, 3], values: [0, 5, -3, 0], baseline: 0, showMarker: true },
]);
sdk.render();
ts
renderErrorBarChart(
  series: ErrorBarSeriesDescriptor[],
  options?: ErrorBarChartOptions
): { totalPoints: number; seriesCount: number }

renderImpulseChart(
  series: ImpulseSeriesDescriptor[],
  options?: ImpulseChartOptions
): { totalPoints: number; seriesCount: number }

데이터 형식 ​

두 차트는 다음 시리즈 필드를 함께 씁니다.

필드타입기본값설명
namestring—범례와 툴팁에 쓰는 이름.
valuesFloat32Array | number[]—중심값(오차 막대) 또는 샘플 값(임펄스).
xFloat64Array | number[] | Date[]인덱스유한하고 감소하지 않아야 합니다. 모든 시리즈에 주거나, 어느 시리즈에도 주지 않습니다.
colorColorInput테마 팔레트시리즈 색.
lineWidthnumber차트 값, 없으면 1.5선 두께(CSS px).
yAxis'left' | 'right''left'오른쪽 y축.

오차 막대 범위 ​

오차 막대 시리즈는 세 가지 표현 중 정확히 하나를 씁니다.

필드의미
low, high절대 범위. 값마다 하나. 뒤바뀐 범위는 서로 바꿉니다.
error대칭 상대 오차: 숫자 또는 배열.
errorLow, errorHigh비대칭 상대 오차: 숫자 또는 배열.

상대 오차는 절댓값을 써서 values를 중심으로 적용합니다. 표현을 섞으면 예외를 던집니다.

오차 막대 스타일 ​

이 필드는 시리즈마다 지정하거나, 옵션에서 차트 전체 기본값으로 지정할 수 있습니다. 시리즈 값이 우선합니다.

필드타입기본값설명
errorMode'both' | 'high' | 'low''both''both'는 low ↔ high를 그립니다. 'high' / 'low'는 중심 ↔ 해당 범위를 그립니다.
direction'vertical' | 'horizontal''vertical''horizontal': low / high가 x 좌표이고 values가 y 좌표입니다.
capWidthnumber | string'40%'캡 전체 길이: CSS px 숫자, 또는 평균 카테고리 간격에 대한 백분율 문자열('55%').
drawWhiskersbooleantrue캡을 그립니다.
drawConnectorbooleantrue범위 사이 줄기를 그립니다.
showCenterbooleanfalse중심값에 마커를 표시합니다.
symbolSizenumber6중심 마커 크기.
  • 사용하는 범위나 중심값이 유한하지 않은 샘플은 빈틈이 됩니다.
  • direction: 'horizontal'이면 중심 마커는 (x, values)에 놓입니다. 상대 오차와 한쪽 줄기는 ChartGPU v0.4.0과 마찬가지로 여전히 values를 기준으로 합니다. 일반적인 가로 신뢰 구간에는 절대 low / high와 errorMode: 'both'를 쓰세요.

임펄스 스타일 ​

시리즈마다, 또는 차트 전체 기본값으로 지정합니다.

필드타입기본값설명
baselinenumber0데이터 단위의 줄기 바닥.
showMarkerbooleantrue원형 끝 마커. 값이 기준선과 같으면 줄기는 생략하고 마커만 남깁니다.
symbolSizenumber6끝 마커 크기.

옵션 ​

ErrorBarChartOptions와 ImpulseChartOptions는 viewMode, nulls, animation을 뺀 모든 선 차트 옵션을 받고, 위 스타일 필드를 기본값으로 받습니다. lineWidth 기본값은 1.5입니다. 두 차트 모두 2D 전용이고 샘플링 옵션이 없습니다.

ts
sdk.renderErrorBarChart(
  [{ name: '추정치', x: [12, 20, 28], values: [1, 2, 3],
     low: [5, 8, 20], high: [22, 35, 39], direction: 'horizontal', showCenter: true }],
  { title: '신뢰 구간', capWidth: 16, axes: { x: { title: '효과' } } }
);

hover, 툴팁, 선택 ​

  • 포인터는 실제 줄기, 캡, 마커로 hit 테스트합니다.
  • XY 브러시는 데이터 단위로 상자를 지나는 줄기 / 범위를 선택합니다. CSS px 단위 캡 너비는 브러시 범위에 들어가지 않습니다.
  • 툴팁 chartType과 선택 kind는 'errorBar' 또는 'impulse'입니다. 오차 막대 항목에는 errorBar: { low, high, direction }이, 임펄스 항목에는 baseline이 들어 있습니다.
  • 키보드 툴팁과 CSV는 중심, low, high(오차 막대) 또는 값과 기준선(임펄스)을 제공합니다. SVG 내보내기는 벡터 경로를 씁니다.
  • 색, 오른쪽 y축, 범례, 줌, 팬을 지원합니다.

툴팁과 hover, 상호작용 참고.

데이터 갱신 ​

모든 채널을 넣어 renderErrorBarChart 또는 renderImpulseChart를 다시 호출합니다. setSeriesData와 appendSeriesData는 두 차트 종류 모두에서 예외를 던집니다.

프레임워크 ​

tsx
<CharturboChart type="errorBar" data={series} options={{ capWidth: 12 }} />
<CharturboChart type="impulse" data={series} />

React, Vue 참고.

추가 예제: 가로 오차 막대, 임펄스.

함께 보기 ​

MIT License