ProtecteddatasetsOptionaloptions: CustomDoughnutChartOptionsOptionalplugins: any실시간 스트리밍 옵션을 설정합니다. 이 메서드를 사용하기 전에, 사용자는 'chartjs-plugin-streaming'을 설치하고 Chart.js에 직접 등록해야 합니다.
// 1. 사용자 측에서 웹소켓 등 데이터 소스 설정
const myWebSocket = new WebSocket('wss://my-data-source');
// 2. ChartWrapper에 스트리밍 옵션 적용
chart.addStreaming({
duration: 20000, // 20초 분량의 데이터를 차트에 표시
refresh: 1000, // 1초마다 차트 업데이트
onRefresh: (chart) => {
// 3. 데이터 소스로부터 받은 데이터를 차트에 추가
myWebSocket.onmessage = (event) => {
const data = JSON.parse(event.data);
chart.data.datasets[0].data.push({
x: data.timestamp,
y: data.value
});
};
}
});
ProtectedapplyProtectedcloneProtectedcloneProtectedconfigProtecteddecorateProtectedgetProtectedgetProtectedgetProtectedmergeProtectedmustProtectednormalizeProtectedrequireProtectedrequireProtectedresolveProtectedresolveOptionaloptions: CustomArcChartOptions<"doughnut">BetaProtectedsetBeta이미지 URL 배열 (URL, Base64, SVG, Emoji 등) 또는 UID 매핑 배열
Optionalconfig: Partial<Omit<SegmentImageConfig, "images">>이미지 설정 옵션
// URL 방식 (순서대로 매핑)
chart.setSegmentImages([
'https://example.com/icon1.png',
'https://example.com/icon2.png'
]);
// UID 매핑 방식
chart.setSegmentImages([
{ _uid: 'chart_id_ds_0', image: 'public/assets/image1.png' },
{ _uid: 'chart_id_ds_1', image: 'public/assets/image2.png' }
]);
// 크기 조절
chart.setSegmentImages(
['image1.png', 'image2.png'],
{ width: 40, height: 40, backgroundColor: 'transparent' }
);
차트 마운트 직전 DOM 오버레이 spinner를 설정합니다.
실제 동작은 mountChart helper가 담당하며, build(id) 또는 _chartId로 안정적인 canvas id가 필요합니다.
chart.setSpinnerOverlay({
enabled: true,
text: false,
spinner: () => {
const spinner = document.createElement('div');
spinner.innerHTML = '<svg width="42" height="42" viewBox="0 0 42 42"><circle cx="21" cy="21" r="18" fill="none" stroke="#bfdbfe" stroke-width="4" /><path d="M21 3 A18 18 0 0 1 39 21" fill="none" stroke="#2563eb" stroke-width="4" stroke-linecap="round" /></svg>';
return spinner;
}
});
StaticcreateOptionaloptions: CustomChartOptions<TType>Optionalplugins: Plugin<keyof ChartTypeRegistry, AnyObject>StatichasStaticregister
chartjs-plugin-streaming플러그인에 전달할 옵션 객체.