API
RealChart API

RealChart API 개요

RealChart 웹 컴포넌트 라이브러리는 처음 화면에 표시될 차트의 구성 설정을 모두 준비해서 차트 컴포넌트를 생성한다. 모든 차트 구성 요소에 대한 설정을 JSON 객체 하나에 포함시킬 수 있다.

const config = {
    title: {},
    legend: {},
    series: {},
    xAxis: {},
    yAxis: {},
    // ...
}
const chart = RealChart.createChart(document, 'container', config);

많은 경우 차트를 화면에 표시하는 것만으로 완료될 수 있지만, 차트에 연결한 데이터가 변경돼야 하거나, 구성 요소의 표시 여부를 변경하는 등, 실행 시간 중 차트의 상태를 동적으로 변경할 필요가 있다. RealChart는 실행 시간 차트의 상태를 변경하거나 확인할 수 있는 API를 제공한다.

API는 차트 구성 요소 모델들의 집합이라고 할 수 있는데, 각 구성 요소는 최상위 객체인 차트로 부터 요소에 해당하는 모델 클래스의 객체로 가져올 수 있다. 또, 구성 요소 모델들은 최상위 클래스인 ChartItem을 직간접적으로 계승한다. ChartItem에 실행 시간 설정 변경을 위한 메쏘드들이 구현되어 있다.

const axis = chart.xAxis;   // 첫번째 x축 모델.

또, 차트컨트롤에서 가져온 상위 모델 객체 등은 하위 요소 객체를 가지고 있을 수 있다.

const title = axis.title;   // 축 타이틀 모델.

각 모델 객체들은 설정 옵션을 통해 동작과 표시 방식을 지정하는데, 옵션 속성들을 변경하는 모델 객체의 메소드를 제공한다.

console.log(axis.title.options.text);   // 축 타이틀 텍스트를 가져온다.
 
axis.title.updateOption('text', 'Chart Title');  // 축 타이틀 텍스트를 재설정한다.
 
// 또는 여러 속성을 한꺼번에 설정할 수도 있다.
axis.title.updateOptions({
    text: 'Chart Title',
    style: {
        fill: 'blue'
    }
});
 
// 옵션 객체의 값을 지정할 수는 있지만, 실제 동작과 표시에 반영하기 위해서는 
// 반드시 updateOptions를 호출해야 한다.
// 옵션 속성을 직접 변경하는 것은 권장되지 않는다.
axis.title.options.text = 'Title';
axis.title.updateOptions();

또, 모델의 options 객체는 실행 중 언제든 새로은 것으로 바뀔 수 있으므로, options 객체를 외부에서 가져가 유지하며 사용하는 것은 문제가 된다.