OptionaltitleOverrides the layer's announced title. Maps to MaidrLayer.title.
Names the chart; use DeclarationBase.name to say which layer of it this is.
OptionalnameNames this layer among sibling layers. Maps to MaidrLayer.name.
Announced on a layer switch in place of the trace type, so a hue-split figure says "Male" and "Female" rather than "error_bar plot" twice.
OptionalyField holding the absolute lower bound. Maps to ErrorBarPoint.yMin.
OptionalyField holding the absolute upper bound. Maps to ErrorBarPoint.yMax.
OptionalerrorField holding the interval as an offset from the estimate — the field
a Recharts <ErrorBar dataKey> or a matplotlib yerr points at. A number
is a symmetric offset; a [lower, upper] pair is an asymmetric one.
Both forms are positive magnitudes, as yerr is: the bounds are
estimate - lower and estimate + upper, so an interval given as
[0.2, 0.3] around 1.4 is 1.2 to 1.7. Signed offsets are not a second
accepted spelling — read that way the same pair would give 1.6 to 1.7, and
neither reading is detectable downstream once the absolute bounds are
emitted. A negative entry is left out rather than flipped.
Normalised to absolute bounds on the way into the payload. Loses to
yMin/yMax where both are declared, since those need no arithmetic.
Alone among the field refs here, this one has no fallback chain: an
offset column is named explicitly or spelled exactly error. Every common
spelling is either axis-specific (yerr, xerr, and a row carrying both
says nothing about which axis this chart draws its intervals on) or a
dispersion statistic a chart commonly draws a multiple of (sd, sem,
err — ±1.96 SEM is as ordinary as ±1). Read as the drawn offset, one of
those resizes every interval on the figure without saying so.
OptionalintervalCompanion series drawing the interval rather than the estimate — an
amCharts openValueY/openValueX column, a Highcharts errorbar.
Merged into this layer by x and suppressed from becoming a layer of its own.
OptionalorientationWhich axis the estimate runs along. Maps to MaidrLayer.orientation.
The Orientation values, which are 'horz' and 'vert' — not the
words they abbreviate. 'horizontal' is not accepted, and a declaration
carrying it is warned about and read without the key.
TraceType.FOREST — the string 'forest'.
OptionalweightField holding the study's weight in the pooled estimate, as a fraction of
one. Maps to ForestPoint.weight.
A forest plot encodes this as marker area: two studies whose intervals look alike can contribute wholly differently to the result. Omitted from the payload when nothing resolves — a forest plot without weights is a real chart.
A fraction of one, not a percentage. Meta-analysis software reports
this column as a percentage — 12.5 for one study in eight — and that is
the number the default chain will find. A resolved weight above 1 is left
out rather than rescaled: dividing by 100 guesses that the column sums to
100, and announcing it untouched says "weight 1250%".
OptionalpooledField marking a row as the pooled summary rather than a study. Maps to
ForestPoint.pooled.
It is a different kind of row — it is not evidence, it is what the evidence came to — and announcing it as one more study invites a reader to count it among them.
Read on the same strict table as
SurvivalDeclaration.censored: true, 1, '1' and 'true' mark
the pooled row and nothing else does. Read by truthiness instead, a CSV's
'0' marks every study as the summary and empties the evidence the trace
counts and compares.
OptionalpooledRow index of the pooled summary, for data that carries no flag column. A meta-analysis draws the pooled row last, so this is usually the last index.
Counts the declaring series' own rows, as authored, from zero — including any row an adapter goes on to drop for want of a finite value, since that is the only sequence an author can see. It is resolved before any ForestDeclaration.pooledSeries is absorbed, so it never addresses a row that arrived from the companion.
OptionalpooledCompanion series drawing the pooled summary's own mark — the diamond a meta-analysis ends with, when it is drawn differently from the studies.
Its rows are appended after the studies and the companion is suppressed from becoming a layer of its own.
OptionalnullThe value that means "no effect" — 1 for a ratio measure, 0 for a
difference. Maps to MaidrLayer.forestOptions.nullValue.
Whether a study's interval crosses it is the result for that study, so the trace announces the crossing. There is deliberately no default: a ratio chart guessed at 0 would report every study as not crossing, since odds ratios are all positive, and that is a confident wrong answer given to every row. Undeclared, the layer gets the estimate, the interval and the weight, and makes no claim about significance.
One effect estimate with its interval per study, against a shared null line, with a pooled summary at the foot — the standard figure of a meta-analysis.
It is an ErrorBarDeclaration laid out on a categorical row axis, so it accepts every field one does. What it adds is the part a sighted reader takes from the drawing and is otherwise never told: how much each study weighs, which row is the pooled result rather than evidence, and where the null line sits.