PlSparkline
모양만 남기고 전부 걷어낸 차트입니다. 축도, 격자도, legend도, tooltip도 없이 문장 안에 들어가 무언가가 어느 쪽으로 가고 있는지만 보여 줍니다.
import { PlSparkline } from 'plass-ui';
<PlSparkline data={signups} endDot />;import 'package:plass_ui/plass_ui.dart';
PlSparkline(data: signups, endDot: true);스파크라인은 차트를 줄여 놓은 것과는 다른 물건입니다. 여기에 붙일 수 있는 숫자는 이미 주변 글에 있고, 그래서 아무것도 붙이지 않습니다. PlStat 옆이나 표의 칸, 문장 속에 넣으세요.
Props
| Prop | 타입 | 기본값 | 설명 |
|---|---|---|---|
| data * | readonly PlassChartDatum[] | — | 값. null은 여기서도 빈 곳입니다 |
| shape | 'line' | 'area' | 'bar' | 'line' | 어떤 mark로 그릴지. 추세는 선, 양은 면적, 낱낱의 개수는 막대 |
| curve | 'linear' | 'smooth' | 'step' | 'linear' | 점에서 점으로 가는 방식 |
| color | 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | (string & {}) | '--plass-chart-1' | mark의 색. 다른 차트와 달리 직접 받습니다 — series가 하나뿐이라 팔레트가 나눠 줄 것이 없습니다 |
| endDot | boolean | false | 값이 있는 마지막 점에 dot을 찍습니다. 이만한 띠에 들어갈 유일한 직접 label입니다 |
| baseline | number | — | 띠를 가로지르는 선. 목표치나 예산처럼 이만한 크기가 실을 수 있는 유일한 맥락입니다 |
| min | number | — | 척도의 아래끝. 비우면 자기 범위로 띠를 채웁니다 |
| max | number | — | 척도의 위끝. 한 줄에 같은 값을 주면 small multiples가 됩니다 |
| width | number | string | '100%' | 너비 |
| label | string | — | 띠의 이름. 없으면 접근성 트리에서 통째로 빠집니다 |
| size공통 | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'md' | 띠의 높이. 페이지가 아니라 옆에 놓인 글줄에 맞춰 잽니다 |
| Prop | 타입 | 기본값 | 설명 |
|---|---|---|---|
| data * | List<PlassChartDatum> | — | 값. null은 여기서도 빈 곳입니다 |
| shape | PlSparklineShape | PlSparklineShape.line | 어떤 mark로 그릴지. 추세는 선, 양은 면적, 낱낱의 개수는 막대 |
| curve | PlChartCurve | PlChartCurve.linear | 점에서 점으로 가는 방식 |
| color | PlassColor? | '--plass-chart-1' | mark의 색 계열. 계열이 아닌 정확한 색은 tint가 받습니다 |
| tint | Color? | — | 계열 중 하나가 아닌 정확한 색. React의 PlassColor | (string & {})를 둘로 나눈 쪽입니다 |
| endDot | bool | false | 값이 있는 마지막 점에 dot을 찍습니다. 이만한 띠에 들어갈 유일한 직접 label입니다 |
| baseline | double? | — | 띠를 가로지르는 선. 목표치나 예산처럼 이만한 크기가 실을 수 있는 유일한 맥락입니다 |
| min | double? | — | 척도의 아래끝. 비우면 자기 범위로 띠를 채웁니다 |
| max | double? | — | 척도의 위끝. 한 줄에 같은 값을 주면 small multiples가 됩니다 |
| width | double? | '100%' | 너비 |
| semanticLabel | String? | — | 띠의 이름. 없으면 접근성 트리에서 통째로 빠집니다 |
| size공통 | PlassSize | PlassSize.md | 띠의 높이. 페이지가 아니라 옆에 놓인 글줄에 맞춰 잽니다 |
색은 다른 차트와 달리 직접 받습니다. sparkline에는 series가 하나뿐이고 legend도 없으니 팔레트가 나눠 줄 것이 없습니다.
tooltip도 legend도 없습니다. 둘 중 하나라도 붙이면 차트가 됩니다. null은 여기서도 빈 곳이고, 선은 거기서 끊깁니다.
Examples
shape
큰 차트들이 하는 세 문장을, 다른 말은 아무것도 하지 않는 크기에서 그대로 합니다. 추세는 선, 양은 면적, 낱낱의 개수는 막대입니다.
min과 max
sparkline은 자기 범위에 맞춰 스스로 늘어나므로 띠가 언제나 꽉 찹니다. 20px 높이에서도 읽히는 이유이자 함정입니다. 나란히 놓인 둘은 서로 다른 척도로 그려지므로, 가파르게 오르는 띠가 더 작은 숫자일 수 있습니다. 한 줄로 늘어놓을 때 같은 min과 max를 주면 small multiples 차트가 됩니다.
baseline
목표치, 예산, 작년 평균. 이만한 띠가 실을 수 있는 맥락은 이것 하나입니다. 데이터 바깥에 있으면 범위 안으로 끌어들이므로 선은 언제나 보입니다.
endDot
마지막 칸이 아니라 값이 있는 마지막 점에 dot을 찍습니다. 이만한 띠에 들어갈 수 있는 유일한 직접 label이고, series가 어디서 끝났는지를 보여 줍니다. 막대에는 붙지 않습니다. 막대는 이미 끝나는 자리에서 끝나기 때문입니다.
Accessibility
label이 없으면 띠는 접근성 트리에서 통째로 빠집니다. sparkline은 숫자를 이미 가진 글 옆의 장식이고, 이름 없는 이미지를 이미지라고 읽어 주는 것은 소음입니다.label이 있으면 이름 붙은role="img"가 되고, 값이 옆에 적힙니다. 화면에서만 잘라낼 뿐 트리에서 감추지는 않습니다. sparkline이 갚아야 할 것은 숫자이지, 그 숫자가 만든 모양에 대한 설명이 아닙니다.- 색이 유일한 통로가 아닌 것도 같습니다. sparkline은 자기가 속한 이름과 숫자 옆에 놓입니다.