BarChart
visualCompare values across categories with a bar chart.
컴포넌트 의존 관계
깊이
100%
Basic Bar Chart
Stacked & Grouped
Stacked
Grouped
Vertical Layout
Annotations (references and data labels)
Target lines, bands, and value labels
테스트 커버리지
2026년 7월 9일생성된 테스트 결과를 찾지 못했습니다.
BarChart 항목이 문서 메타에 연결되어 있지만 현재 생성 파일에는 없습니다.
테스트를 추가한 뒤 `bun run generate:test-results`를 실행하거나 `testDescribe` 매핑을 다시 확인하세요.
BarChart Props
| Prop | 타입 | 기본값 | 설명 |
|---|---|---|---|
data* | ChartDataPoint[] | — | 차트 데이터 배열 |
series* | ChartSeriesDef[] | — | 시리즈 정의 (dataKey, name, color) |
xAxisKey | string | "name" | X축 데이터 키 |
height | number | `${number}%` | 300 | 차트 높이 |
className | string | — | 루트 요소에 붙는 CSS 클래스 |
showGrid | boolean | true | 그리드 표시 여부 |
showTooltip | boolean | true | 툴팁 표시 여부 |
showLegend | boolean | — | 범례 표시 여부. 미지정 시 시리즈가 2개 이상일 때만 표시 |
showXAxis | boolean | true | X축 표시 여부 |
showYAxis | boolean | true | Y축 표시 여부 |
animate | boolean | true | 애니메이션. false면 끄고, 그 외에는 prefers-reduced-motion을 따릅니다 |
margin | ChartMargin | { top: 8, right: 16, bottom: 4, left: 0 } | 차트 여백 (top/right/bottom/left) |
layout | "horizontal" | "vertical" | "horizontal" | 차트 방향 |
stacked | boolean | false | 스택형 막대 차트 |
referenceLines | ChartReferenceLine[] | — | 기준선 정의 배열 |
referenceAreas | ChartReferenceArea[] | — | 기준 영역 정의 배열 |
showValues | boolean | false | 막대 위에 값 레이블을 그릴지 여부 |
valueFormatter | (value: number) => string | — | 값 축 눈금 포맷터. 기본은 로케일 인식 축약 숫자 |
categoryFormatter | (value: string | number) => string | — | 범주 축 눈금 포맷터 |
locale | string | — | 기본 숫자 포맷의 로케일. 미지정 시 런타임 로케일 |
loading | boolean | false | 재조회 중 현재 렌더를 흐리게 유지합니다(스켈레톤 플래시 없음) |
accessibleTable | boolean | false | 스크린 리더용으로 시각적으로 숨긴 데이터 표를 함께 렌더합니다 |
emptyState | React.ReactNode | — | 데이터가 없을 때 보여줄 내용. 기본은 labels.empty 문구 |
labels | BarChartLabels | — | 빈 상태·표 캡션·범주 열·차트 이름의 현지화 문자열 |
tooltipOptions | ChartTooltipContentProps | — | ChartTooltipContent에 그대로 넘길 옵션 |
legendOptions | ChartLegendOptions | — | ChartLegendContent에 그대로 넘길 옵션. inactiveKeys에 담긴 dataKey는 범례에서 흐려지고 차트에서도 그려지지 않습니다 |
legendToggle | boolean | true | 범례 칩 클릭으로 시리즈를 켜고 끕니다. legendOptions.inactiveKeys를 주면 호출자가 상태를 소유하고, onClick만 주면 클릭을 전달받으면서 차트가 상태를 유지합니다. 마지막 남은 시리즈는 꺼지지 않습니다. false면 정적 범례 |
syncId | string | — | 같은 syncId를 가진 차트끼리 툴팁과 커서를 함께 움직입니다. 범주형 차트는 행 인덱스로 맞추므로 X축 순서가 같아야 합니다 |
onPointClick | ChartPointClickHandler | — | (point: { index, category, payload }) => void. 점을 클릭하거나, 포커스된 플롯에서 화살표로 이동한 뒤 Enter를 누르면 호출됩니다. 지정 시 플롯에 pointer 커서가 생기고 Enter는 툴팁을 숨기지 않습니다 |
aria-label | string | — | 스크린 리더용 레이블 |
aria-describedby | string | — | 차트를 설명하는 요소의 id |
barSize | number | — | 막대 너비 |
radius | number | [number, number, number, number] | 4 | 막대 모서리 반경 |
Import
tsx
import { BarChart } from "@reopt-ai/opt-ui";