본문으로 건너뛰기

PlBarChart

비교되는 길이입니다. 막대는 얼마나를 길이로 나타냅니다. 축이 0에서 시작하고 그 점만은 설득당하지 않는 이유가 그것입니다.

React
tsx
import { PlBarChart } from 'plass-ui';

<PlBarChart series={revenue} categories={regions} />;
dart
import 'package:plass_ui/plass_ui.dart';

PlBarChart(series: revenue, categories: regions);

축을 자르면 두 배 긴 막대가 두 배를 뜻하기를 그만두고, 읽는 사람은 그런 일이 있었는지 알 길이 없습니다. 각 값의 크기가 아니라 변화의 모양이 중요하다면 선 차트를 쓰세요.

Props

Prop타입기본값설명
series * readonly PlassChartSeries[]데이터
categoriesreadonly PlassChartCategory[]category 축이 말하는 것
orientation'vertical' | 'horizontal''vertical'막대가 나는 방향. category 이름이 낱말이면 horizontal이 맞습니다 — 가로 차트에는 이름을 위한 열이 통째로 있습니다
stackedboolean | 'full'false나란히가 아니라 위로 쌓습니다. full은 모든 막대를 같은 길이로 만들어 크기가 아니라 비중에 대한 차트로 바꿉니다
roundedbooleantrue막대의 데이터 쪽 끝만 모서리를 깎습니다. 기준선 쪽은 각진 채로 — 둥근 발은 축을 물결지게 만듭니다
barSizenumberthe size ladder — 24 at md막대가 가질 수 있는 최대 두께. 그 아래에서는 band를 나눠 채우고, 넘으면 남는 만큼이 여백이 됩니다
valueLabels'none' | 'last' | 'extremes' | 'all''none'막대 위에 어떤 값을 적을지. 여기서는 all이 선 차트에서와 달리 변호할 만합니다 — 숫자가 붙은 막대 여덟이면 차트이자 표입니다
xAxisPlassChartAxiscategory 축
yAxisPlassChartAxis값 축
legendPlassChartLegend범례
tooltipPlassChartTooltip툴팁
heightnumber | stringplot의 높이
formatIntl.NumberFormatOptions값을 쓰는 방식
labelstring'Chart'그림 전체의 접근성 이름
emptyReactNode그릴 것이 없을 때 그리는 것
size공통'xs' | 'sm' | 'md' | 'lg' | 'xl''md'타입 스케일, plot 높이, 막대 두께 상한
density공통'default' | 'compact''default'category 한 칸에서 막대가 차지하는 비율. 높이는 아닙니다
Prop타입기본값설명
series * List<PlassChartSeries>데이터
categoriesList<PlassChartCategory>?category 축이 말하는 것
orientationPlassOrientationPlassOrientation.vertical막대가 나는 방향. category 이름이 낱말이면 horizontal이 맞습니다 — 가로 차트에는 이름을 위한 열이 통째로 있습니다
stackingPlBarStackingPlBarStacking.groupedseries가 서로 어떻게 놓이는지. React의 boolean | 'full' 대신 이름 붙은 세 상태입니다
roundedbooltrue막대의 데이터 쪽 끝만 모서리를 깎습니다. 기준선 쪽은 각진 채로 — 둥근 발은 축을 물결지게 만듭니다
barSizedouble?the size ladder — 24 at md막대가 가질 수 있는 최대 두께. 그 아래에서는 band를 나눠 채우고, 넘으면 남는 만큼이 여백이 됩니다
valueLabelsPlassChartValueLabelsPlassChartValueLabels.none막대 위에 어떤 값을 적을지. 여기서는 all이 선 차트에서와 달리 변호할 만합니다 — 숫자가 붙은 막대 여덟이면 차트이자 표입니다
xAxisPlChartAxisPlChartAxis()category 축
yAxisPlChartAxisPlChartAxis()값 축
legendPlChartLegendPlChartLegend()범례
tooltipPlChartTooltipPlChartTooltip()툴팁
heightdouble?plot의 높이
formatString Function(double)?값을 쓰는 방식
semanticLabelString?'Chart'그림 전체의 접근성 이름
emptyWidget?그릴 것이 없을 때 그리는 것
size공통PlassSizePlassSize.md타입 스케일, plot 높이, 막대 두께 상한
density공통PlassDensityPlassDensity.standardcategory 한 칸에서 막대가 차지하는 비율. 높이는 아닙니다

데이터는 모든 차트가 받는 같은 PlassChartSeries입니다. 여기서도 null은 빈 곳이고, 그런 값에는 막대를 그리지 않습니다. 이 차트에서 가장 중요한 구분입니다. 길이 0인 막대와 없는 막대는 같은 그림이고, 그중 정직한 것은 하나뿐이기 때문입니다.

라이브러리 전체에서 공유 축이 뜻하는 바는 prop 규약에 있습니다.

Examples

orientation

category 이름이 낱말이라면 horizontal이 맞습니다. 이름을 위한 열이 통째로 있고, 세로 차트에는 막대 하나의 너비밖에 없습니다.

React

모든 것이 함께 바뀝니다. 각 축이 어느 띠를 잡는지, 격자가 어느 방향인지, crosshair가 어느 쪽으로 가는지, 막대의 어느 끝이 둥근지.

stacked

나란한 막대는 "여기서 어느 series가 더 큰가"에 답합니다. 쌓인 막대는 "이 합계는 무엇으로 이루어졌나"에 답합니다. 서로 다른 질문이고, 차트에는 한 번에 하나만 물어야 합니다.

React

'full'은 모든 막대를 같은 길이로 만들어 차트를 크기가 아니라 비중에 대한 것으로 바꿉니다. 면적 차트와 똑같고, 같은 이유로 그림이 아니라 데이터를 정규화합니다.

쌓인 두 조각 사이의 간격은 각자의 먼 쪽 끝에서 떼어 냅니다. 그래야 쌓인 전체가 여전히 옳은 길이가 되고, 이음매가 그 위에 그은 선이 아니라 비쳐 보이는 시트가 됩니다. 막대를 두른 테두리는 데이터가 아닌 잉크입니다.

음수

두 팔은 따로 누적되므로, 내려가는 series가 위의 것을 짧게 만들지 않습니다. 음수 막대는 기준선에서 아래로, 양수는 위로 자랍니다.

React

기준선은 막대 위에 다시 그립니다. 모든 막대가 거기서 시작하고, 그 선이 시작점을 보여 줍니다. 아래에 두면 막대마다 첫 픽셀에 반쯤 가려집니다.

rounded

모서리는 각 막대의 데이터 쪽 끝에서만 깎입니다. 기준선 쪽은 각진 채로 둡니다. 값이 시작하는 곳이고, 둥근 발은 축을 물결지게 만듭니다.

barSize와 density

barSize는 너비가 아니라 상한입니다. 막대가 앉는 band는 plot을 category 수로 나눈 것이고, 상한 아래에서는 그 몫을 채우며, 넘으면 남는 만큼이 여백으로 남습니다. density는 막대가 애초에 band에서 차지할 수 있는 비율입니다.

Accessibility

PlLineChart에 적힌 내용이 그대로 적용됩니다. 이름과 series별 요약, 진짜 컨트롤인 범례, 그리고 React 쪽의 숨은 표.

Released under the MIT License