パレート図ParetoChartExperimental

大きい要因から並べた棒と累積率の線で、少数の主要因が全体に与える影響を示します。

プレビュー

状態とバリエーション

80%基準線

既定の Pareto 表示です。基準線と累積線で主要因を読み取ります。

基準線なし

累積の傾向だけを見たい場合は threshold={null} で基準線を隠します。

入力順を保持

時系列や工程順で見せたい場合は sort={false} を使います。

プロパティ

表は横にスクロールできます
プロパティ初期値説明
data{ label?: ReactNode; value: number; color?: ChartColor }[]-要因ごとの値です。既定では value の降順に並び替えます。
thresholdnumber | null80累積率の基準線です。null で非表示にします。
thresholdLabelReactNode-基準線のラベルです。省略時は割合を表示します。
sortbooleantrue値の降順に並べるかどうかです。false で渡した順を保ちます。
formatValue(value: number) => ReactNode-棒の値と tooltip の値を整形します。
formatPercent(percent: number) => ReactNode"<n>%"累積率の表示を整形します。
showGridbooleantrue25/50/75/100% の横グリッドを表示します。
showValuesbooleanfalse各棒の上に値を表示します。
showLegendbooleantrue棒、累積線、基準線の凡例を表示します。
labelReactNode-チャートのアクセシブル名と棒の凡例ラベルです。
cumulativeLabelReactNode"Cumulative"累積線の凡例と tooltip ラベルです。

使い方

import { ParetoChart } from "@gunjo/ui";

const downtimeCauses = [
  { label: "チョコ停", value: 142 },
  { label: "段取替え", value: 96 },
  { label: "故障", value: 64, color: "destructive" },
  { label: "材料待ち", value: 38 },
  { label: "品質調整", value: 22 },
  { label: "その他", value: 11, color: "muted" },
];

export function DowntimePareto() {
  return (
    <div className="flex w-full max-w-3xl flex-col rounded-lg border bg-card p-4">
      <ParetoChart
        data={downtimeCauses}
        label="停止時間"
        cumulativeLabel="累計"
        threshold={80}
        thresholdLabel="主要因 80%"
        formatValue={(value) => value + "分"}
        showValues
      />
    </div>
  );
}

使用コンポーネント