prographs 0.12.0 → 0.13.0
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/CHANGELOG.md +9 -1
- package/README.md +6 -4
- package/dist/AutoGraph-PDPEAIXL.cjs +145 -0
- package/dist/GraphType.js +19 -0
- package/dist/autograph/chartIndex.js +521 -0
- package/dist/autograph/chartModules.js +2 -1
- package/dist/autograph/index.cjs +98 -93
- package/dist/catalog-DI4XZ46L.cjs +142 -0
- package/dist/catalog.js +2 -1
- package/dist/charts/biologycharts/BiologySamples.js +59 -0
- package/dist/charts/biologycharts/PunnettSquare.js +342 -0
- package/dist/charts/biologycharts/biologyEnums.js +22 -1
- package/dist/charts/biologycharts/index.js +5 -3
- package/dist/charts/doecharts/DoeSamples.js +78 -0
- package/dist/charts/doecharts/SipocDiagram.js +453 -0
- package/dist/charts/doecharts/index.js +4 -2
- package/dist/charts/fieldcharts/SpeciesAccumulationCurve.js +350 -0
- package/dist/charts/fieldcharts/fieldEnums.js +8 -1
- package/dist/charts/fieldcharts/index.js +5 -3
- package/dist/charts/signals/AntennaPatternChart.js +492 -0
- package/dist/charts/signals/SignalSamples.js +17 -0
- package/dist/charts/signals/index.js +5 -3
- package/dist/charts/softwarediagrams/ComponentDiagram.js +504 -0
- package/dist/charts/softwarediagrams/DeploymentDiagram.js +419 -0
- package/dist/charts/softwarediagrams/SoftwareSamples.js +283 -1
- package/dist/charts/softwarediagrams/index.js +7 -3
- package/dist/charts/softwarediagrams/softwareEnums.js +45 -1
- package/dist/charts/sportscharts/PowerDurationCurve.js +301 -0
- package/dist/charts/sportscharts/SportsSamples.js +102 -0
- package/dist/charts/sportscharts/TrainingLoadChart.js +325 -0
- package/dist/charts/sportscharts/index.js +6 -2
- package/dist/charts/strategycharts/BassDiffusionChart.js +362 -0
- package/dist/charts/strategycharts/BassModel.js +96 -0
- package/dist/charts/strategycharts/BurnRunwayChart.js +284 -0
- package/dist/charts/strategycharts/CapTableChart.js +366 -0
- package/dist/charts/strategycharts/KanbanBoard.js +324 -0
- package/dist/charts/strategycharts/OkrTree.js +339 -0
- package/dist/charts/strategycharts/StrategyPane.js +27 -0
- package/dist/charts/strategycharts/StrategySamples.js +251 -0
- package/dist/charts/strategycharts/index.js +15 -3
- package/dist/charts/threefields/BsfcMap3DChart.js +231 -0
- package/dist/charts/threefields/CompressorMap3DChart.js +217 -0
- package/dist/charts/threefields/FieldGrid.js +50 -0
- package/dist/charts/threefields/LossLandscape3DChart.js +201 -0
- package/dist/charts/threefields/MapSheet.js +77 -0
- package/dist/charts/threefields/TerrainRoute3DChart.js +201 -0
- package/dist/charts/threefields/TerrainRouteMath.js +40 -0
- package/dist/charts/threefields/ThreeFieldBase.js +117 -0
- package/dist/charts/threefields/ThreeFieldsSamples.js +80 -0
- package/dist/charts/threefields/WaferMap3DChart.js +218 -0
- package/dist/charts/threefields/index.js +19 -0
- package/dist/charts/threesurfaces/index.js +2 -2
- package/dist/charts/tradingcharts/KeltnerChannelChart.js +171 -0
- package/dist/charts/tradingcharts/TradingMath.js +20 -0
- package/dist/charts/tradingcharts/index.js +4 -2
- package/dist/{chunk-ZL6XDXMK.cjs → chunk-26PSLEP4.cjs} +8 -8
- package/dist/{chunk-W3US6EFP.cjs → chunk-2BO5DZUP.cjs} +12 -12
- package/dist/{chunk-5DP7OUSE.cjs → chunk-2GG5YYSC.cjs} +6 -6
- package/dist/{chunk-7FG4JSVO.cjs → chunk-2GL2VNJU.cjs} +253 -33
- package/dist/{chunk-LCWMRCLF.cjs → chunk-2PYOI7OY.cjs} +21 -21
- package/dist/{chunk-JFWJAEBD.cjs → chunk-3U4MCSKI.cjs} +4 -4
- package/dist/{chunk-CUPLHZRR.cjs → chunk-3ZMM3FSK.cjs} +4 -4
- package/dist/{chunk-L2AV62DP.cjs → chunk-4767WQJ7.cjs} +6 -6
- package/dist/{chunk-DA2EYIIP.cjs → chunk-4E7FSSBF.cjs} +1210 -168
- package/dist/{chunk-VS5LQEZB.cjs → chunk-526STI2S.cjs} +5 -5
- package/dist/{chunk-RXIMEK6C.cjs → chunk-55767YPI.cjs} +20 -20
- package/dist/{chunk-JXLSKIUV.cjs → chunk-5FBQOMMT.cjs} +26 -26
- package/dist/{chunk-27PZV5BR.cjs → chunk-5N4Z7MTS.cjs} +4 -4
- package/dist/{chunk-KEWCUIQA.cjs → chunk-5WEV6YWA.cjs} +22 -22
- package/dist/chunk-5XOVVC5X.cjs +3281 -0
- package/dist/{chunk-HK5J7Q2W.cjs → chunk-6HLXVWXU.cjs} +9 -9
- package/dist/{chunk-7JG47RW4.cjs → chunk-6LQT4WJ5.cjs} +25 -25
- package/dist/{chunk-OCVTI6X4.cjs → chunk-6YTWOUFD.cjs} +329 -36
- package/dist/{chunk-W7IQCAVN.cjs → chunk-7F6W6HKL.cjs} +11 -11
- package/dist/{chunk-F2DCJXDM.cjs → chunk-7L6KYU5A.cjs} +21 -21
- package/dist/{chunk-GTGR6LPR.cjs → chunk-A4GIN4FE.cjs} +17 -17
- package/dist/{chunk-B2CETSR6.cjs → chunk-A4US7SA7.cjs} +5 -5
- package/dist/{chunk-3DIF2YYW.cjs → chunk-AOXPBLPW.cjs} +10 -10
- package/dist/{chunk-7TTR4UF5.cjs → chunk-ATI45Z4M.cjs} +2 -2
- package/dist/{chunk-5BFCIX2V.cjs → chunk-CPPMO4IQ.cjs} +434 -148
- package/dist/{chunk-AYZZQ6AC.cjs → chunk-CZ5KGF6Q.cjs} +9 -9
- package/dist/{chunk-7THJ3ZBK.cjs → chunk-D4I35MCE.cjs} +2 -2
- package/dist/{chunk-MCPPFRLN.cjs → chunk-DCGAAN3Z.cjs} +2 -2
- package/dist/{chunk-VABL6CVX.cjs → chunk-DEY36N37.cjs} +21 -21
- package/dist/{chunk-RNCKGJCC.cjs → chunk-DXHXD3DK.cjs} +3 -3
- package/dist/{chunk-A56ZGMVZ.cjs → chunk-E7B45DBZ.cjs} +11 -11
- package/dist/{chunk-DOR6L4MT.cjs → chunk-EJC6EAC5.cjs} +18 -18
- package/dist/{chunk-UPGNM7MA.cjs → chunk-EULJOOMA.cjs} +11 -11
- package/dist/{chunk-G4AZL4GO.cjs → chunk-EYM6LEIF.cjs} +474 -70
- package/dist/{chunk-NJ4X6XGV.cjs → chunk-EZTYX2GH.cjs} +5 -5
- package/dist/chunk-FDD4UP73.cjs +521 -0
- package/dist/{chunk-WJ3VH2Q4.cjs → chunk-GEAIGM3J.cjs} +110 -615
- package/dist/{chunk-P3SBHF43.cjs → chunk-GRUYVXTS.cjs} +2 -2
- package/dist/{chunk-NX4Z5LMS.cjs → chunk-H3SZXND5.cjs} +5 -5
- package/dist/{chunk-EE4S4TOE.cjs → chunk-HS45TOFJ.cjs} +21 -21
- package/dist/chunk-INGOG6OV.cjs +899 -0
- package/dist/{chunk-UDKA6DGT.cjs → chunk-J3CDXZHF.cjs} +4 -4
- package/dist/{chunk-YO6G7TKI.cjs → chunk-JAU5ADEU.cjs} +11 -11
- package/dist/{chunk-22LBK4GA.cjs → chunk-JQEBSHX3.cjs} +4 -4
- package/dist/{chunk-RXX3U7VQ.cjs → chunk-KLXGLMFU.cjs} +10 -10
- package/dist/chunk-KVOX36J3.cjs +327 -0
- package/dist/chunk-L6BGNHFL.cjs +139 -0
- package/dist/{chunk-GMER35L3.cjs → chunk-L7TB7PU5.cjs} +20 -20
- package/dist/{chunk-AFXYNBL2.cjs → chunk-LBTRYEM2.cjs} +4 -4
- package/dist/{chunk-WYYCKIOD.cjs → chunk-LLULNJSP.cjs} +11 -11
- package/dist/{chunk-J27XOSLP.cjs → chunk-LSO46AFV.cjs} +8 -8
- package/dist/{chunk-5XJO45ES.cjs → chunk-LZ2KJ7ZX.cjs} +11 -11
- package/dist/chunk-M4IQ5LIZ.cjs +422 -0
- package/dist/{chunk-Y2KIUKJF.cjs → chunk-MPDHDKYZ.cjs} +11 -11
- package/dist/{chunk-4EMPKRZU.cjs → chunk-MRQ42ZJE.cjs} +3 -3
- package/dist/{chunk-EU5D2MF4.cjs → chunk-MYV4KZWP.cjs} +9 -9
- package/dist/{chunk-XD7KN4UN.cjs → chunk-MZXVLC24.cjs} +6 -6
- package/dist/{chunk-PPSONARU.cjs → chunk-NLBVDFIR.cjs} +41 -2
- package/dist/{chunk-L3PEGMGM.cjs → chunk-NY3TBZY4.cjs} +33 -33
- package/dist/{chunk-6YNYXXB6.cjs → chunk-OGVVSFAR.cjs} +3 -3
- package/dist/{chunk-MLV7QLB6.cjs → chunk-OMTQIQMN.cjs} +6 -6
- package/dist/{chunk-BEEOSNK7.cjs → chunk-PEJJ6TXJ.cjs} +15 -144
- package/dist/{chunk-SOKOWUF5.cjs → chunk-PPGWHIU7.cjs} +2 -2
- package/dist/{chunk-IELWOM2J.cjs → chunk-PPO6SDAN.cjs} +6 -6
- package/dist/{chunk-6JTZZCSL.cjs → chunk-PUMKX5F2.cjs} +3 -3
- package/dist/{chunk-RFOXFY2U.cjs → chunk-PXBYWCNB.cjs} +190 -799
- package/dist/{chunk-3BYXOISI.cjs → chunk-Q3HB3IX6.cjs} +4 -4
- package/dist/{chunk-RXCOVONX.cjs → chunk-RBMUOIXE.cjs} +289 -34
- package/dist/{chunk-MSBNHCSE.cjs → chunk-RJHGCUUD.cjs} +6 -6
- package/dist/{chunk-I6VG7F6Z.cjs → chunk-RSONDMYW.cjs} +708 -141
- package/dist/{chunk-GZDNPHMT.cjs → chunk-SHMPFCUE.cjs} +19 -19
- package/dist/{chunk-ZIBVCOW6.cjs → chunk-SN4FCXFC.cjs} +19 -19
- package/dist/{chunk-7KM52NMN.cjs → chunk-SN5T7WYO.cjs} +2 -2
- package/dist/{chunk-7MSZR65Z.cjs → chunk-SQJZGVDR.cjs} +7 -7
- package/dist/chunk-SYABFMD7.cjs +633 -0
- package/dist/{chunk-2RRFEYFH.cjs → chunk-TICB3MAC.cjs} +16 -16
- package/dist/{chunk-AOOKHUV5.cjs → chunk-U7Z7XYR2.cjs} +5 -5
- package/dist/{chunk-JEWQAXVG.cjs → chunk-UA2THQFV.cjs} +6 -6
- package/dist/{chunk-LHZPAHU3.cjs → chunk-VIK4L2YF.cjs} +112 -521
- package/dist/{chunk-4YWMAQ4J.cjs → chunk-VM2Y6BDY.cjs} +4 -4
- package/dist/{chunk-IRRKE2ZE.cjs → chunk-VMS3KWYI.cjs} +21 -21
- package/dist/{chunk-4SLARW6F.cjs → chunk-VU5NUD46.cjs} +17 -17
- package/dist/{chunk-XHY6TVYG.cjs → chunk-VV5CVOF7.cjs} +13 -13
- package/dist/{chunk-CCIBPGPZ.cjs → chunk-VYSAWPSS.cjs} +57 -57
- package/dist/{chunk-TTNEMQ2A.cjs → chunk-W7YRWEWQ.cjs} +22 -22
- package/dist/{chunk-C7MUOGEW.cjs → chunk-X7R5SY62.cjs} +6 -6
- package/dist/{chunk-ILR5KBMB.cjs → chunk-XOK3KTSS.cjs} +6 -6
- package/dist/{chunk-2CZM2I3T.cjs → chunk-XUIX45VU.cjs} +19 -19
- package/dist/{chunk-TGRMPS3A.cjs → chunk-XWH46PVJ.cjs} +165 -43
- package/dist/{chunk-WQYXXECR.cjs → chunk-Y5XVMK3K.cjs} +6 -6
- package/dist/{chunk-AK4TX2WG.cjs → chunk-YCNKEDTG.cjs} +13 -13
- package/dist/{chunk-PJJB24DU.cjs → chunk-YEF7SE3X.cjs} +20 -20
- package/dist/{chunk-RVLV4XW6.cjs → chunk-YMTVPMU3.cjs} +22 -22
- package/dist/data/index.cjs +2 -2
- package/dist/entries/autograph-lazy.cjs +2 -2
- package/dist/entries/charts/acoustictransport.cjs +3 -3
- package/dist/entries/charts/analysischarts.cjs +3 -3
- package/dist/entries/charts/astrocharts.cjs +3 -3
- package/dist/entries/charts/bars.cjs +3 -3
- package/dist/entries/charts/bayesiancharts.cjs +3 -3
- package/dist/entries/charts/biocharts.cjs +3 -3
- package/dist/entries/charts/biologycharts.cjs +11 -3
- package/dist/entries/charts/biologycharts.d.ts +1 -1
- package/dist/entries/charts/biologycharts.js +3 -2
- package/dist/entries/charts/business.cjs +3 -3
- package/dist/entries/charts/carecharts.cjs +3 -3
- package/dist/entries/charts/chemistrycharts.cjs +3 -3
- package/dist/entries/charts/civicscharts.cjs +3 -3
- package/dist/entries/charts/clinicalcharts.cjs +3 -3
- package/dist/entries/charts/comparison.cjs +3 -3
- package/dist/entries/charts/demography.cjs +3 -3
- package/dist/entries/charts/density.cjs +3 -3
- package/dist/entries/charts/diagrams.cjs +3 -3
- package/dist/entries/charts/distribution.cjs +3 -3
- package/dist/entries/charts/doecharts.cjs +13 -3
- package/dist/entries/charts/doecharts.d.ts +1 -1
- package/dist/entries/charts/doecharts.js +2 -1
- package/dist/entries/charts/earthscience.cjs +3 -3
- package/dist/entries/charts/economicscharts.cjs +3 -3
- package/dist/entries/charts/energycharts.cjs +3 -3
- package/dist/entries/charts/engineering.cjs +3 -3
- package/dist/entries/charts/fieldcharts.cjs +7 -3
- package/dist/entries/charts/fieldcharts.d.ts +1 -1
- package/dist/entries/charts/fieldcharts.js +3 -2
- package/dist/entries/charts/financial.cjs +3 -3
- package/dist/entries/charts/flow.cjs +3 -3
- package/dist/entries/charts/frameworks.cjs +3 -3
- package/dist/entries/charts/genomics.cjs +3 -3
- package/dist/entries/charts/geoflows.cjs +3 -3
- package/dist/entries/charts/geomaps.cjs +3 -3
- package/dist/entries/charts/geosciencecharts.cjs +3 -3
- package/dist/entries/charts/hierarchy.cjs +3 -3
- package/dist/entries/charts/indicators.cjs +3 -3
- package/dist/entries/charts/inferencecharts.cjs +3 -3
- package/dist/entries/charts/layoutcharts.cjs +3 -3
- package/dist/entries/charts/lifescience.cjs +4 -4
- package/dist/entries/charts/linesareas.cjs +3 -3
- package/dist/entries/charts/logisticscharts.cjs +3 -3
- package/dist/entries/charts/machinecharts.cjs +7 -3
- package/dist/entries/charts/machinecharts.d.ts +1 -1
- package/dist/entries/charts/machinecharts.js +2 -1
- package/dist/entries/charts/massive.cjs +3 -3
- package/dist/entries/charts/mathematical.cjs +3 -3
- package/dist/entries/charts/matrix.cjs +3 -3
- package/dist/entries/charts/medicalcharts.cjs +4 -4
- package/dist/entries/charts/mlcharts.cjs +4 -4
- package/dist/entries/charts/modelcharts.cjs +6 -5
- package/dist/entries/charts/multivariate.cjs +3 -3
- package/dist/entries/charts/musiccharts.cjs +3 -3
- package/dist/entries/charts/network.cjs +3 -3
- package/dist/entries/charts/physicscharts.cjs +3 -3
- package/dist/entries/charts/pictorial.cjs +4 -4
- package/dist/entries/charts/portfoliocharts.cjs +3 -3
- package/dist/entries/charts/productcharts.cjs +3 -3
- package/dist/entries/charts/proportion.cjs +3 -3
- package/dist/entries/charts/qualitycharts.cjs +3 -3
- package/dist/entries/charts/radial.cjs +3 -3
- package/dist/entries/charts/reliabilitycharts.cjs +5 -3
- package/dist/entries/charts/scatter.cjs +3 -3
- package/dist/entries/charts/scientific.cjs +3 -3
- package/dist/entries/charts/seriescharts.cjs +3 -3
- package/dist/entries/charts/signals.cjs +7 -3
- package/dist/entries/charts/signals.d.ts +1 -1
- package/dist/entries/charts/signals.js +2 -1
- package/dist/entries/charts/softwarediagrams.cjs +21 -3
- package/dist/entries/charts/softwarediagrams.d.ts +1 -1
- package/dist/entries/charts/softwarediagrams.js +4 -2
- package/dist/entries/charts/sportscharts.cjs +13 -3
- package/dist/entries/charts/sportscharts.d.ts +1 -1
- package/dist/entries/charts/sportscharts.js +3 -1
- package/dist/entries/charts/statistics.cjs +6 -6
- package/dist/entries/charts/strategycharts.cjs +30 -3
- package/dist/entries/charts/strategycharts.d.ts +1 -1
- package/dist/entries/charts/strategycharts.js +6 -1
- package/dist/entries/charts/structure.cjs +3 -3
- package/dist/entries/charts/surveycharts.cjs +3 -3
- package/dist/entries/charts/systemscharts.cjs +3 -3
- package/dist/entries/charts/textcharts.cjs +5 -5
- package/dist/entries/charts/thematicmaps.cjs +4 -4
- package/dist/entries/charts/threebars.cjs +3 -3
- package/dist/entries/charts/threefields.cjs +53 -0
- package/dist/entries/charts/threefields.d.ts +1 -0
- package/dist/entries/charts/threefields.js +6 -0
- package/dist/entries/charts/threeglobe.cjs +3 -3
- package/dist/entries/charts/threenetwork.cjs +3 -3
- package/dist/entries/charts/threestrata.cjs +3 -3
- package/dist/entries/charts/threesurfaces.cjs +7 -3
- package/dist/entries/charts/threesurfaces.d.ts +1 -1
- package/dist/entries/charts/threesurfaces.js +2 -1
- package/dist/entries/charts/threevolume.cjs +4 -4
- package/dist/entries/charts/timeline.cjs +3 -3
- package/dist/entries/charts/tracecharts.cjs +3 -3
- package/dist/entries/charts/trackscharts.cjs +3 -3
- package/dist/entries/charts/tradingcharts.cjs +6 -4
- package/dist/entries/charts/tradingcharts.d.ts +1 -1
- package/dist/entries/charts/tradingcharts.js +2 -1
- package/dist/entries/three.cjs +60 -20
- package/dist/entries/three.d.ts +1 -1
- package/dist/entries/three.js +7 -1
- package/dist/index.cjs +258 -97
- package/dist/index.d.cts +1953 -10
- package/dist/index.d.ts +1953 -10
- package/dist/index.js +26 -5
- package/dist/page/index.cjs +2 -2
- package/dist/react/components.js +58 -1
- package/dist/react/index.cjs +135 -92
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.js +2 -2
- package/package.json +1 -1
- package/dist/AutoGraph-XLBJQDRB.cjs +0 -140
- package/dist/catalog-O7XGDD2H.cjs +0 -137
- package/dist/chunk-77K2HTRC.cjs +0 -3220
- package/dist/chunk-XEK47TVD.cjs +0 -323
- /package/dist/{chunk-UMEKIIHJ.cjs → chunk-LNWTC72Y.cjs} +0 -0
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkSN5T7WYOcjs = require('./chunk-SN5T7WYO.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkPPGWHIU7cjs = require('./chunk-PPGWHIU7.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkDCGAAN3Zcjs = require('./chunk-DCGAAN3Z.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
var _chunkUXFWDEP6cjs = require('./chunk-UXFWDEP6.cjs');
|
|
@@ -20,7 +20,7 @@ var _chunkAL4XQZH6cjs = require('./chunk-AL4XQZH6.cjs');
|
|
|
20
20
|
var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
24
24
|
|
|
25
25
|
// src/charts/statistics/ProcessRules.ts
|
|
26
26
|
var ProcessRuleset = /* @__PURE__ */ ((ProcessRuleset2) => {
|
|
@@ -68,7 +68,7 @@ var ProcessChartBase = (_class = class extends _chunkUXFWDEP6cjs.StatisticalChar
|
|
|
68
68
|
static __initStatic() {this.family = { family: "statistical" /* Statistical */, dimension: 2 /* Two */, shape: "table" /* Table */ }}
|
|
69
69
|
/** A stable process that drifts near the end, so breaches appear. */
|
|
70
70
|
static measurements(seed) {
|
|
71
|
-
return
|
|
71
|
+
return _chunkLNWTC72Ycjs.SampleData.distribution(seed, 125, 1).map((row, i) => ({ sample: i + 1, value: +(+row.value + (i > 92 ? 9 : 0)).toFixed(2) }));
|
|
72
72
|
}
|
|
73
73
|
statisticName() {
|
|
74
74
|
return "Value";
|
|
@@ -145,7 +145,7 @@ var AttributeControlChart = (_class2 = class extends ProcessChartBase {
|
|
|
145
145
|
...ProcessChartBase.family,
|
|
146
146
|
description: "Tracks defect counts or rates against binomial or Poisson control limits, for pass-fail quality data.",
|
|
147
147
|
tags: ["spc", "p chart", "np chart", "c chart", "u chart", "laney", "quality"],
|
|
148
|
-
sample: (seed) =>
|
|
148
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 48, 1).map((row, i) => ({
|
|
149
149
|
sample: i + 1,
|
|
150
150
|
defects: Math.round(+row.size / 2.4) + (i > 40 ? 5 : 0),
|
|
151
151
|
inspected: Math.round(60 + +row.x * 2)
|
|
@@ -299,7 +299,7 @@ var AutocorrelationPlot = (_class4 = class extends CorrelogramBase {
|
|
|
299
299
|
...CorrelogramBase.family,
|
|
300
300
|
description: "Shows how strongly a time series correlates with its own past at each lag, to expose trend and seasonality.",
|
|
301
301
|
tags: ["acf", "correlogram", "time series", "arima"],
|
|
302
|
-
sample: (seed) =>
|
|
302
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 150, 1),
|
|
303
303
|
variants: {
|
|
304
304
|
marks: Object.values(CorrelogramMarks),
|
|
305
305
|
difference: [0, 1, 2],
|
|
@@ -361,7 +361,7 @@ var BlandAltmanPlot = (_class5 = class extends _chunkUXFWDEP6cjs.StatisticalChar
|
|
|
361
361
|
shape: "table" /* Table */,
|
|
362
362
|
description: "Plots the difference between two measurement methods against their mean, with bias and limits of agreement.",
|
|
363
363
|
tags: ["method comparison", "agreement", "tukey mean-difference", "clinical"],
|
|
364
|
-
sample: (seed) =>
|
|
364
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 60, 3).map((row) => ({ a: row.x, b: row.y })),
|
|
365
365
|
variants: {
|
|
366
366
|
difference: Object.values(AgreementDifference),
|
|
367
367
|
reference: Object.values(AgreementReference),
|
|
@@ -403,8 +403,8 @@ var BlandAltmanPlot = (_class5 = class extends _chunkUXFWDEP6cjs.StatisticalChar
|
|
|
403
403
|
return { centre: () => centre, lower: () => lower, upper: () => upper, biasHalf, limitHalf };
|
|
404
404
|
}
|
|
405
405
|
if (limits === "regression-limits" /* Regression */ && n > 3) {
|
|
406
|
-
const xs = points.map((d) => d.at), fit = new (0,
|
|
407
|
-
const spread = new (0,
|
|
406
|
+
const xs = points.map((d) => d.at), fit = new (0, _chunkSN5T7WYOcjs.RegressionFit)(xs, values);
|
|
407
|
+
const spread = new (0, _chunkSN5T7WYOcjs.RegressionFit)(xs, fit.residuals.map((e) => Math.abs(e) * 1.2533));
|
|
408
408
|
const reach = (x) => 1.96 * Math.max(0, spread.predict(x));
|
|
409
409
|
return { centre: (x) => fit.predict(x), lower: (x) => fit.predict(x) - reach(x), upper: (x) => fit.predict(x) + reach(x), biasHalf, limitHalf };
|
|
410
410
|
}
|
|
@@ -478,7 +478,7 @@ var PredictionDistribution = /* @__PURE__ */ ((PredictionDistribution2) => {
|
|
|
478
478
|
PredictionDistribution2["Rug"] = "rug";
|
|
479
479
|
return PredictionDistribution2;
|
|
480
480
|
})(PredictionDistribution || {});
|
|
481
|
-
var CalibrationPlot = (_class6 = class extends
|
|
481
|
+
var CalibrationPlot = (_class6 = class extends _chunkDCGAAN3Zcjs.ClassifierCurveBase {
|
|
482
482
|
static __initStatic6() {this.meta = {
|
|
483
483
|
id: "calibration-plot",
|
|
484
484
|
name: "Calibration plot",
|
|
@@ -487,7 +487,7 @@ var CalibrationPlot = (_class6 = class extends _chunkMCPPFRLNcjs.ClassifierCurve
|
|
|
487
487
|
shape: "table" /* Table */,
|
|
488
488
|
description: "Compares predicted probabilities with observed frequencies to show whether a model can be trusted as stated.",
|
|
489
489
|
tags: ["reliability diagram", "classifier", "probability", "machine learning"],
|
|
490
|
-
sample: (seed) =>
|
|
490
|
+
sample: (seed) => _chunkDCGAAN3Zcjs.ClassifierCurveBase.scored(seed),
|
|
491
491
|
variants: {
|
|
492
492
|
binning: Object.values(CalibrationBinning),
|
|
493
493
|
bins: [10, 5, 15],
|
|
@@ -706,7 +706,7 @@ var ResidualPlot = (_class8 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
706
706
|
shape: "table" /* Table */,
|
|
707
707
|
description: "Plots regression residuals to reveal non-linearity, changing variance and outliers the fit has missed.",
|
|
708
708
|
tags: ["regression", "diagnostic", "heteroscedasticity", "scale-location"],
|
|
709
|
-
sample: (seed) =>
|
|
709
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 90, 3),
|
|
710
710
|
variants: {
|
|
711
711
|
model: Object.values(RegressionForm),
|
|
712
712
|
scale: Object.values(ResidualScale),
|
|
@@ -732,7 +732,7 @@ var ResidualPlot = (_class8 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
732
732
|
const rows = this.complete(data, x, y);
|
|
733
733
|
if (rows.length < 3) return { fit: null, points: [] };
|
|
734
734
|
const xs = rows.map((row) => +row[x]), ys = rows.map((row) => +row[y]);
|
|
735
|
-
const fit = new (0,
|
|
735
|
+
const fit = new (0, _chunkSN5T7WYOcjs.RegressionFit)(xs, ys, model === "quadratic-model" /* Quadratic */ ? 2 : 1);
|
|
736
736
|
const values = scale === "raw" /* Raw */ ? fit.residuals : scale === "studentized" /* Studentized */ ? fit.studentized : fit.standardized.map((r) => Math.sqrt(Math.abs(r)));
|
|
737
737
|
const points = rows.map((row, index) => ({
|
|
738
738
|
index,
|
|
@@ -810,7 +810,7 @@ var CooksDistancePlot = (_class9 = class extends _chunkUXFWDEP6cjs.StatisticalCh
|
|
|
810
810
|
shape: "table" /* Table */,
|
|
811
811
|
description: "Shows how much the regression fit would change if each observation were deleted, to flag influential rows.",
|
|
812
812
|
tags: ["regression", "influence", "dffits", "hat values", "diagnostic"],
|
|
813
|
-
sample: (seed) =>
|
|
813
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 40, 3),
|
|
814
814
|
variants: {
|
|
815
815
|
model: Object.values(RegressionForm),
|
|
816
816
|
measure: Object.values(InfluenceMeasure),
|
|
@@ -833,7 +833,7 @@ var CooksDistancePlot = (_class9 = class extends _chunkUXFWDEP6cjs.StatisticalCh
|
|
|
833
833
|
const { data, x, y, model, measure: measure2, order } = this.options;
|
|
834
834
|
const rows = this.complete(data, x, y), n = rows.length;
|
|
835
835
|
if (n < 4) return [];
|
|
836
|
-
const fit = new (0,
|
|
836
|
+
const fit = new (0, _chunkSN5T7WYOcjs.RegressionFit)(rows.map((row) => +row[x]), rows.map((row) => +row[y]), model === "quadratic-model" /* Quadratic */ ? 2 : 1);
|
|
837
837
|
const p = fit.parameters, { studentized, cooks, leverage } = fit;
|
|
838
838
|
const values = measure2 === "cooks-distance" /* Cooks */ ? cooks : measure2 === "leverage" /* Leverage */ ? leverage : studentized.map((t, i) => t * Math.sqrt(leverage[i] / Math.max(1e-9, 1 - leverage[i])));
|
|
839
839
|
this.cut = measure2 === "cooks-distance" /* Cooks */ ? 4 / n : measure2 === "leverage" /* Leverage */ ? 2 * p / n : 2 * Math.sqrt(p / n);
|
|
@@ -886,7 +886,7 @@ var CrossCorrelationPlot = (_class10 = class extends CorrelogramBase {
|
|
|
886
886
|
...CorrelogramBase.family,
|
|
887
887
|
description: "Correlates two time series at positive and negative lags to show which one leads the other.",
|
|
888
888
|
tags: ["ccf", "lead lag", "time series"],
|
|
889
|
-
sample: (seed) =>
|
|
889
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 120, 2),
|
|
890
890
|
variants: {
|
|
891
891
|
marks: Object.values(CorrelogramMarks),
|
|
892
892
|
difference: [1, 0],
|
|
@@ -909,7 +909,7 @@ var CrossCorrelationPlot = (_class10 = class extends CorrelogramBase {
|
|
|
909
909
|
const n = Math.min(a.length, b.length);
|
|
910
910
|
if (n < 6) return [];
|
|
911
911
|
if (prewhiten) {
|
|
912
|
-
const fit = new (0,
|
|
912
|
+
const fit = new (0, _chunkSN5T7WYOcjs.RegressionFit)(a.slice(0, n - 1), a.slice(1, n));
|
|
913
913
|
const phi = fit.predict(1) - fit.predict(0);
|
|
914
914
|
const whiten = (values) => values.slice(1, n).map((v, i) => v - phi * values[i]);
|
|
915
915
|
a = whiten(a);
|
|
@@ -1009,7 +1009,7 @@ var ErrorCurveFit = /* @__PURE__ */ ((ErrorCurveFit2) => {
|
|
|
1009
1009
|
})(ErrorCurveFit || {});
|
|
1010
1010
|
var LOW = 5e-3;
|
|
1011
1011
|
var HIGH = 0.8;
|
|
1012
|
-
var DetectionErrorCurve = (_class12 = class extends
|
|
1012
|
+
var DetectionErrorCurve = (_class12 = class extends _chunkDCGAAN3Zcjs.ClassifierCurveBase {
|
|
1013
1013
|
static __initStatic12() {this.meta = {
|
|
1014
1014
|
id: "det-curve",
|
|
1015
1015
|
name: "Detection error tradeoff",
|
|
@@ -1018,7 +1018,7 @@ var DetectionErrorCurve = (_class12 = class extends _chunkMCPPFRLNcjs.Classifier
|
|
|
1018
1018
|
shape: "table" /* Table */,
|
|
1019
1019
|
description: "Plots missed detections against false alarms on warped axes to compare accurate detectors.",
|
|
1020
1020
|
tags: ["classifier", "equal error rate", "biometrics", "det"],
|
|
1021
|
-
sample: (seed) =>
|
|
1021
|
+
sample: (seed) => _chunkDCGAAN3Zcjs.ClassifierCurveBase.scored(seed),
|
|
1022
1022
|
variants: {
|
|
1023
1023
|
axisScale: Object.values(ErrorAxisScale),
|
|
1024
1024
|
fit: Object.values(ErrorCurveFit),
|
|
@@ -1142,9 +1142,9 @@ var ForestPlot = (_class14 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1142
1142
|
shape: "table" /* Table */,
|
|
1143
1143
|
description: "Lists each study estimate with its confidence interval above the pooled effect in a meta-analysis.",
|
|
1144
1144
|
tags: ["meta-analysis", "blobbogram", "odds ratio", "confidence interval"],
|
|
1145
|
-
sample: (seed) =>
|
|
1145
|
+
sample: (seed) => _chunkSN5T7WYOcjs.MetaAnalysis.studies(seed, 9),
|
|
1146
1146
|
variants: {
|
|
1147
|
-
model: Object.values(
|
|
1147
|
+
model: Object.values(_chunkSN5T7WYOcjs.PoolingModel),
|
|
1148
1148
|
order: Object.values(ForestOrder),
|
|
1149
1149
|
weighted: [true, false],
|
|
1150
1150
|
prediction: [false, true],
|
|
@@ -1168,14 +1168,14 @@ var ForestPlot = (_class14 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1168
1168
|
}
|
|
1169
1169
|
rows() {
|
|
1170
1170
|
const { data, effect, se, study, subgroup, model, order, subgroups } = this.options;
|
|
1171
|
-
const studies =
|
|
1171
|
+
const studies = _chunkSN5T7WYOcjs.MetaAnalysis.read(data, { effect, se, study, subgroup });
|
|
1172
1172
|
if (order === "by-effect" /* Effect */) studies.sort((a, b) => b.effect - a.effect);
|
|
1173
1173
|
if (order === "by-precision" /* Precision */) studies.sort((a, b) => a.se - b.se);
|
|
1174
|
-
const pooled =
|
|
1174
|
+
const pooled = _chunkSN5T7WYOcjs.MetaAnalysis.pool(studies, model);
|
|
1175
1175
|
const weightOf = new Map(studies.map((d, i) => [d, pooled.weights[i]]));
|
|
1176
1176
|
const entry = (d, i) => ({ key: `${i}|${d.name}`, label: d.name, effect: d.effect, low: d.effect - 1.96 * d.se, high: d.effect + 1.96 * d.se, weight: weightOf.get(d), pooled: false, heading: false });
|
|
1177
1177
|
const summary = (key, label, set) => {
|
|
1178
|
-
const { effect: centre, se: error } =
|
|
1178
|
+
const { effect: centre, se: error } = _chunkSN5T7WYOcjs.MetaAnalysis.pool(set, model);
|
|
1179
1179
|
return { key, label, effect: centre, low: centre - 1.96 * error, high: centre + 1.96 * error, weight: 1, pooled: true, heading: false };
|
|
1180
1180
|
};
|
|
1181
1181
|
const body = subgroups ? [..._d3.group.call(void 0, studies, (d) => d.subgroup)].flatMap(([name, set]) => [
|
|
@@ -1188,9 +1188,9 @@ var ForestPlot = (_class14 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1188
1188
|
/** Prediction interval for a new study's true effect. */
|
|
1189
1189
|
predictionRange() {
|
|
1190
1190
|
const { data, effect, se, study, subgroup, model, prediction } = this.options;
|
|
1191
|
-
const studies =
|
|
1191
|
+
const studies = _chunkSN5T7WYOcjs.MetaAnalysis.read(data, { effect, se, study, subgroup });
|
|
1192
1192
|
if (!prediction || studies.length < 3) return null;
|
|
1193
|
-
const { effect: centre, se: error, tau2 } =
|
|
1193
|
+
const { effect: centre, se: error, tau2 } = _chunkSN5T7WYOcjs.MetaAnalysis.pool(studies, model);
|
|
1194
1194
|
const reach = _chunkAL4XQZH6cjs.StatMath.tQuantile(0.975, studies.length - 2) * Math.sqrt(tau2 + error * error);
|
|
1195
1195
|
return [centre - reach, centre + reach];
|
|
1196
1196
|
}
|
|
@@ -1268,10 +1268,10 @@ var FunnelPlot = (_class15 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1268
1268
|
shape: "table" /* Table */,
|
|
1269
1269
|
description: "Plots each study effect against its precision to reveal publication bias in a meta-analysis.",
|
|
1270
1270
|
tags: ["meta-analysis", "publication bias", "egger", "trim and fill"],
|
|
1271
|
-
sample: (seed) =>
|
|
1271
|
+
sample: (seed) => _chunkSN5T7WYOcjs.MetaAnalysis.studies(seed, 24),
|
|
1272
1272
|
variants: {
|
|
1273
1273
|
precision: Object.values(FunnelPrecision),
|
|
1274
|
-
model: Object.values(
|
|
1274
|
+
model: Object.values(_chunkSN5T7WYOcjs.PoolingModel),
|
|
1275
1275
|
contours: Object.values(FunnelContours),
|
|
1276
1276
|
egger: [false, true],
|
|
1277
1277
|
trimFill: [false, true]
|
|
@@ -1289,7 +1289,7 @@ var FunnelPlot = (_class15 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1289
1289
|
}
|
|
1290
1290
|
studies() {
|
|
1291
1291
|
const { data, effect, se, study } = this.options;
|
|
1292
|
-
return
|
|
1292
|
+
return _chunkSN5T7WYOcjs.MetaAnalysis.read(data, { effect, se, study, subgroup: study });
|
|
1293
1293
|
}
|
|
1294
1294
|
seMax(studies) {
|
|
1295
1295
|
return Math.max(1e-3, ...studies.map((d) => d.se)) * 1.1;
|
|
@@ -1303,8 +1303,8 @@ var FunnelPlot = (_class15 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1303
1303
|
scales(ctx) {
|
|
1304
1304
|
const { contours, precision, trimFill, model } = this.options;
|
|
1305
1305
|
const studies = this.studies(), seMax = this.seMax(studies);
|
|
1306
|
-
const imputed = trimFill ?
|
|
1307
|
-
const pooled =
|
|
1306
|
+
const imputed = trimFill ? _chunkSN5T7WYOcjs.MetaAnalysis.trimAndFill(studies, model) : [];
|
|
1307
|
+
const pooled = _chunkSN5T7WYOcjs.MetaAnalysis.pool(studies, model).effect;
|
|
1308
1308
|
const reach = contours === "no-funnel" /* None */ ? 0 : 2.6 * seMax;
|
|
1309
1309
|
const centre = contours === "contour-enhanced" /* Significance */ ? 0 : pooled;
|
|
1310
1310
|
const x = this.span([...studies, ...imputed].map((d) => d.effect).concat(centre - reach, centre + reach, 0), 0.04);
|
|
@@ -1319,7 +1319,7 @@ var FunnelPlot = (_class15 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1319
1319
|
plotMarks(ctx, axes) {
|
|
1320
1320
|
const { contours, model, egger, trimFill } = this.options;
|
|
1321
1321
|
const studies = this.studies(), seMax = this.seMax(studies);
|
|
1322
|
-
const pooled =
|
|
1322
|
+
const pooled = _chunkSN5T7WYOcjs.MetaAnalysis.pool(studies, model);
|
|
1323
1323
|
const significance = contours === "contour-enhanced" /* Significance */;
|
|
1324
1324
|
const zones = contours === "no-funnel" /* None */ ? [] : significance ? [{ z: 2.576, t: 0.16 }, { z: 1.96, t: 0.2 }, { z: 1.645, t: 0.26 }] : [{ z: 1.96, t: 0.28 }];
|
|
1325
1325
|
const [left, right] = axes.x.domain();
|
|
@@ -1333,7 +1333,7 @@ var FunnelPlot = (_class15 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1333
1333
|
this.rules(ctx, "null", [{ key: "null", from: [0, bottom], to: [0, top], dash: "2 3" }], axes);
|
|
1334
1334
|
const ink = ctx.palette.color("Studies");
|
|
1335
1335
|
if (egger && studies.length > 2) {
|
|
1336
|
-
const fit = new (0,
|
|
1336
|
+
const fit = new (0, _chunkSN5T7WYOcjs.RegressionFit)(studies.map((d) => 1 / d.se), studies.map((d) => d.effect / d.se));
|
|
1337
1337
|
const slope = fit.predict(1) - fit.predict(0), intercept = fit.predict(0);
|
|
1338
1338
|
this.traces(ctx, "egger", [{
|
|
1339
1339
|
key: "Egger regression",
|
|
@@ -1343,7 +1343,7 @@ var FunnelPlot = (_class15 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1343
1343
|
points: grid.map((se) => clamp([slope + intercept * se, this.height(se)]))
|
|
1344
1344
|
}], axes);
|
|
1345
1345
|
} else this.traces(ctx, "egger", [], axes);
|
|
1346
|
-
const imputed = trimFill ?
|
|
1346
|
+
const imputed = trimFill ? _chunkSN5T7WYOcjs.MetaAnalysis.trimAndFill(studies, model) : [];
|
|
1347
1347
|
const hollow = ctx.marks("imputed", "circle", imputed, (d) => d.name).attr("fill", ctx.theme.surface).attr("stroke", ink).attr("stroke-width", 2);
|
|
1348
1348
|
const cx = (d) => axes.x(d.effect), cy = (d) => axes.y(this.height(d.se));
|
|
1349
1349
|
ctx.set(hollow, { cx, cy, r: 4 }, { cx, cy, r: 0 });
|
|
@@ -1377,7 +1377,7 @@ var InteractionPlot = (_class16 = class extends _chunkUXFWDEP6cjs.StatisticalCha
|
|
|
1377
1377
|
shape: "table" /* Table */,
|
|
1378
1378
|
description: "Traces cell means of one factor across another, where non-parallel lines reveal an interaction effect.",
|
|
1379
1379
|
tags: ["anova", "factorial", "doe", "experiment", "means"],
|
|
1380
|
-
sample: (seed) => Array.from({ length: 6 }, (_, i) =>
|
|
1380
|
+
sample: (seed) => Array.from({ length: 6 }, (_, i) => _chunkLNWTC72Ycjs.SampleData.categories(seed + i, 4, 3)).flat().map((row, i) => ({
|
|
1381
1381
|
...row,
|
|
1382
1382
|
value: +row.value / 4 + (row.series === "Alpha" ? ["North", "South", "East", "West"].indexOf(String(row.category)) * 9 : row.series === "Bravo" ? i % 4 + 12 : 26 - ["North", "South", "East", "West"].indexOf(String(row.category)) * 5)
|
|
1383
1383
|
})),
|
|
@@ -1482,7 +1482,7 @@ var KaplanMeierCurve = (_class17 = class extends _chunkUXFWDEP6cjs.StatisticalCh
|
|
|
1482
1482
|
shape: "table" /* Table */,
|
|
1483
1483
|
description: "Estimates the probability of remaining event-free over time from censored follow-up data, by group.",
|
|
1484
1484
|
tags: ["survival", "time to event", "censoring", "nelson-aalen", "clinical"],
|
|
1485
|
-
sample: (seed) =>
|
|
1485
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.distribution(seed, 70, 3).map((row, i) => {
|
|
1486
1486
|
const time = Math.max(1, +row.value - 14), follow = 44 + i % 7 * 3, lost = i % 6 === 0;
|
|
1487
1487
|
return { time: +(lost ? time * 0.7 : Math.min(time, follow)).toFixed(1), event: lost || time > follow ? 0 : 1, group: row.group };
|
|
1488
1488
|
}),
|
|
@@ -1608,7 +1608,7 @@ var LagPlot = (_class18 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1608
1608
|
shape: "table" /* Table */,
|
|
1609
1609
|
description: "Plots each value against the value a fixed lag later, revealing randomness, autocorrelation and cycles.",
|
|
1610
1610
|
tags: ["time series", "phase plot", "return map", "poincare"],
|
|
1611
|
-
sample: (seed) =>
|
|
1611
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 90, 1),
|
|
1612
1612
|
variants: {
|
|
1613
1613
|
lag: [1, 2, 7, 14],
|
|
1614
1614
|
path: [false, true],
|
|
@@ -1639,7 +1639,7 @@ var LagPlot = (_class18 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1639
1639
|
const ink = ctx.palette.color("Series");
|
|
1640
1640
|
this.rules(ctx, "identity", [{ key: "identity", from: [low, low], to: [high, high], dash: "5 4" }], axes);
|
|
1641
1641
|
this.traces(ctx, "phase", path ? [{ key: "Time order", color: ink, width: 1.5, points: pairs }] : [], axes);
|
|
1642
|
-
const line = fit && pairs.length > 2 ? new (0,
|
|
1642
|
+
const line = fit && pairs.length > 2 ? new (0, _chunkSN5T7WYOcjs.RegressionFit)(pairs.map((d) => d[0]), pairs.map((d) => d[1])) : null;
|
|
1643
1643
|
const clip = (x) => [x, Math.max(low, Math.min(high, line.predict(x)))];
|
|
1644
1644
|
this.traces(ctx, "fit", line ? [{ key: "Least squares", color: ctx.theme.ink, points: [clip(low), clip(high)] }] : [], axes);
|
|
1645
1645
|
this.dots(ctx, "points", pairs, (d) => [axes.x(d[0]), axes.y(d[1])], () => ink, (d) => ({ title: "Pair", color: ink, rows: [["At t", d[0]], [`At t + ${this.options.lag}`, d[1]]] }), { r: path ? 3 : 4, ring: !path });
|
|
@@ -1660,7 +1660,7 @@ var LiftMarks = /* @__PURE__ */ ((LiftMarks2) => {
|
|
|
1660
1660
|
LiftMarks2["Bars"] = "bars";
|
|
1661
1661
|
return LiftMarks2;
|
|
1662
1662
|
})(LiftMarks || {});
|
|
1663
|
-
var LiftChart = (_class19 = class extends
|
|
1663
|
+
var LiftChart = (_class19 = class extends _chunkDCGAAN3Zcjs.ClassifierCurveBase {
|
|
1664
1664
|
static __initStatic19() {this.meta = {
|
|
1665
1665
|
id: "lift-chart",
|
|
1666
1666
|
name: "Lift chart",
|
|
@@ -1669,7 +1669,7 @@ var LiftChart = (_class19 = class extends _chunkMCPPFRLNcjs.ClassifierCurveBase
|
|
|
1669
1669
|
shape: "table" /* Table */,
|
|
1670
1670
|
description: "Ranks cases by predicted score and shows how much better than random each slice performs, for targeting decisions.",
|
|
1671
1671
|
tags: ["gains", "classifier", "marketing", "decile"],
|
|
1672
|
-
sample: (seed) =>
|
|
1672
|
+
sample: (seed) => _chunkDCGAAN3Zcjs.ClassifierCurveBase.scored(seed),
|
|
1673
1673
|
variants: {
|
|
1674
1674
|
metric: Object.values(LiftMetric),
|
|
1675
1675
|
marks: Object.values(LiftMarks),
|
|
@@ -1767,7 +1767,7 @@ var LorenzCurve = (_class20 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
1767
1767
|
shape: "table" /* Table */,
|
|
1768
1768
|
description: "Plots the cumulative share of a total held by a growing share of the population, to measure inequality.",
|
|
1769
1769
|
tags: ["gini", "inequality", "concentration", "pareto", "economics"],
|
|
1770
|
-
sample: (seed) =>
|
|
1770
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 150, 3).map((row) => ({ value: +(Number(row.size) ** (row.group === "Alpha" ? 1 : row.group === "Bravo" ? 1.8 : 2.8)).toFixed(1), group: row.group })),
|
|
1771
1771
|
variants: {
|
|
1772
1772
|
form: Object.values(LorenzForm),
|
|
1773
1773
|
resolution: Object.values(LorenzResolution),
|
|
@@ -1881,7 +1881,7 @@ var ManhattanPlot = (_class21 = class extends _chunkUXFWDEP6cjs.StatisticalChart
|
|
|
1881
1881
|
shape: "table" /* Table */,
|
|
1882
1882
|
description: "Plots association p-values along genome position so true signals rise as towers above the noise.",
|
|
1883
1883
|
tags: ["gwas", "genomics", "miami plot", "p-value"],
|
|
1884
|
-
sample: (seed) =>
|
|
1884
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 880, 8).map((row, i) => {
|
|
1885
1885
|
const chromosome = shuffle(i) + 1, along = i % 40 / 40, base = Math.max(1e-6, (+row.size - 3) / 30);
|
|
1886
1886
|
const peak = chromosome === 6 || chromosome === 15 ? Math.exp(-(((along - 0.5) / 0.1) ** 2)) : 0;
|
|
1887
1887
|
return { snp: `rs${1e3 + i}`, chromosome, position: Math.round(along * (250 - chromosome * 9) * 1e6), pvalue: +(base ** (1 + peak * 40)).toPrecision(4), trait: i % 2 ? "Trait B" : "Trait A" };
|
|
@@ -1995,7 +1995,7 @@ var PartialAutocorrelation = (_class22 = class extends CorrelogramBase {
|
|
|
1995
1995
|
...CorrelogramBase.family,
|
|
1996
1996
|
description: "Shows the direct correlation at each lag with shorter lags removed, to choose an autoregressive order.",
|
|
1997
1997
|
tags: ["pacf", "correlogram", "time series", "arima"],
|
|
1998
|
-
sample: (seed) =>
|
|
1998
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 150, 1),
|
|
1999
1999
|
variants: {
|
|
2000
2000
|
marks: Object.values(CorrelogramMarks),
|
|
2001
2001
|
difference: [0, 1, 2],
|
|
@@ -2014,7 +2014,7 @@ var PartialAutocorrelation = (_class22 = class extends CorrelogramBase {
|
|
|
2014
2014
|
return Array.from({ length: maxLag }, (_, k) => {
|
|
2015
2015
|
const lag = k + 1;
|
|
2016
2016
|
const design = values.slice(lag).map((_2, t) => [1, ...Array.from({ length: lag }, (_3, j) => values[t + lag - 1 - j])]);
|
|
2017
|
-
return
|
|
2017
|
+
return _chunkSN5T7WYOcjs.RegressionFit.onDesign(design, values.slice(lag)).at(-1);
|
|
2018
2018
|
});
|
|
2019
2019
|
}
|
|
2020
2020
|
estimates() {
|
|
@@ -2102,7 +2102,7 @@ var PPPlot = (_class23 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
2102
2102
|
shape: "table" /* Table */,
|
|
2103
2103
|
description: "Plots empirical against fitted cumulative probability to judge goodness of fit across the middle of a distribution.",
|
|
2104
2104
|
tags: ["probability", "goodness of fit", "diagnostic"],
|
|
2105
|
-
sample: (seed) =>
|
|
2105
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.distribution(seed, 60, 3),
|
|
2106
2106
|
variants: {
|
|
2107
2107
|
distribution: Object.values(ReferenceDistribution),
|
|
2108
2108
|
position: Object.values(PlottingPosition),
|
|
@@ -2162,7 +2162,7 @@ var PrecisionInterpolation = /* @__PURE__ */ ((PrecisionInterpolation2) => {
|
|
|
2162
2162
|
PrecisionInterpolation2["Linear"] = "linear";
|
|
2163
2163
|
return PrecisionInterpolation2;
|
|
2164
2164
|
})(PrecisionInterpolation || {});
|
|
2165
|
-
var PrecisionRecallCurve = (_class24 = class extends
|
|
2165
|
+
var PrecisionRecallCurve = (_class24 = class extends _chunkDCGAAN3Zcjs.ClassifierCurveBase {
|
|
2166
2166
|
static __initStatic24() {this.meta = {
|
|
2167
2167
|
id: "precision-recall-curve",
|
|
2168
2168
|
name: "Precision-recall curve",
|
|
@@ -2171,7 +2171,7 @@ var PrecisionRecallCurve = (_class24 = class extends _chunkMCPPFRLNcjs.Classifie
|
|
|
2171
2171
|
shape: "table" /* Table */,
|
|
2172
2172
|
description: "Plots precision against recall across thresholds, the honest view of a classifier on imbalanced data.",
|
|
2173
2173
|
tags: ["classifier", "average precision", "f1", "machine learning"],
|
|
2174
|
-
sample: (seed) =>
|
|
2174
|
+
sample: (seed) => _chunkDCGAAN3Zcjs.ClassifierCurveBase.scored(seed),
|
|
2175
2175
|
variants: {
|
|
2176
2176
|
interpolation: Object.values(PrecisionInterpolation),
|
|
2177
2177
|
isoF1: [false, true],
|
|
@@ -2275,7 +2275,7 @@ var QQPlot = (_class25 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
2275
2275
|
shape: "table" /* Table */,
|
|
2276
2276
|
description: "Plots sample quantiles against theoretical quantiles to test whether data follows a reference distribution.",
|
|
2277
2277
|
tags: ["quantile", "normality", "worm plot", "diagnostic"],
|
|
2278
|
-
sample: (seed) =>
|
|
2278
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.distribution(seed, 70, 3),
|
|
2279
2279
|
variants: {
|
|
2280
2280
|
distribution: Object.values(ReferenceDistribution),
|
|
2281
2281
|
referenceLine: Object.values(QQReferenceLine),
|
|
@@ -2309,7 +2309,7 @@ var QQPlot = (_class25 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
2309
2309
|
});
|
|
2310
2310
|
if (identity) return { key, points, intercept: 0, slope: 1, n };
|
|
2311
2311
|
if (referenceLine === "regression-line" /* Regression */ && n > 1) {
|
|
2312
|
-
const fit = new (0,
|
|
2312
|
+
const fit = new (0, _chunkSN5T7WYOcjs.RegressionFit)(points.map((d) => d.theory), shown);
|
|
2313
2313
|
const intercept = fit.predict(0), slope = fit.predict(1) - intercept;
|
|
2314
2314
|
return { key, points, intercept, slope, n };
|
|
2315
2315
|
}
|
|
@@ -2377,7 +2377,7 @@ var RegressionInfluencePlot = (_class26 = class extends _chunkUXFWDEP6cjs.Statis
|
|
|
2377
2377
|
shape: "table" /* Table */,
|
|
2378
2378
|
description: "Plots studentized residuals against leverage with Cook's distance contours to find influential observations.",
|
|
2379
2379
|
tags: ["regression", "leverage", "cook's distance", "outlier", "diagnostic"],
|
|
2380
|
-
sample: (seed) =>
|
|
2380
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 60, 3),
|
|
2381
2381
|
variants: {
|
|
2382
2382
|
model: Object.values(RegressionForm),
|
|
2383
2383
|
encoding: Object.values(InfluenceEncoding),
|
|
@@ -2396,7 +2396,7 @@ var RegressionInfluencePlot = (_class26 = class extends _chunkUXFWDEP6cjs.Statis
|
|
|
2396
2396
|
const { data, x, y, model, label } = this.options;
|
|
2397
2397
|
const rows = this.complete(data, x, y);
|
|
2398
2398
|
if (rows.length < 4) return [];
|
|
2399
|
-
const fit = new (0,
|
|
2399
|
+
const fit = new (0, _chunkSN5T7WYOcjs.RegressionFit)(rows.map((row) => +row[x]), rows.map((row) => +row[y]), model === "quadratic-model" /* Quadratic */ ? 2 : 1);
|
|
2400
2400
|
const { standardized, cooks } = fit;
|
|
2401
2401
|
this.parameters = fit.parameters;
|
|
2402
2402
|
return rows.map((row, index) => ({ index, name: String(_nullishCoalesce(row[label], () => ( index + 1))), leverage: fit.leverage[index], residual: standardized[index], cook: cooks[index] }));
|
|
@@ -2471,7 +2471,7 @@ var hull = (points) => {
|
|
|
2471
2471
|
}
|
|
2472
2472
|
return out;
|
|
2473
2473
|
};
|
|
2474
|
-
var ROCCurve = (_class27 = class extends
|
|
2474
|
+
var ROCCurve = (_class27 = class extends _chunkDCGAAN3Zcjs.ClassifierCurveBase {
|
|
2475
2475
|
static __initStatic27() {this.meta = {
|
|
2476
2476
|
id: "roc-curve",
|
|
2477
2477
|
name: "ROC curve",
|
|
@@ -2480,7 +2480,7 @@ var ROCCurve = (_class27 = class extends _chunkMCPPFRLNcjs.ClassifierCurveBase {
|
|
|
2480
2480
|
shape: "table" /* Table */,
|
|
2481
2481
|
description: "Traces true-positive against false-positive rate across every threshold to compare binary classifiers.",
|
|
2482
2482
|
tags: ["classifier", "auc", "machine learning", "sensitivity", "specificity"],
|
|
2483
|
-
sample: (seed) =>
|
|
2483
|
+
sample: (seed) => _chunkDCGAAN3Zcjs.ClassifierCurveBase.scored(seed),
|
|
2484
2484
|
variants: {
|
|
2485
2485
|
smoothing: Object.values(RocSmoothing),
|
|
2486
2486
|
operatingPoint: Object.values(RocOperatingPoint),
|
|
@@ -2594,7 +2594,7 @@ var ScreePlot = (_class28 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
2594
2594
|
description: "Plots eigenvalues in descending order to choose how many principal components or factors to retain.",
|
|
2595
2595
|
tags: ["pca", "factor analysis", "eigenvalues", "dimensionality reduction"],
|
|
2596
2596
|
sample: (seed) => {
|
|
2597
|
-
const walks =
|
|
2597
|
+
const walks = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 40, 8);
|
|
2598
2598
|
const columns = [..._d3.group.call(void 0, walks, (row) => row.series).values()].map((rows) => rows.map((row) => +row.value));
|
|
2599
2599
|
const standard = columns.map((column) => {
|
|
2600
2600
|
const centre = _d3.mean.call(void 0, column), spread = Math.sqrt(_d3.sum.call(void 0, column, (v) => (v - centre) ** 2)) || 1;
|
|
@@ -2733,7 +2733,7 @@ var SilhouettePlot = (_class29 = class extends _chunkUXFWDEP6cjs.StatisticalChar
|
|
|
2733
2733
|
shape: "table" /* Table */,
|
|
2734
2734
|
description: "Shows how well each observation fits its assigned cluster, to choose and validate a clustering.",
|
|
2735
2735
|
tags: ["clustering", "k-means", "cluster validation", "machine learning"],
|
|
2736
|
-
sample: (seed) =>
|
|
2736
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 54, 3),
|
|
2737
2737
|
variants: {
|
|
2738
2738
|
distance: Object.values(SilhouetteDistance),
|
|
2739
2739
|
order: Object.values(SilhouetteOrder),
|
|
@@ -2842,7 +2842,7 @@ var statisticsCatalog = [
|
|
|
2842
2842
|
CrossCorrelationPlot,
|
|
2843
2843
|
LagPlot,
|
|
2844
2844
|
LorenzCurve,
|
|
2845
|
-
|
|
2845
|
+
_chunkPPGWHIU7cjs.VolcanoPlot,
|
|
2846
2846
|
ManhattanPlot,
|
|
2847
2847
|
InteractionPlot,
|
|
2848
2848
|
ScreePlot,
|