export type ChartSeries = { /** 系列ごとに一意のラベル(凡例・表示切替のキー) */ label: string; /** * - BarChart: null および 0 以下は棒として描画しない * - LineChart: null で線を途切れさせる。0 は有効(Y 軸は 0 起点、負の値のスケールは未対応) */ data: (number | null)[]; /** 未指定時は theme.palette.chart の系列色を使う */ color?: string; }; export type BarChartLayout = "single" | "grouped" | "stacked"; /** vertical: カテゴリが X 軸 / horizontal: カテゴリが Y 軸 */ export type BarChartOrientation = "vertical" | "horizontal"; export type ResolvedChartSeries = { label: string; color: string; data: (number | null)[]; }; export type ChartHoverState = { categoryIndex: number; clientX: number; clientY: number; } | null; export type ChartReferenceLineAxis = "primary" | "secondary"; export type ChartReferenceLine = { /** 値軸上の位置。スケール外(負または max 超)は描画しない */ value: number; /** * 凡例に表示するラベル。未指定時は valueFormatter(value)。 * プロット上にはラベルを描画しない。 */ label?: string; /** 未指定時は theme.palette.chart.referenceLine.color */ color?: string; /** BarLineChart の右軸用。他チャートでは primary のみ有効。 */ axis?: ChartReferenceLineAxis; /** * tooltip に達成率(表示値合計 / 目標)を出す。 * デフォルト false。目標が 0 以下のときは出さない。 * 複数線に指定した場合は、スケール内の先頭 1 本だけが対象になる。 */ showAchievementInTooltip?: boolean; }; export type BarSegment = { seriesLabel: string; color: string; value: number; x: number; y: number; width: number; height: number; categoryIndex: number; };