v1.5.1
✨ 기능 개선
log 축 (opens in a new tab) 값 처리 변경 [🚨주의]
- 기존: 0 이하의 값이 로그 위치를 만들지 못해 좌표가 깨지고,
minValue(opens in a new tab)·maxValue(opens in a new tab)를 지정하면 축 범위가 무너졌습니다. - 변경: 0 이하의 값은 값이 없는 것으로 다룹니다. 해당 포인트는 표시되지 않고 선은 그 자리에서 끊깁니다. x축이 log 축이면 x 값도 같습니다.
- 변경:
minValue,maxValue,strictMin,strictMax와break의from·to는 데이터 값으로 지정합니다.tick의baseValue,stepInterval,steps는 이전과 같이 로그를 적용한 값으로 지정합니다.
yAxis: {
type: 'log',
minValue: 1, // 데이터 값
maxValue: 10000
}othersGroup (opens in a new tab) 묶음 기준 정리 [🚨주의]
- 기존:
minValue(opens in a new tab) 미만 조각이 data 순서에 따라 기타에 들어가지 않거나 중복으로 표시되었고,maxCount(opens in a new tab)에 기타 조각이 포함되지 않았습니다. - 변경:
minValue미만 조각은 data 위치와 관계없이 모두 기타로 묶입니다. 한 조각은 표시 조각과 기타 중 한 곳에만 들어가므로 표시 조각들의 합이 원본 합과 같습니다. - 변경:
maxCount는 기타 조각을 포함한 개수입니다.maxCount: 1이면 첫 조각과 기타가 표시됩니다. - 같은 데이터라도 기타 조각의 값이 이전과 달라질 수 있습니다. Pie, Funnel, Pictorial, WordCloud 시리즈에 공통으로 적용됩니다.
포인트 클릭과 드래그 구분
- 기존: 포인트를 누른 채 끌어서 놓아도(줌 드래그 등)
onPointClick이 호출되었습니다. - 변경: 끌어서 놓은 경우는 클릭으로 보지 않아
onPointClick이 호출되지 않습니다.
➕ 기능 추가
selectable (opens in a new tab) 데이터포인트 선택
- Bar, Pie 계열 시리즈에서 데이터포인트를 클릭해 선택할 수 있는
selectable옵션이 추가되었습니다. (@default false) - 선택 상태는 포인터가 벗어나도 유지되며 hover와 독립적으로 동작합니다.
- 클릭: 기존 선택을 해제하고 하나만 선택합니다. 단독 선택된 포인트를 다시 클릭하면 해제됩니다.
- Shift · Ctrl(Windows) · Cmd(macOS) + 클릭, 터치에서 길게 누르기: 기존 선택을 유지하면서 선택을 토글합니다.
- 빈 영역 클릭: 전체 선택을 해제합니다.
- 선택된 포인트에 적용되는
selectStyle(opens in a new tab)과 마지막에 선택된(focus) 포인트에 적용되는focusStyle(opens in a new tab) 옵션이 추가되었습니다.hoverStyle보다 우선 적용됩니다. - 선택 상태에 따라 포인트에
rct-point-selected,rct-point-focused,rct-point-unselected클래스가 붙어 CSS로도 스타일을 지정할 수 있습니다.
series: {
type: 'bar',
selectable: true,
selectStyle: { fill: '#ff9800' },
focusStyle: { stroke: '#333', strokeWidth: 2 }
}onSelectionChanged (opens in a new tab) · onFocusChanged (opens in a new tab) 선택 이벤트
- 선택 목록이 바뀔 때 호출되는
general.onSelectionChanged와 focus 포인트가 바뀔 때 호출되는general.onFocusChanged콜백이 추가되었습니다. - 선택은 차트 전역으로 관리되므로 한 번의 조작으로 여러 시리즈가 바뀔 수 있고, 영향을 받은 시리즈마다 한 번씩 호출됩니다. 마우스 클릭과
chart.selection호출 모두 같은 콜백을 호출합니다.
general: {
onSelectionChanged: (args) => {
// args.series, args.selectedPoints, args.added, args.removed
},
onFocusChanged: (args) => {
// args.point, args.previousPoint (선택이 모두 해제되면 null)
}
}chart.selection 선택 API
- 프로그램에서 선택을 다루는
chart.selection이 추가되었습니다.select(point),add(point),toggle(point),unselect(point),clear(),contains(point)메서드와selectedPoints,focusedPoint,count,isEmpty속성을 제공합니다. selectedPoints는 선택한 순서대로 반환되며 마지막 항목이 focus 포인트입니다. 범례로 감춘 포인트도 선택 상태를 유지합니다.
chart.selection.select(point); // point: onPointClick 등에서 받은 데이터포인트
chart.selection.toggle(other);
chart.selection.selectedPoints; // 선택 순서대로
chart.selection.clear();🐞 버그 수정
Line · Area 시리즈
connectNullPoints(opens in a new tab)가true일 때lineType이'step'·'spline'이거나 첫 포인트가 null이면 선과 영역이 사라지던 문제가 수정되었습니다.- Linear 축에서 숫자로 읽을 수 없는 y 값이 하나라도 있으면 선 전체가 사라지던 문제가 수정되었습니다. 이제 그 자리에서 선이 끊깁니다.
- polar 차트의 Area 시리즈에 데이터가 없거나 모두 null이면 렌더가 중단되어 차트 전체가 그려지지 않던 문제가 수정되었습니다.
Pie · Funnel 시리즈
data에 null 항목이 있으면 Pie 시리즈 렌더가 중단되던 문제가 수정되었습니다.- 결측 포인트가 있으면 모든 조각의 percent가 NaN이 되던 문제와
othersGroup(opens in a new tab) 기타 조각의 percent가 0이던 문제가 수정되었습니다. othersGroup에서 포인트를 지우면 Pie가 사라지거나 조각이 중복 표시되던 문제가 수정되었습니다.othersGroup이 숫자 문자열 y 값을 문자열로 이어 붙여 합산해 기타 조각이 부풀던 문제가 수정되었습니다.
Waterfall (opens in a new tab) · Histogram (opens in a new tab) · BellCurve (opens in a new tab) 시리즈
- Waterfall 시리즈
data에 null 항목이 있으면 렌더가 중단되던 문제가 수정되었습니다. null 포인트는 누적에서 빠집니다. - BellCurve 표준편차가 잘못 계산되어 곡선 폭이 틀리고, 첫 값이 음수면 곡선이 사라지던 문제가 수정되었습니다. 곡선 폭이 이전과 달라질 수 있습니다.
- BellCurve 값이 하나뿐이거나 모두 같으면 비정상 포인트가 생기던 문제가 수정되었습니다. 이 경우 곡선을 그리지 않습니다. 곡선 포인트 수는
2 × sigmas × pointsInSigma + 1로 고정되고 평균에 대해 대칭입니다. - Candlestick (opens in a new tab) 등 다른 시리즈를
source로 참조하는 BellCurve·Pareto 시리즈에서 렌더가 중단되던 문제가 수정되었습니다.
데이터포인트 갱신
- 한 번 null이 된 포인트에
updatePoint나ChartData.setValue로 값을 넣어도 계속 비어 있던 문제가 수정되었습니다. updatePoint로 값을 null로 바꾸면 변경으로 보고되지 않던 문제가 수정되었습니다.- 원본이 null·undefined인 포인트에서
textField·categoryField라벨이false나NaN으로 표시되던 문제가 수정되었습니다.
seriesNavigator (opens in a new tab)
- x축이 시간축일 때 내비게이터를 켜면 차트가 그려지지 않던 문제가 수정되었습니다.
툴팁 (opens in a new tab)
- 차트를 로드한 뒤 첫 툴팁이 마우스를 올려둔 채로도 곧 사라지던 문제가 수정되었습니다.
- 사라지는 중인 툴팁을 다시 표시하면 유지되지 않던 문제가 수정되었습니다.
zoom
- 세로로 놓인 축(y축,
inverted차트의 x축)에서 두 손가락 확대·이동과 드래그 zoom (opens in a new tab)이 위아래 반대로 적용되던 문제가 수정되었습니다. 가로로 놓인 축과 값으로 지정하는 줌은 이전과 같습니다. inverted차트에서 세로 범주축의 crosshair flag가 다른 칸의 값을 표시하던 문제가 수정되었습니다.