リボンチャートRibbonChartExperimental

期間ごとの流量や構成量の広がりを示すリボンチャートです。

プレビュー

データ

対象: 1月

状態とバリエーション

フロー

量の変化を中央寄せの流れとして表示します。

積み上げ

合計量を読みやすい積み上げ面で表示します。

ラベルなし

コンパクトな領域では期間ラベルを非表示にできます。

最大値指定

複数のリボンチャートを同じスケールで比較します。

プロパティ

表は横にスクロールできます
プロパティ初期値説明
layersRibbonChartLayer[]-幅が変化するリボンとして表示するレイヤーと値です。
variant"flow" | "stacked""flow"中央寄せのフロー表示と積み上げ表示を切り替える SSOT 登録済みバリエーションです。
maxnumber-複数チャートを同じスケールで比較するための最大合計値です。
totalLabelReactNode"Total"凡例ツールチップの説明に使う合計ラベルです。
showLegendbooleanfalseレイヤー合計のチャート凡例を表示します。
showLabelsbooleantrueリボン下の期間ラベルの表示を切り替えます。
formatValue(value: number) => ReactNode-各値を整形します。関数propのため Client Component からのみ渡すこと(Server Component から渡すと next build が落ちる)。RSC 安全な整形には valueFormat を使う。
valueFormat"number" | "compact" | "integer" | Intl.NumberFormatOptions-シリアライズ可能な数値フォーマット=formatValue の RSC 安全な代替。formatValue 指定時は無視。en-US ロケール固定。(#338)

使い方

const layers = [
    { label: "新規", color: "primary", data: [{ label: "1月", value: 22 }, { label: "2月", value: 30 }, { label: "3月", value: 36 }, { label: "4月", value: 44 }, { label: "5月", value: 52 }, { label: "6月", value: 60 }] },
    { label: "継続", color: "success", data: [{ label: "1月", value: 16 }, { label: "2月", value: 22 }, { label: "3月", value: 30 }, { label: "4月", value: 38 }, { label: "5月", value: 46 }, { label: "6月", value: 52 }] },
    { label: "拡張", color: "warning", data: [{ label: "1月", value: 8 }, { label: "2月", value: 14 }, { label: "3月", value: 22 }, { label: "4月", value: 30 }, { label: "5月", value: 38 }, { label: "6月", value: 48 }] },
];

<RibbonChart layers={layers} />
<RibbonChart layers={layers} variant="flow" showLegend totalLabel="合計" />
<RibbonChart layers={layers} variant="stacked" />