# 데이터 막대 규칙

## Content

SpreadJS는 데이터 막대 규칙을 지원합니다. 이 규칙은 각 셀의 배경으로 표시되는 막대를 사용하며, 막대의 길이는 시트 내 다른 데이터와 비교한 해당 데이터의 상대적인 크기를 나타냅니다. 막대가 길수록 셀의 값이 크다는 것을 의미합니다.
[addDataBarRule](/spreadjs/api/v19/classes/GC.Spread.Sheets.ConditionalFormatting.ConditionalFormats#addDataBarRule) 메서드를 사용하여 규칙을 생성하고 컬렉션에 추가할 수 있습니다. [BarDirection](/spreadjs/api/v19/modules/GC.Spread.Sheets.ConditionalFormatting#BarDirection) 및 [DataBarAxisPosition](/spreadjs/api/v19/modules/GC.Spread.Sheets.ConditionalFormatting#DataBarAxisPosition) 타입을 사용하여 데이터 막대의 방향과 축 위치를 지정할 수 있습니다.
![](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/images/databarrule.png)
또한 조건부 서식에서 최소값 및 최대값의 유형과 비교할 값을 지정할 수 있습니다. [minType](/spreadjs/api/v19/classes/GC.Spread.Sheets.ConditionalFormatting.ScaleRule#minType) 메서드는 `Number`, `LowestValue`, `HighestValue`, `Percent`, `Formula`, `Percentile`, `Automin`, `Automax` 중 하나로 설정할 수 있습니다.
다음 코드 샘플은 데이터 막대 규칙을 생성하고 [addRule](/spreadjs/api/v19/classes/GC.Spread.Sheets.ConditionalFormatting.ConditionalFormats#addRule) 메서드를 사용해 해당 규칙을 추가하는 예입니다.

```javascript
activeSheet.setValue(0,0,1,3);
activeSheet.setValue(1,0,15,3);
activeSheet.setValue(2,0,25,3);
activeSheet.setValue(3,0,-1,3);
var dataBarRule = new GC.Spread.Sheets.ConditionalFormatting.DataBarRule(GC.Spread.Sheets.ConditionalFormatting.ScaleValueType.Number, -1, GC.Spread.Sheets.ConditionalFormatting.ScaleValueType.Number, 40, "green", [new GC.Spread.Sheets.Range(0,0,4,1)]);
dataBarRule.color("green");
dataBarRule.showBorder(true);
dataBarRule.borderColor("orange");
dataBarRule.dataBarDirection(GC.Spread.Sheets.ConditionalFormatting.BarDirection.LeftToRight);
dataBarRule.negativeFillColor("yellow");
dataBarRule.useNegativeFillColor(true);
dataBarRule.negativeBorderColor("red");
dataBarRule.useNegativeBorderColor(true);
dataBarRule.axisPosition(GC.Spread.Sheets.ConditionalFormatting.DataBarAxisPosition.Automatic);
dataBarRule.axisColor("blue");
dataBarRule.showBarOnly(false);
activeSheet.conditionalFormats.addRule(dataBarRule);
```