chart op• Data kinds: matrix → table
• Call: import fullseye as fs; fs.ledger.spc_xbar_r(subgroups) (to call the implementation directly, import spc; spc.spc_xbar_r(subgroups); from the registry, opsspc.get("spc_xbar_r"))
Shewhart Xbar-R control chart from subgroup measurements.
`subgroups is a 2-D array of shape (m, n) — m subgroups of n`
measurements each, `2 <= n <= 10` (the range chart is only calibrated for
small subgroups). For each subgroup `j` the plotted statistics are the mean
`Xbar_j and the range R_j = max - min`. The centre lines are the grand
mean `Xbarbar and the mean range Rbar`, and with the ISO 8258 constants
`(A2, D3, D4) for that n`::
xbar_ucl = Xbarbar + A2*Rbar xbar_lcl = Xbarbar - A2*Rbar
r_ucl = D4*Rbar r_lcl = D3*Rbar
Returns a dict (a "table") with the per-subgroup `xbar / r` arrays, the
six limits and three centre lines, the integer indices `out_of_control` of
subgroups outside either chart, and `in_control` (True when that list is
empty). The constants are fixed by `n: for n=5` they are exactly
`A2=0.577, D3=0.000, D4=2.115` (pinned in the tests).
Raises `ValueError`: a non-2-D / empty *subgroups*, a subgroup size
outside `[2, 10]`, or non-finite / mislabelled input.
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• poc_spc — py -3.11 examples/poc_spc.py
table as input)—
chart)—
*Provenance: spc.py — SPC operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.