Sparkline

インラインのミニ折れ線グラフ。テーブルやメトリクスの横に配置。

プレビュー

上昇トレンド
下降トレンド
エリア付き

使いどころ

使う場面

  • 数字のそばに添えて、増えているか減っているかの傾きだけを示す(Metric や Table のセル)
  • データは 7〜30 点程度。大きな傾向が見えるように、軸も目盛りも付けない前提で使う
  • 色は 1 つ。意味を持たせるときは、増加は positive、減少は negative の色にそろえ、文字(+12%)も併記する

使わない場面

  • 単体で置くこと。軸も目盛りも値もないので、何の数字か、どれだけ変わったかが読めない。必ず隣に値かラベルを置く
  • 正確な値を読ませるとき。LineChart を使う
  • 2 点未満のデータ。データが 2 点未満だと何も描かれない(null を返す)。空の状態は文字で示す
  • 複数系列の比較。LineChart を使う

使い方

<Sparkline
  data={[10, 15, 12, 20, 18, 25]}
  color="var(--chart-emerald)"
  showArea
/>

プロパティ

名前型デフォルト説明
data必須number[]なし数値の配列
widthnumber80SVGの幅
heightnumber24SVGの高さ
colorstringvar(--chart-emerald)線の色
showAreabooleanfalse塗りつぶしエリアを表示
labelstringなし読み上げ用の名前。指定すると画像として読まれ、省略すると装飾として読み飛ばされる

型と必須かどうかはソースの型定義から自動で生成しています。表にない HTML 標準の属性(className や aria-* など)も、ルート要素にそのまま渡せます。

アクセシビリティ

  • label(または aria-label)を渡すと role="img" で読み上げられる。渡さないと aria-hidden になる
  • 隣に値が表示されているときは、label を渡さず装飾にしてよい(数字が読まれるので、二重に読み上げない)
  • 単体で置くとき、または傾きが重要なときは label に「過去 7 日のアクセス数は増加傾向」のように、傾向を言葉で書く
  • 色だけで増減を伝えない。上がった、下がったを文字でも伝える

関連するコンポーネント