[]
색 구성표는 차트의 외관을 향상시키기 위해 사용하는 일련의 조화로운 색상 집합입니다. 차트의 색 구성표를 원하는 대로 변경하려면 GC.Spread.Sheets.Charts클래스의 colorScheme
속성을 사용하세요.
아래 GIF는 차트에 다양한 색 구성표를 적용하는 모습을 보여줍니다.
SpreadJS는 다음과 같은 기본 제공 옵션을 사용하여 차트의 색 구성표를 손쉽게 적용할 수 있도록 지원합니다: colorfulPalette1
, colorfulPalette2
, colorfulPalette3
, monochromaticPalette1
, monochromaticPalette2
, monochromaticPalette3
등.
차트의 기본 색 구성표는 colorfulPalette1
입니다.
다음 코드 샘플은 기본 제공 색 구성표를 적용하는 방법을 보여줍니다:
// 색상 스키마 추가
var chart = activeSheet.charts.add('Chart1', GC.Spread.Sheets.Charts.ChartType.columnClustered, 250, 100, 600, 400, "A1:D4");
chart.colorScheme(GC.Spread.Sheets.Charts.ColorSchemes.colorfulPalette2);
GC.Spread.Sheets.Charts.ColorRule
열거형을 사용하여 사용자 지정 색 구성표를 정의할 수 있습니다. 아래 표는 사용 가능한 ColorRule 열거형 값을 설명합니다:
ColorRule | 설명 |
---|---|
cycle | 색 목록에서 순서대로 색을 선택하여 차트의 각 시리즈에 적용합니다. 목록의 마지막 색이 선택되면 다시 첫 번째 색부터 시작합니다. |
withinLinear | 색 목록의 가장 어두운 색과 가장 밝은 색 사이에서 균등하게 간격을 둔 인덱스 위치의 색을 선택하여 차트 시리즈에 적용합니다. |
acrossLinear |
Color List 1, Color List 2와 같은 여러 개의 색 목록이 있는 경우, Color List 1의 가장 어두운 색, Color List 2의 가장 어두운 색 순서대로 번갈아 색을 선택합니다. |
withinLinearReversed |
|
acrossLinearReversed |
Color List 1, Color List 2와 같은 여러 개의 색 목록이 있는 경우, Color List 1의 가장 밝은 색, Color List 2의 가장 밝은 색 순서대로 번갈아 색을 선택합니다. |
다음 코드 샘플은 사용자 지정 색 구성표를 정의하고 적용하는 방법을 보여줍니다:
// 색상 스키마 사용자 정의 .
var chart = activeSheet.charts.add('Chart1', GC.Spread.Sheets.Charts.ChartType.columnClustered, 250, 100, 600, 400, "A1:D4");
let myColorScheme = [GC.Spread.Sheets.Charts.ColorRule.cycle, ["#00aefe", "#3368e7", "#8e43e6", "#b74592", "#ff4f80", "#ff6d5f", "#ffc268", "#2cde98", "#1dc7d1"]];
chart.colorScheme(myColorScheme);
getColor()
메서드를 사용하여 색 구성표에서 특정 인덱스에 해당하는 색상을 가져올 수 있습니다.
다음 코드 샘플은 getColor()
메서드를 사용하여 색 구성표에서 색상을 가져오는 방법을 보여줍니다:
// 색상 스키마 사용자 정의
var chart = activeSheet.charts.add('Chart1', GC.Spread.Sheets.Charts.ChartType.columnClustered, 250, 100, 600, 400, "A1:D4");
let myColorScheme = [GC.Spread.Sheets.Charts.ColorRule.cycle, ["#00aefe", "#3368e7", "#8e43e6", "#b74592", "#ff4f80", "#ff6d5f", "#ffc268", "#2cde98", "#1dc7d1"]];
// 색상 스키마에서 인덱스 3번째 색상 가져오기
let color = GC.Spread.Sheets.Charts.getColor(myColorScheme, 3);
주의: 색 구성표를 변경해도 기존 시리즈나 데이터 포인트의 색상은 자동으로 업데이트되지 않습니다. 새로운 시리즈나 데이터 포인트를 추가할 때만 적용됩니다.
색 구성표 변경을 즉시 반영하고자 한다면, 아래 코드 샘플과 같이 시리즈 또는 데이터 포인트의 색을 재설정해야 합니다:
//시리즈 또는 데이터 포인트 리셋
function resetSeriesColor (chart, colorScheme) {
let series = chart.series().get();
for (let i = 0, len = series.length; i < len; i++) {
let seriesItem = series[i];
seriesItem.backColor = GC.Spread.Sheets.Charts.getColor(colorScheme, i, len);
chart.series().set(i, seriesItem);
}
}