nirs4all-ui 0.1.13 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/chains/NodeEffectForest.d.ts.map +1 -1
- package/dist/chains/NodeEffectForest.js +5 -1
- package/dist/chains/NodeEffectForest.js.map +1 -1
- package/dist/chains/contract.d.ts.map +1 -1
- package/dist/chains/contract.js +10 -5
- package/dist/chains/contract.js.map +1 -1
- package/dist/datasetBuilder/exportConfig.d.ts.map +1 -1
- package/dist/datasetBuilder/exportConfig.js +1 -7
- package/dist/datasetBuilder/exportConfig.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/nodeRegistry/index.d.ts +9 -0
- package/dist/nodeRegistry/index.d.ts.map +1 -0
- package/dist/nodeRegistry/index.js +9 -0
- package/dist/nodeRegistry/index.js.map +1 -0
- package/dist/nodeRegistry/n4m.d.ts +83 -0
- package/dist/nodeRegistry/n4m.d.ts.map +1 -0
- package/dist/nodeRegistry/n4m.js +131 -0
- package/dist/nodeRegistry/n4m.js.map +1 -0
- package/dist/viz/BiasVarianceBars.d.ts +3 -1
- package/dist/viz/BiasVarianceBars.d.ts.map +1 -1
- package/dist/viz/BiasVarianceBars.js +19 -7
- package/dist/viz/BiasVarianceBars.js.map +1 -1
- package/dist/viz/BoxPlot.d.ts +3 -1
- package/dist/viz/BoxPlot.d.ts.map +1 -1
- package/dist/viz/BoxPlot.js +15 -2
- package/dist/viz/BoxPlot.js.map +1 -1
- package/dist/viz/ConformalIntervalStrip.d.ts +4 -2
- package/dist/viz/ConformalIntervalStrip.d.ts.map +1 -1
- package/dist/viz/ConformalIntervalStrip.js +25 -5
- package/dist/viz/ConformalIntervalStrip.js.map +1 -1
- package/dist/viz/ConfusionMatrix.d.ts +3 -1
- package/dist/viz/ConfusionMatrix.d.ts.map +1 -1
- package/dist/viz/ConfusionMatrix.js +28 -7
- package/dist/viz/ConfusionMatrix.js.map +1 -1
- package/dist/viz/FeatureImportanceBar.d.ts +3 -1
- package/dist/viz/FeatureImportanceBar.d.ts.map +1 -1
- package/dist/viz/FeatureImportanceBar.js +10 -3
- package/dist/viz/FeatureImportanceBar.js.map +1 -1
- package/dist/viz/FoldStabilityLines.d.ts +3 -1
- package/dist/viz/FoldStabilityLines.d.ts.map +1 -1
- package/dist/viz/FoldStabilityLines.js +14 -2
- package/dist/viz/FoldStabilityLines.js.map +1 -1
- package/dist/viz/Histogram.d.ts +3 -1
- package/dist/viz/Histogram.d.ts.map +1 -1
- package/dist/viz/Histogram.js +15 -3
- package/dist/viz/Histogram.js.map +1 -1
- package/dist/viz/PcaScatter.d.ts +3 -1
- package/dist/viz/PcaScatter.d.ts.map +1 -1
- package/dist/viz/PcaScatter.js +30 -6
- package/dist/viz/PcaScatter.js.map +1 -1
- package/dist/viz/PipelineFlow.d.ts +3 -1
- package/dist/viz/PipelineFlow.d.ts.map +1 -1
- package/dist/viz/PipelineFlow.js +8 -2
- package/dist/viz/PipelineFlow.js.map +1 -1
- package/dist/viz/PredictionScatter.d.ts +4 -2
- package/dist/viz/PredictionScatter.d.ts.map +1 -1
- package/dist/viz/PredictionScatter.js +25 -4
- package/dist/viz/PredictionScatter.js.map +1 -1
- package/dist/viz/ResidualPlot.d.ts +3 -1
- package/dist/viz/ResidualPlot.d.ts.map +1 -1
- package/dist/viz/ResidualPlot.js +18 -3
- package/dist/viz/ResidualPlot.js.map +1 -1
- package/dist/viz/ScoreHeatmap.d.ts +3 -1
- package/dist/viz/ScoreHeatmap.d.ts.map +1 -1
- package/dist/viz/ScoreHeatmap.js +23 -2
- package/dist/viz/ScoreHeatmap.js.map +1 -1
- package/dist/viz/ScoreSummary.d.ts +3 -1
- package/dist/viz/ScoreSummary.d.ts.map +1 -1
- package/dist/viz/ScoreSummary.js +8 -2
- package/dist/viz/ScoreSummary.js.map +1 -1
- package/dist/viz/ShapBeeswarm.d.ts +3 -1
- package/dist/viz/ShapBeeswarm.d.ts.map +1 -1
- package/dist/viz/ShapBeeswarm.js +20 -4
- package/dist/viz/ShapBeeswarm.js.map +1 -1
- package/dist/viz/SpectraPlot.d.ts +4 -2
- package/dist/viz/SpectraPlot.d.ts.map +1 -1
- package/dist/viz/SpectraPlot.js +27 -7
- package/dist/viz/SpectraPlot.js.map +1 -1
- package/dist/viz/WaterfallChart.d.ts +3 -1
- package/dist/viz/WaterfallChart.d.ts.map +1 -1
- package/dist/viz/WaterfallChart.js +18 -6
- package/dist/viz/WaterfallChart.js.map +1 -1
- package/dist/viz/description.d.ts +9 -0
- package/dist/viz/description.d.ts.map +1 -0
- package/dist/viz/description.js +25 -0
- package/dist/viz/description.js.map +1 -0
- package/dist/viz/index.d.ts +3 -1
- package/dist/viz/index.d.ts.map +1 -1
- package/dist/viz/index.js +3 -1
- package/dist/viz/index.js.map +1 -1
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BiasVarianceBars.js","sourceRoot":"","sources":["../../src/viz/BiasVarianceBars.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAoB,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"BiasVarianceBars.js","sourceRoot":"","sources":["../../src/viz/BiasVarianceBars.tsx"],"names":[],"mappings":"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"}
|
package/dist/viz/BoxPlot.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export interface BoxPlotProps {
|
|
|
12
12
|
padding?: PlotPadding;
|
|
13
13
|
yLabel?: string;
|
|
14
14
|
title?: string;
|
|
15
|
+
/** Faithful host-provided text alternative; defaults to a data summary. */
|
|
16
|
+
description?: string;
|
|
15
17
|
className?: string;
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
@@ -20,5 +22,5 @@ export interface BoxPlotProps {
|
|
|
20
22
|
* a median line, whiskers over the min→max span, and dots for 1.5·IQR outliers.
|
|
21
23
|
* Pure inline SVG; hosts pass grouped raw values.
|
|
22
24
|
*/
|
|
23
|
-
export declare function BoxPlot({ groups, width, height, padding, yLabel, title, className, }: BoxPlotProps): import("react").JSX.Element;
|
|
25
|
+
export declare function BoxPlot({ groups, width, height, padding, yLabel, title, description, className, }: BoxPlotProps): import("react").JSX.Element;
|
|
24
26
|
//# sourceMappingURL=BoxPlot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoxPlot.d.ts","sourceRoot":"","sources":["../../src/viz/BoxPlot.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BoxPlot.d.ts","sourceRoot":"","sources":["../../src/viz/BoxPlot.tsx"],"names":[],"mappings":"AAIA,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AAGvB,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EACtB,MAAM,EACN,KAAW,EACX,MAAY,EACZ,OAAO,EACP,MAAgB,EAChB,KAA4B,EAC5B,WAAW,EACX,SAAS,GACV,EAAE,YAAY,+BAiKd"}
|
package/dist/viz/BoxPlot.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
2
3
|
import { cx } from "./_cx.js";
|
|
4
|
+
import { countLabel, summaryNumber } from "./description.js";
|
|
3
5
|
import { buildFrame, fiveNumberSummary, makeScale, niceExtent, round, ticks, } from "./geometry.js";
|
|
4
6
|
import { categoricalColor } from "./theme.js";
|
|
5
7
|
function fmt(value) {
|
|
@@ -17,7 +19,8 @@ function fmt(value) {
|
|
|
17
19
|
* a median line, whiskers over the min→max span, and dots for 1.5·IQR outliers.
|
|
18
20
|
* Pure inline SVG; hosts pass grouped raw values.
|
|
19
21
|
*/
|
|
20
|
-
export function BoxPlot({ groups, width = 420, height = 260, padding, yLabel = "Score", title = "Score distribution", className, }) {
|
|
22
|
+
export function BoxPlot({ groups, width = 420, height = 260, padding, yLabel = "Score", title = "Score distribution", description, className, }) {
|
|
23
|
+
const descriptionId = useId();
|
|
21
24
|
const frame = buildFrame(width, height, padding);
|
|
22
25
|
const { top, left } = frame.padding;
|
|
23
26
|
const bottom = top + frame.innerHeight;
|
|
@@ -28,7 +31,17 @@ export function BoxPlot({ groups, width = 420, height = 260, padding, yLabel = "
|
|
|
28
31
|
const yTicks = ticks(yDomain, 5);
|
|
29
32
|
const slotW = groups.length > 0 ? frame.innerWidth / groups.length : frame.innerWidth;
|
|
30
33
|
const boxHalf = Math.min(slotW * 0.28, 26);
|
|
31
|
-
|
|
34
|
+
const groupSummaries = groups.flatMap((group) => {
|
|
35
|
+
const validCount = group.values.filter((value) => Number.isFinite(value)).length;
|
|
36
|
+
if (validCount === 0)
|
|
37
|
+
return [];
|
|
38
|
+
const stats = fiveNumberSummary(group.values);
|
|
39
|
+
return [`${group.label}: ${countLabel(validCount, "value")}, median ${summaryNumber(stats.median)}, range ${summaryNumber(stats.min)} to ${summaryNumber(stats.max)}`];
|
|
40
|
+
});
|
|
41
|
+
const summary = description?.trim() || (groupSummaries.length === 0
|
|
42
|
+
? "No finite grouped scores."
|
|
43
|
+
: `${countLabel(groupSummaries.length, "group")}; ${groupSummaries.join("; ")}.`);
|
|
44
|
+
return (_jsxs("svg", { className: cx("n4viz", "n4viz-boxplot", className), viewBox: `0 0 ${width} ${height}`, role: "img", "aria-label": title, "aria-describedby": descriptionId, preserveAspectRatio: "xMidYMid meet", children: [_jsx("title", { children: title }), _jsx("desc", { id: descriptionId, children: summary }), yTicks.map((t) => (_jsx("line", { className: "n4viz-grid", x1: left, x2: right, y1: round(yScale(t)), y2: round(yScale(t)) }, `gy-${t}`))), groups.map((group, i) => {
|
|
32
45
|
const center = left + (i + 0.5) * slotW;
|
|
33
46
|
const summary = fiveNumberSummary(group.values);
|
|
34
47
|
const color = group.color ?? categoricalColor(i);
|
package/dist/viz/BoxPlot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoxPlot.js","sourceRoot":"","sources":["../../src/viz/BoxPlot.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,KAAK,EACL,KAAK,GAEN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"BoxPlot.js","sourceRoot":"","sources":["../../src/viz/BoxPlot.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
2
|
import { type PlotPadding } from "./geometry.js";
|
|
3
3
|
import type { ConformalPredictionRow } from "../conformal/result.js";
|
|
4
4
|
/** One nested prediction interval at a nominal coverage level. */
|
|
@@ -38,6 +38,8 @@ export interface ConformalIntervalStripProps {
|
|
|
38
38
|
/** Sequential ramp (pale → dark) for widest → narrowest nested band. */
|
|
39
39
|
bandStops?: readonly string[];
|
|
40
40
|
title?: string;
|
|
41
|
+
/** Faithful host-provided text alternative; defaults to a data summary. */
|
|
42
|
+
description?: string;
|
|
41
43
|
yLabel?: string;
|
|
42
44
|
xLabel?: string;
|
|
43
45
|
className?: string;
|
|
@@ -62,5 +64,5 @@ export declare function conformalStripSamplesFromRows(rows: readonly ConformalPr
|
|
|
62
64
|
* uncertainty read together. Pure inline SVG; hosts pass already-shaped samples
|
|
63
65
|
* (adapt `conformal` rows with {@link conformalStripSamplesFromRows}).
|
|
64
66
|
*/
|
|
65
|
-
export declare function ConformalIntervalStrip({ samples, width, height, padding, sort, targetCoverage, unit, maxSamples, coveredColor, missedColor, predictionColor, bandStops, title, yLabel, xLabel, className, children, }: ConformalIntervalStripProps): import("react").JSX.Element;
|
|
67
|
+
export declare function ConformalIntervalStrip({ samples, width, height, padding, sort, targetCoverage, unit, maxSamples, coveredColor, missedColor, predictionColor, bandStops, title, description, yLabel, xLabel, className, children, }: ConformalIntervalStripProps): import("react").JSX.Element;
|
|
66
68
|
//# sourceMappingURL=ConformalIntervalStrip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConformalIntervalStrip.d.ts","sourceRoot":"","sources":["../../src/viz/ConformalIntervalStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ConformalIntervalStrip.d.ts","sourceRoot":"","sources":["../../src/viz/ConformalIntervalStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9C,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oFAAoF;AACpF,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IAChC,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,OAAO,CAAC;IACxC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,kEAAmE,CAAC;AAMrG,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,GAAE,SAAS,MAAM,EAAyB,GAAG,MAAM,CAEhH;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,SAAS,sBAAsB,EAAE,EACvC,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAC/C,oBAAoB,EAAE,CAOxB;AAuCD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,KAAW,EACX,MAAY,EACZ,OAAO,EACP,IAAc,EACd,cAAqB,EACrB,IAAI,EACJ,UAAgB,EAChB,YAA4B,EAC5B,WAA0B,EAC1B,eAAkC,EAClC,SAAgC,EAChC,KAAwC,EACxC,WAAW,EACX,MAAM,EACN,MAAM,EACN,SAAS,EACT,QAAQ,GACT,EAAE,2BAA2B,+BA8O7B"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
2
3
|
import { cx } from "./_cx.js";
|
|
4
|
+
import { countLabel, summaryNumber } from "./description.js";
|
|
3
5
|
import { buildFrame, makeScale, niceExtent, round, ticks, } from "./geometry.js";
|
|
4
6
|
import { N4_VIZ_COLORS, rampAt } from "./theme.js";
|
|
5
7
|
/** Sequential teal ramp: widest coverage (least certain area) is palest. */
|
|
@@ -37,6 +39,10 @@ function fmtCoverage(coverage) {
|
|
|
37
39
|
const percent = coverage * 100;
|
|
38
40
|
return `${Number.isInteger(percent) ? percent.toFixed(0) : percent.toFixed(1)}%`;
|
|
39
41
|
}
|
|
42
|
+
function validBand(band) {
|
|
43
|
+
return Number.isFinite(band.coverage) && band.coverage >= 0 && band.coverage <= 1
|
|
44
|
+
&& Number.isFinite(band.lower) && Number.isFinite(band.upper) && band.lower <= band.upper;
|
|
45
|
+
}
|
|
40
46
|
function sampleWidth(sample, coverage) {
|
|
41
47
|
const band = sample.bands.find((candidate) => candidate.coverage === coverage) ?? widestBand(sample);
|
|
42
48
|
return band ? band.upper - band.lower : Number.POSITIVE_INFINITY;
|
|
@@ -66,13 +72,15 @@ function isCovered(sample, coverage) {
|
|
|
66
72
|
* uncertainty read together. Pure inline SVG; hosts pass already-shaped samples
|
|
67
73
|
* (adapt `conformal` rows with {@link conformalStripSamplesFromRows}).
|
|
68
74
|
*/
|
|
69
|
-
export function ConformalIntervalStrip({ samples, width = 640, height = 340, padding, sort = "index", targetCoverage = null, unit, maxSamples = 400, coveredColor = COVERED_COLOR, missedColor = MISSED_COLOR, predictionColor = PREDICTION_COLOR, bandStops = CONFORMAL_BAND_STOPS, title = "Conformal prediction intervals", yLabel, xLabel, className, children, }) {
|
|
75
|
+
export function ConformalIntervalStrip({ samples, width = 640, height = 340, padding, sort = "index", targetCoverage = null, unit, maxSamples = 400, coveredColor = COVERED_COLOR, missedColor = MISSED_COLOR, predictionColor = PREDICTION_COLOR, bandStops = CONFORMAL_BAND_STOPS, title = "Conformal prediction intervals", description, yLabel, xLabel, className, children, }) {
|
|
76
|
+
const descriptionId = useId();
|
|
70
77
|
const frame = buildFrame(width, height, padding ?? { top: 58, right: 18, bottom: 38, left: 50 });
|
|
71
78
|
const { top, left } = frame.padding;
|
|
72
79
|
const bottom = top + frame.innerHeight;
|
|
73
80
|
const right = left + frame.innerWidth;
|
|
74
|
-
const valid = samples
|
|
75
|
-
|
|
81
|
+
const valid = samples
|
|
82
|
+
.map((sample) => ({ ...sample, bands: sample.bands.filter(validBand) }))
|
|
83
|
+
.filter((sample) => Number.isFinite(sample.prediction) && sample.bands.length > 0);
|
|
76
84
|
const coverages = [...new Set(valid.flatMap((sample) => sample.bands.map((band) => band.coverage)))]
|
|
77
85
|
.filter((coverage) => Number.isFinite(coverage))
|
|
78
86
|
.sort((leftCoverage, rightCoverage) => rightCoverage - leftCoverage);
|
|
@@ -124,8 +132,20 @@ export function ConformalIntervalStrip({ samples, width = 640, height = 340, pad
|
|
|
124
132
|
}
|
|
125
133
|
const observed = evaluated > 0 ? covered / evaluated : null;
|
|
126
134
|
const hasActuals = evaluated > 0;
|
|
135
|
+
const hasKnownActuals = drawn.some((sample) => sample.actual != null && Number.isFinite(sample.actual));
|
|
127
136
|
const axisLabelY = yLabel ?? (unit ? `Value (${unit})` : "Value");
|
|
128
137
|
const axisLabelX = xLabel ?? `Samples (n = ${valid.length})`;
|
|
138
|
+
const summary = description?.trim() || (valid.length === 0
|
|
139
|
+
? "No valid prediction intervals."
|
|
140
|
+
: [
|
|
141
|
+
`${countLabel(valid.length, "valid prediction")}; ${drawn.length} shown${truncated ? `, ${truncated} omitted` : ""}`,
|
|
142
|
+
...(Number.isFinite(target) ? [`target interval ${fmtCoverage(target)}`] : []),
|
|
143
|
+
...(observed != null
|
|
144
|
+
? [`observed coverage ${summaryNumber(observed * 100)}% (${covered} of ${evaluated} known actual values)`]
|
|
145
|
+
: [hasKnownActuals
|
|
146
|
+
? "observed coverage unavailable without evaluable target intervals"
|
|
147
|
+
: "observed coverage unavailable without known actual values"]),
|
|
148
|
+
].join("; ") + ".");
|
|
129
149
|
// ---- SVG legend (deterministic mono-width slots) ----
|
|
130
150
|
const legendItems = [
|
|
131
151
|
...coverages.map((coverage) => ({ kind: "band", color: shadeOf(coverage), label: fmtCoverage(coverage) })),
|
|
@@ -136,7 +156,7 @@ export function ConformalIntervalStrip({ samples, width = 640, height = 340, pad
|
|
|
136
156
|
}
|
|
137
157
|
let legendCursor = left;
|
|
138
158
|
const legendY = top - 16;
|
|
139
|
-
return (_jsxs("svg", { className: cx("n4viz", "n4viz-conformal-strip", className), viewBox: `0 0 ${width} ${height}`, role: "img", "aria-label": title, preserveAspectRatio: "xMidYMid meet", children: [_jsx("title", { children: title }), _jsx("text", { className: "n4viz-conf-title", x: left, y: top - 34, children: title }), legendItems.map((item, index) => {
|
|
159
|
+
return (_jsxs("svg", { className: cx("n4viz", "n4viz-conformal-strip", className), viewBox: `0 0 ${width} ${height}`, role: "img", "aria-label": title, "aria-describedby": descriptionId, preserveAspectRatio: "xMidYMid meet", children: [_jsx("title", { children: title }), _jsx("desc", { id: descriptionId, children: summary }), _jsx("text", { className: "n4viz-conf-title", x: left, y: top - 34, children: title }), legendItems.map((item, index) => {
|
|
140
160
|
const swatchX = legendCursor;
|
|
141
161
|
const textX = swatchX + 15;
|
|
142
162
|
const advance = 15 + item.label.length * 6.2 + 16;
|
|
@@ -145,7 +165,7 @@ export function ConformalIntervalStrip({ samples, width = 640, height = 340, pad
|
|
|
145
165
|
}), observed != null ? (_jsx("text", { className: "n4viz-conf-readout", x: right, y: top - 34, textAnchor: "end", children: `target ${fmtCoverage(target)} · obs ${fmtCoverage(observed)} (${covered}/${evaluated})` })) : Number.isFinite(target) ? (_jsx("text", { className: "n4viz-conf-readout", x: right, y: top - 34, textAnchor: "end", children: `target ${fmtCoverage(target)}` })) : null, yTicks.map((tick) => (_jsx("line", { className: "n4viz-grid", x1: left, x2: right, y1: round(yScale(tick)), y2: round(yScale(tick)) }, `grid-${tick}`))), drawn.map((sample, index) => {
|
|
146
166
|
const xc = left + (index + 0.5) * slot;
|
|
147
167
|
const bands = [...sample.bands]
|
|
148
|
-
.filter(
|
|
168
|
+
.filter(validBand)
|
|
149
169
|
.sort((a, b) => b.coverage - a.coverage);
|
|
150
170
|
const state = isCovered(sample, target);
|
|
151
171
|
return (_jsxs("g", { className: "n4viz-conf-col", children: [bands.map((band) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConformalIntervalStrip.js","sourceRoot":"","sources":["../../src/viz/ConformalIntervalStrip.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConformalIntervalStrip.js","sourceRoot":"","sources":["../../src/viz/ConformalIntervalStrip.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ export interface ConfusionMatrixProps {
|
|
|
13
13
|
xLabel?: string;
|
|
14
14
|
yLabel?: string;
|
|
15
15
|
title?: string;
|
|
16
|
+
/** Faithful host-provided text alternative; defaults to a data summary. */
|
|
17
|
+
description?: string;
|
|
16
18
|
className?: string;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
@@ -20,5 +22,5 @@ export interface ConfusionMatrixProps {
|
|
|
20
22
|
* amber off-diagonal) — the Studio Inspector / Web results classification view.
|
|
21
23
|
* Pure inline SVG; hosts pass labels + a counts matrix.
|
|
22
24
|
*/
|
|
23
|
-
export declare function ConfusionMatrix({ labels, matrix, normalize, width, height, cellColor, showCounts, xLabel, yLabel, title, className, }: ConfusionMatrixProps): import("react").JSX.Element;
|
|
25
|
+
export declare function ConfusionMatrix({ labels, matrix, normalize, width, height, cellColor, showCounts, xLabel, yLabel, title, description, className, }: ConfusionMatrixProps): import("react").JSX.Element;
|
|
24
26
|
//# sourceMappingURL=ConfusionMatrix.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfusionMatrix.d.ts","sourceRoot":"","sources":["../../src/viz/ConfusionMatrix.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConfusionMatrix.d.ts","sourceRoot":"","sources":["../../src/viz/ConfusionMatrix.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,iDAAiD;IACjD,MAAM,EAAE,aAAa,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACzC,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,MAAM,CAAC;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,MAAM,EACN,SAAiB,EACjB,KAAW,EACX,MAAY,EACZ,SAA4B,EAC5B,UAAiB,EACjB,MAAoB,EACpB,MAAiB,EACjB,KAA0B,EAC1B,WAAW,EACX,SAAS,GACV,EAAE,oBAAoB,+BAsHtB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
2
3
|
import { cx } from "./_cx.js";
|
|
4
|
+
import { countLabel, summaryNumber } from "./description.js";
|
|
3
5
|
import { round } from "./geometry.js";
|
|
4
6
|
import { N4_VIZ_COLORS } from "./theme.js";
|
|
5
7
|
function mix(hex, intensity) {
|
|
@@ -14,7 +16,8 @@ function defaultCellColor(intensity, isDiagonal) {
|
|
|
14
16
|
* amber off-diagonal) — the Studio Inspector / Web results classification view.
|
|
15
17
|
* Pure inline SVG; hosts pass labels + a counts matrix.
|
|
16
18
|
*/
|
|
17
|
-
export function ConfusionMatrix({ labels, matrix, normalize = false, width = 320, height = 320, cellColor = defaultCellColor, showCounts = true, xLabel = "Predicted", yLabel = "Actual", title = "Confusion matrix", className, }) {
|
|
19
|
+
export function ConfusionMatrix({ labels, matrix, normalize = false, width = 320, height = 320, cellColor = defaultCellColor, showCounts = true, xLabel = "Predicted", yLabel = "Actual", title = "Confusion matrix", description, className, }) {
|
|
20
|
+
const descriptionId = useId();
|
|
18
21
|
const n = labels.length;
|
|
19
22
|
const padLeft = 46;
|
|
20
23
|
const padTop = 30;
|
|
@@ -24,16 +27,34 @@ export function ConfusionMatrix({ labels, matrix, normalize = false, width = 320
|
|
|
24
27
|
const gridH = Math.max(0, height - padTop - padBottom);
|
|
25
28
|
const cellW = n > 0 ? gridW / n : gridW;
|
|
26
29
|
const cellH = n > 0 ? gridH / n : gridH;
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
const counts = labels.map((_, row) => labels.map((__, col) => {
|
|
31
|
+
const value = matrix.length === 0 ? 0 : matrix[row]?.[col];
|
|
32
|
+
return value != null && Number.isFinite(value) && value >= 0 ? value : null;
|
|
33
|
+
}));
|
|
34
|
+
const globalMax = counts.flat().reduce((max, value) => Math.max(max, value ?? 0), 1);
|
|
35
|
+
const classTotals = counts.map((row) => row.every((value) => value != null)
|
|
36
|
+
? row.reduce((sum, value) => sum + value, 0) : Number.NaN);
|
|
37
|
+
const rowTotals = classTotals.map((total) => Number.isFinite(total) ? Math.max(1, total) : null);
|
|
38
|
+
const total = classTotals.reduce((sum, value) => sum + value, 0);
|
|
39
|
+
const correct = labels.reduce((sum, _, index) => sum + (counts[index]?.[index] ?? Number.NaN), 0);
|
|
40
|
+
const unavailable = counts.flat().filter((value) => value == null).length;
|
|
41
|
+
const summary = description?.trim() || (unavailable || !Number.isFinite(total)
|
|
42
|
+
? `${countLabel(n, "class", "classes")}; classification counts unavailable${unavailable ? ` (${countLabel(unavailable, "unavailable cell")})` : ""}; accuracy unavailable.`
|
|
43
|
+
: total === 0
|
|
44
|
+
? `${countLabel(n, "class", "classes")}; no classified observations.`
|
|
45
|
+
: [
|
|
46
|
+
`${countLabel(n, "class", "classes")} and ${countLabel(total, "classified observation")}`,
|
|
47
|
+
`${summaryNumber(correct)} correct (${summaryNumber((correct / total) * 100)}%)`,
|
|
48
|
+
...labels.map((label, index) => `${label}: ${summaryNumber(counts[index]?.[index] ?? 0)} of ${summaryNumber(classTotals[index] ?? 0)} correct`),
|
|
49
|
+
].join("; ") + ".");
|
|
50
|
+
return (_jsxs("svg", { className: cx("n4viz", "n4viz-confusion", className), viewBox: `0 0 ${width} ${height}`, role: "img", "aria-label": title, "aria-describedby": descriptionId, preserveAspectRatio: "xMidYMid meet", children: [_jsx("title", { children: title }), _jsx("desc", { id: descriptionId, children: summary }), labels.map((_, trueIdx) => labels.map((__, predIdx) => {
|
|
51
|
+
const value = counts[trueIdx]?.[predIdx] ?? null;
|
|
31
52
|
const denom = normalize ? (rowTotals[trueIdx] ?? 1) : globalMax;
|
|
32
|
-
const intensity =
|
|
53
|
+
const intensity = value != null && (!normalize || rowTotals[trueIdx] != null) ? value / denom : null;
|
|
33
54
|
const x = padLeft + predIdx * cellW;
|
|
34
55
|
const y = padTop + trueIdx * cellH;
|
|
35
56
|
const isDiagonal = trueIdx === predIdx;
|
|
36
|
-
return (_jsxs("g", { children: [_jsx("rect", { className: "n4viz-cell", x: round(x + 1), y: round(y + 1), width: round(cellW - 2), height: round(cellH - 2), rx: 4, fill: cellColor(intensity, isDiagonal), stroke: isDiagonal ? N4_VIZ_COLORS.teal : "transparent", strokeOpacity: 0.5 }), showCounts ? (_jsx("text", { className: cx("n4viz-cell-value", intensity > 0.55 ? "n4viz-cell-value-strong" : undefined), x: round(x + cellW / 2), y: round(y + cellH / 2 + 4), textAnchor: "middle", children:
|
|
57
|
+
return (_jsxs("g", { children: [_jsx("rect", { className: "n4viz-cell", x: round(x + 1), y: round(y + 1), width: round(cellW - 2), height: round(cellH - 2), rx: 4, fill: intensity == null ? "transparent" : cellColor(intensity, isDiagonal), stroke: isDiagonal ? N4_VIZ_COLORS.teal : "transparent", strokeOpacity: 0.5 }), showCounts ? (_jsx("text", { className: cx("n4viz-cell-value", intensity != null && intensity > 0.55 ? "n4viz-cell-value-strong" : undefined), x: round(x + cellW / 2), y: round(y + cellH / 2 + 4), textAnchor: "middle", children: intensity == null ? "—" : normalize ? intensity.toFixed(2) : value })) : null] }, `c-${trueIdx}-${predIdx}`));
|
|
37
58
|
})), labels.map((label, i) => (_jsx("text", { className: "n4viz-tick", x: padLeft - 6, y: round(padTop + i * cellH + cellH / 2 + 3), textAnchor: "end", children: label }, `row-${label}-${i}`))), labels.map((label, i) => (_jsx("text", { className: "n4viz-tick", x: round(padLeft + i * cellW + cellW / 2), y: padTop - 8, textAnchor: "middle", children: label }, `col-${label}-${i}`))), _jsx("text", { className: "n4viz-axis-label", x: padLeft + gridW / 2, y: height - 4, textAnchor: "middle", children: xLabel }), _jsx("text", { className: "n4viz-axis-label", transform: `translate(12 ${padTop + gridH / 2}) rotate(-90)`, textAnchor: "middle", children: yLabel })] }));
|
|
38
59
|
}
|
|
39
60
|
//# sourceMappingURL=ConfusionMatrix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfusionMatrix.js","sourceRoot":"","sources":["../../src/viz/ConfusionMatrix.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ConfusionMatrix.js","sourceRoot":"","sources":["../../src/viz/ConfusionMatrix.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export interface FeatureImportanceBarProps {
|
|
|
14
14
|
/** Auto-sized from `topN` when omitted. */
|
|
15
15
|
height?: number;
|
|
16
16
|
title?: string;
|
|
17
|
+
/** Faithful host-provided text alternative; defaults to a data summary. */
|
|
18
|
+
description?: string;
|
|
17
19
|
className?: string;
|
|
18
20
|
}
|
|
19
21
|
/**
|
|
@@ -22,5 +24,5 @@ export interface FeatureImportanceBarProps {
|
|
|
22
24
|
* N, left-labels each bar and prints its value on the right. Pure inline SVG;
|
|
23
25
|
* hosts pass precomputed importances.
|
|
24
26
|
*/
|
|
25
|
-
export declare function FeatureImportanceBar({ items, topN, barColor, valueFormat, width, height, title, className, }: FeatureImportanceBarProps): import("react").JSX.Element;
|
|
27
|
+
export declare function FeatureImportanceBar({ items, topN, barColor, valueFormat, width, height, title, description, className, }: FeatureImportanceBarProps): import("react").JSX.Element;
|
|
26
28
|
//# sourceMappingURL=FeatureImportanceBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureImportanceBar.d.ts","sourceRoot":"","sources":["../../src/viz/FeatureImportanceBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FeatureImportanceBar.d.ts","sourceRoot":"","sources":["../../src/viz/FeatureImportanceBar.tsx"],"names":[],"mappings":"AAOA,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IACjC,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAaD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,IAAS,EACT,QAA6B,EAC7B,WAA2B,EAC3B,KAAW,EACX,MAAM,EACN,KAA4B,EAC5B,WAAW,EACX,SAAS,GACV,EAAE,yBAAyB,+BAsG3B"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
2
3
|
import { cx } from "./_cx.js";
|
|
4
|
+
import { countLabel, summaryNumber } from "./description.js";
|
|
3
5
|
import { makeScale, round, ticks } from "./geometry.js";
|
|
4
6
|
import { N4_VIZ_COLORS } from "./theme.js";
|
|
5
7
|
function defaultFormat(value) {
|
|
@@ -20,9 +22,10 @@ function truncate(label, max = 15) {
|
|
|
20
22
|
* N, left-labels each bar and prints its value on the right. Pure inline SVG;
|
|
21
23
|
* hosts pass precomputed importances.
|
|
22
24
|
*/
|
|
23
|
-
export function FeatureImportanceBar({ items, topN = 12, barColor = N4_VIZ_COLORS.teal, valueFormat = defaultFormat, width = 360, height, title = "Feature importance", className, }) {
|
|
25
|
+
export function FeatureImportanceBar({ items, topN = 12, barColor = N4_VIZ_COLORS.teal, valueFormat = defaultFormat, width = 360, height, title = "Feature importance", description, className, }) {
|
|
26
|
+
const descriptionId = useId();
|
|
24
27
|
const keep = Math.max(0, Math.trunc(topN));
|
|
25
|
-
const sorted =
|
|
28
|
+
const sorted = items.filter((item) => Number.isFinite(item.value)).sort((a, b) => b.value - a.value).slice(0, keep);
|
|
26
29
|
const resolvedHeight = height ?? Math.max(160, keep * 22 + 48);
|
|
27
30
|
const padLeft = 96;
|
|
28
31
|
const padRight = 46;
|
|
@@ -40,7 +43,11 @@ export function FeatureImportanceBar({ items, topN = 12, barColor = N4_VIZ_COLOR
|
|
|
40
43
|
const n = sorted.length;
|
|
41
44
|
const band = n > 0 ? plotHeight / n : plotHeight;
|
|
42
45
|
const barHeight = Math.min(18, Math.max(4, band - 8));
|
|
43
|
-
|
|
46
|
+
const valid = sorted.filter((item) => Number.isFinite(item.value));
|
|
47
|
+
const summary = description?.trim() || (valid.length === 0
|
|
48
|
+
? "No finite feature importance values."
|
|
49
|
+
: `${countLabel(valid.length, "shown feature")}${items.length > sorted.length ? ` of ${items.length} supplied` : ""}; ${valid.map((item) => `${item.label}: ${summaryNumber(item.value)}`).join("; ")}.`);
|
|
50
|
+
return (_jsxs("svg", { className: cx("n4viz", "n4viz-importance", className), viewBox: `0 0 ${width} ${resolvedHeight}`, role: "img", "aria-label": title, "aria-describedby": descriptionId, preserveAspectRatio: "xMidYMid meet", children: [_jsx("title", { children: title }), _jsx("desc", { id: descriptionId, children: summary }), axisTicks.map((t) => (_jsx("line", { className: "n4viz-grid", x1: round(xScale(t)), x2: round(xScale(t)), y1: plotTop, y2: plotBottom }, `grid-${t}`))), sorted.map((item, i) => {
|
|
44
51
|
const center = plotTop + band * i + band / 2;
|
|
45
52
|
const barEnd = xScale(item.value);
|
|
46
53
|
return (_jsxs("g", { children: [_jsx("text", { className: "n4viz-tick", x: plotLeft - 6, y: round(center + 3), textAnchor: "end", children: truncate(item.label) }), _jsx("rect", { className: "n4viz-bar", x: plotLeft, y: round(center - barHeight / 2), width: round(Math.max(0, barEnd - plotLeft)), height: round(barHeight), rx: 2, fill: item.color ?? barColor }), _jsx("text", { className: "n4viz-badge", x: round(barEnd + 4), y: round(center + 3), textAnchor: "start", children: valueFormat(item.value) })] }, `${item.label}-${i}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureImportanceBar.js","sourceRoot":"","sources":["../../src/viz/FeatureImportanceBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"FeatureImportanceBar.js","sourceRoot":"","sources":["../../src/viz/FeatureImportanceBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,8 @@ export interface FoldStabilityLinesProps {
|
|
|
17
17
|
padding?: PlotPadding;
|
|
18
18
|
yLabel?: string;
|
|
19
19
|
title?: string;
|
|
20
|
+
/** Faithful host-provided text alternative; defaults to a data summary. */
|
|
21
|
+
description?: string;
|
|
20
22
|
className?: string;
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
@@ -25,5 +27,5 @@ export interface FoldStabilityLinesProps {
|
|
|
25
27
|
* cross-series mean line and a shaded min/max envelope highlighting agreement.
|
|
26
28
|
* Pure inline SVG; hosts pass per-fold score arrays.
|
|
27
29
|
*/
|
|
28
|
-
export declare function FoldStabilityLines({ series, foldLabels, showMean, width, height, padding, yLabel, title, className, }: FoldStabilityLinesProps): import("react").JSX.Element;
|
|
30
|
+
export declare function FoldStabilityLines({ series, foldLabels, showMean, width, height, padding, yLabel, title, description, className, }: FoldStabilityLinesProps): import("react").JSX.Element;
|
|
29
31
|
//# sourceMappingURL=FoldStabilityLines.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FoldStabilityLines.d.ts","sourceRoot":"","sources":["../../src/viz/FoldStabilityLines.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FoldStabilityLines.d.ts","sourceRoot":"","sources":["../../src/viz/FoldStabilityLines.tsx"],"names":[],"mappings":"AAIA,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AAGvB,mFAAmF;AACnF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,uEAAuE;IACvE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,UAAU,EACV,QAAe,EACf,KAAW,EACX,MAAY,EACZ,OAAO,EACP,MAAgB,EAChB,KAAwB,EACxB,WAAW,EACX,SAAS,GACV,EAAE,uBAAuB,+BAwIzB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
2
3
|
import { cx } from "./_cx.js";
|
|
4
|
+
import { countLabel, rangeText, summaryNumber } from "./description.js";
|
|
3
5
|
import { bandPath, buildFrame, linePath, makeScale, mean, niceExtent, round, ticks, } from "./geometry.js";
|
|
4
6
|
import { categoricalColor, N4_VIZ_COLORS } from "./theme.js";
|
|
5
7
|
function fmt(value) {
|
|
@@ -17,7 +19,8 @@ function fmt(value) {
|
|
|
17
19
|
* cross-series mean line and a shaded min/max envelope highlighting agreement.
|
|
18
20
|
* Pure inline SVG; hosts pass per-fold score arrays.
|
|
19
21
|
*/
|
|
20
|
-
export function FoldStabilityLines({ series, foldLabels, showMean = true, width = 460, height = 260, padding, yLabel = "Score", title = "Fold stability", className, }) {
|
|
22
|
+
export function FoldStabilityLines({ series, foldLabels, showMean = true, width = 460, height = 260, padding, yLabel = "Score", title = "Fold stability", description, className, }) {
|
|
23
|
+
const descriptionId = useId();
|
|
21
24
|
const frame = buildFrame(width, height, padding);
|
|
22
25
|
const { top, left } = frame.padding;
|
|
23
26
|
const bottom = top + frame.innerHeight;
|
|
@@ -43,7 +46,16 @@ export function FoldStabilityLines({ series, foldLabels, showMean = true, width
|
|
|
43
46
|
const meanPoints = foldStats.map((f) => [xAt(f.i), yScale(f.mean)]);
|
|
44
47
|
const upperPoints = foldStats.map((f) => [xAt(f.i), yScale(f.max)]);
|
|
45
48
|
const lowerPoints = foldStats.map((f) => [xAt(f.i), yScale(f.min)]);
|
|
46
|
-
|
|
49
|
+
const seriesSummaries = series.flatMap((item) => {
|
|
50
|
+
const scores = item.scores.filter((value) => Number.isFinite(value));
|
|
51
|
+
return scores.length
|
|
52
|
+
? [`${item.label ?? item.id}: ${countLabel(scores.length, "score")}, mean ${summaryNumber(mean(scores))}, range ${rangeText(scores)}`]
|
|
53
|
+
: [];
|
|
54
|
+
});
|
|
55
|
+
const summary = description?.trim() || (seriesSummaries.length === 0
|
|
56
|
+
? "No finite fold scores."
|
|
57
|
+
: `${countLabel(seriesSummaries.length, "score series", "score series")} across ${countLabel(foldCount, "fold")}; ${seriesSummaries.join("; ")}.`);
|
|
58
|
+
return (_jsxs("svg", { className: cx("n4viz", "n4viz-foldstability", className), viewBox: `0 0 ${width} ${height}`, role: "img", "aria-label": title, "aria-describedby": descriptionId, preserveAspectRatio: "xMidYMid meet", children: [_jsx("title", { children: title }), _jsx("desc", { id: descriptionId, children: summary }), yTicks.map((t) => (_jsx("line", { className: "n4viz-grid", x1: left, x2: right, y1: round(yScale(t)), y2: round(yScale(t)) }, `gy-${t}`))), showEnvelope ? (_jsx("path", { className: "n4viz-band", d: bandPath(upperPoints, lowerPoints), fill: N4_VIZ_COLORS.teal, fillOpacity: 0.12, stroke: "none" })) : null, series.map((s, i) => {
|
|
47
59
|
const points = [];
|
|
48
60
|
s.scores.forEach((v, fi) => {
|
|
49
61
|
if (Number.isFinite(v))
|