@rowsncolumns/charts 28.1.7 → 28.1.10
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/dist/cjs/basic-chart/basic-chart.d.ts.map +1 -1
- package/dist/cjs/basic-chart/basic-chart.js +525 -419
- package/dist/cjs/basic-chart/helpers.d.ts.map +1 -1
- package/dist/cjs/basic-chart/helpers.js +2 -0
- package/dist/cjs/plotly/basic-chart/basic-chart.d.ts.map +1 -1
- package/dist/cjs/plotly/basic-chart/basic-chart.js +351 -192
- package/dist/cjs/plotly/basic-chart/helpers.d.ts.map +1 -1
- package/dist/cjs/plotly/basic-chart/helpers.js +2 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/utils/bubble.d.ts +34 -1
- package/dist/cjs/utils/bubble.d.ts.map +1 -1
- package/dist/cjs/utils/bubble.js +39 -13
- package/dist/cjs/utils/doughnut.d.ts +19 -0
- package/dist/cjs/utils/doughnut.d.ts.map +1 -0
- package/dist/cjs/utils/doughnut.js +28 -0
- package/dist/cjs/utils/echarts-overlays.d.ts +46 -0
- package/dist/cjs/utils/echarts-overlays.d.ts.map +1 -0
- package/dist/cjs/utils/echarts-overlays.js +134 -0
- package/dist/cjs/utils/hierarchy.d.ts +23 -1
- package/dist/cjs/utils/hierarchy.d.ts.map +1 -1
- package/dist/cjs/utils/hierarchy.js +179 -55
- package/dist/cjs/utils/overrides.d.ts +9 -0
- package/dist/cjs/utils/overrides.d.ts.map +1 -1
- package/dist/cjs/utils/overrides.js +18 -3
- package/dist/cjs/utils/radar.d.ts +31 -5
- package/dist/cjs/utils/radar.d.ts.map +1 -1
- package/dist/cjs/utils/radar.js +67 -27
- package/dist/cjs/utils/trendline.d.ts +7 -1
- package/dist/cjs/utils/trendline.d.ts.map +1 -1
- package/dist/cjs/utils/trendline.js +82 -18
- package/dist/esm/basic-chart/basic-chart.d.ts.map +1 -1
- package/dist/esm/basic-chart/basic-chart.js +376 -248
- package/dist/esm/basic-chart/helpers.d.ts.map +1 -1
- package/dist/esm/basic-chart/helpers.js +2 -0
- package/dist/esm/plotly/basic-chart/basic-chart.d.ts.map +1 -1
- package/dist/esm/plotly/basic-chart/basic-chart.js +279 -69
- package/dist/esm/plotly/basic-chart/helpers.d.ts.map +1 -1
- package/dist/esm/plotly/basic-chart/helpers.js +2 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/utils/bubble.d.ts +34 -1
- package/dist/esm/utils/bubble.d.ts.map +1 -1
- package/dist/esm/utils/bubble.js +35 -11
- package/dist/esm/utils/doughnut.d.ts +19 -0
- package/dist/esm/utils/doughnut.d.ts.map +1 -0
- package/dist/esm/utils/doughnut.js +21 -0
- package/dist/esm/utils/echarts-overlays.d.ts +46 -0
- package/dist/esm/utils/echarts-overlays.d.ts.map +1 -0
- package/dist/esm/utils/echarts-overlays.js +135 -0
- package/dist/esm/utils/hierarchy.d.ts +23 -1
- package/dist/esm/utils/hierarchy.d.ts.map +1 -1
- package/dist/esm/utils/hierarchy.js +168 -50
- package/dist/esm/utils/overrides.d.ts +9 -0
- package/dist/esm/utils/overrides.d.ts.map +1 -1
- package/dist/esm/utils/overrides.js +16 -2
- package/dist/esm/utils/radar.d.ts +31 -5
- package/dist/esm/utils/radar.d.ts.map +1 -1
- package/dist/esm/utils/radar.js +44 -16
- package/dist/esm/utils/trendline.d.ts +7 -1
- package/dist/esm/utils/trendline.d.ts.map +1 -1
- package/dist/esm/utils/trendline.js +67 -14
- package/package.json +4 -4
|
@@ -35,15 +35,25 @@ var isFiniteNum = function (v) {
|
|
|
35
35
|
* position as x (the first category is x = 1, see the module comment).
|
|
36
36
|
* Non-finite y-values are dropped (they cannot be fitted).
|
|
37
37
|
*/
|
|
38
|
-
var toPairs = function (values) {
|
|
38
|
+
var toPairs = function (values, xValues) {
|
|
39
39
|
var pairs = [];
|
|
40
40
|
for (var i = 0; i < values.length; i++) {
|
|
41
41
|
var y = values[i];
|
|
42
|
-
if (isFiniteNum(y))
|
|
42
|
+
if (!isFiniteNum(y))
|
|
43
|
+
continue;
|
|
44
|
+
if (xValues) {
|
|
45
|
+
var x = xValues[i];
|
|
46
|
+
if (isFiniteNum(x))
|
|
47
|
+
pairs.push({ x: x, y: y });
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
43
50
|
pairs.push({ x: i + 1, y: y });
|
|
51
|
+
}
|
|
44
52
|
}
|
|
45
53
|
return pairs;
|
|
46
54
|
};
|
|
55
|
+
/** Samples along a scatter trendline's x range: enough for the curved fits to read as curves. */
|
|
56
|
+
var XY_TRENDLINE_SAMPLES = 64;
|
|
47
57
|
/** Compute R² between observed y and predicted f(x) over the fit pairs. */
|
|
48
58
|
var rSquaredOf = function (pairs, predict) {
|
|
49
59
|
var e_1, _a;
|
|
@@ -218,20 +228,29 @@ var fitPower = function (pairs) {
|
|
|
218
228
|
* @param values Raw y-values; the 1-based category position is used as x
|
|
219
229
|
* for the fit, the 0-based index is reported in the points.
|
|
220
230
|
* @param spec Trendline parameters (type/order/period/forecast).
|
|
231
|
+
* @param xValues Scatter / bubble only — the series' real X values, index-
|
|
232
|
+
* aligned with `values`. The fit then runs on (x, y) pairs
|
|
233
|
+
* (a regression of Y on X, what Excel draws on an XY chart;
|
|
234
|
+
* the point index is wrong for unevenly spaced X), the
|
|
235
|
+
* forecast extends the X range by that many X units, and the
|
|
236
|
+
* points carry real X coordinates sampled across the range.
|
|
221
237
|
*/
|
|
222
|
-
var computeTrendline = function (values, spec) {
|
|
223
|
-
var
|
|
238
|
+
var computeTrendline = function (values, spec, xValues) {
|
|
239
|
+
var e_4, _a;
|
|
240
|
+
var _b, _c, _d, _e, _f;
|
|
224
241
|
if (spec === void 0) { spec = {}; }
|
|
225
|
-
var pairs = toPairs(values);
|
|
242
|
+
var pairs = toPairs(values, xValues);
|
|
226
243
|
if (pairs.length < 2)
|
|
227
244
|
return null;
|
|
228
|
-
var type = (
|
|
229
|
-
var
|
|
230
|
-
var
|
|
245
|
+
var type = (_b = spec.type) !== null && _b !== void 0 ? _b : "linear";
|
|
246
|
+
var forwardRaw = Math.max(0, (_c = spec.forecastForward) !== null && _c !== void 0 ? _c : 0);
|
|
247
|
+
var backwardRaw = Math.max(0, (_d = spec.forecastBackward) !== null && _d !== void 0 ? _d : 0);
|
|
248
|
+
var forward = xValues ? forwardRaw : Math.floor(forwardRaw);
|
|
249
|
+
var backward = xValues ? backwardRaw : Math.floor(backwardRaw);
|
|
231
250
|
// Moving average is a smoothing of the observed values, not a fitted
|
|
232
251
|
// function, so it is handled separately and ignores forecasting.
|
|
233
252
|
if (type === "movingAvg") {
|
|
234
|
-
var period = Math.max(2, Math.floor((
|
|
253
|
+
var period = Math.max(2, Math.floor((_e = spec.period) !== null && _e !== void 0 ? _e : 2));
|
|
235
254
|
var points_1 = [];
|
|
236
255
|
for (var i = period - 1; i < values.length; i++) {
|
|
237
256
|
var sum = 0;
|
|
@@ -243,17 +262,61 @@ var computeTrendline = function (values, spec) {
|
|
|
243
262
|
count++;
|
|
244
263
|
}
|
|
245
264
|
}
|
|
246
|
-
if (count
|
|
265
|
+
if (count === 0)
|
|
266
|
+
continue;
|
|
267
|
+
if (xValues) {
|
|
268
|
+
var x = xValues[i];
|
|
269
|
+
if (isFiniteNum(x))
|
|
270
|
+
points_1.push({ x: x, y: sum / count });
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
247
273
|
points_1.push({ x: i, y: sum / count });
|
|
274
|
+
}
|
|
248
275
|
}
|
|
276
|
+
if (xValues)
|
|
277
|
+
points_1.sort(function (a, b) { return a.x - b.x; });
|
|
249
278
|
return { points: points_1, rSquared: null, equation: null };
|
|
250
279
|
}
|
|
251
|
-
// Fit domain is 1..n; a forecast of k periods extends it to 1−k / n+k.
|
|
252
|
-
var xStart = 1 - backward;
|
|
253
|
-
var xEnd = values.length + forward;
|
|
254
280
|
var xs = [];
|
|
255
|
-
|
|
256
|
-
|
|
281
|
+
if (xValues) {
|
|
282
|
+
// Sample the fitted curve across the data's X range, extended by the
|
|
283
|
+
// forecast in X units.
|
|
284
|
+
var minX = Infinity;
|
|
285
|
+
var maxX = -Infinity;
|
|
286
|
+
try {
|
|
287
|
+
for (var pairs_4 = tslib_1.__values(pairs), pairs_4_1 = pairs_4.next(); !pairs_4_1.done; pairs_4_1 = pairs_4.next()) {
|
|
288
|
+
var p = pairs_4_1.value;
|
|
289
|
+
if (p.x < minX)
|
|
290
|
+
minX = p.x;
|
|
291
|
+
if (p.x > maxX)
|
|
292
|
+
maxX = p.x;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
296
|
+
finally {
|
|
297
|
+
try {
|
|
298
|
+
if (pairs_4_1 && !pairs_4_1.done && (_a = pairs_4.return)) _a.call(pairs_4);
|
|
299
|
+
}
|
|
300
|
+
finally { if (e_4) throw e_4.error; }
|
|
301
|
+
}
|
|
302
|
+
var xStart = minX - backward;
|
|
303
|
+
var xEnd = maxX + forward;
|
|
304
|
+
if (xEnd > xStart) {
|
|
305
|
+
for (var i = 0; i <= XY_TRENDLINE_SAMPLES; i++) {
|
|
306
|
+
xs.push(xStart + ((xEnd - xStart) * i) / XY_TRENDLINE_SAMPLES);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
xs.push(xStart);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
// Fit domain is 1..n; a forecast of k periods extends it to 1−k / n+k.
|
|
315
|
+
var xStart = 1 - backward;
|
|
316
|
+
var xEnd = values.length + forward;
|
|
317
|
+
for (var x = xStart; x <= xEnd; x++)
|
|
318
|
+
xs.push(x);
|
|
319
|
+
}
|
|
257
320
|
var predict = null;
|
|
258
321
|
var equation = null;
|
|
259
322
|
switch (type) {
|
|
@@ -266,7 +329,7 @@ var computeTrendline = function (values, spec) {
|
|
|
266
329
|
break;
|
|
267
330
|
}
|
|
268
331
|
case "poly": {
|
|
269
|
-
var coeffs_1 = fitPoly(pairs, (
|
|
332
|
+
var coeffs_1 = fitPoly(pairs, (_f = spec.order) !== null && _f !== void 0 ? _f : 2);
|
|
270
333
|
if (!coeffs_1)
|
|
271
334
|
return null;
|
|
272
335
|
predict = function (x) {
|
|
@@ -310,9 +373,10 @@ var computeTrendline = function (values, spec) {
|
|
|
310
373
|
default:
|
|
311
374
|
return null;
|
|
312
375
|
}
|
|
313
|
-
// Report the renderer-facing 0-based category index (see module comment)
|
|
376
|
+
// Report the renderer-facing 0-based category index (see module comment);
|
|
377
|
+
// an XY fit reports the real X it was sampled at.
|
|
314
378
|
var points = xs
|
|
315
|
-
.map(function (x) { return ({ x: x - 1, y: predict(x) }); })
|
|
379
|
+
.map(function (x) { return ({ x: xValues ? x : x - 1, y: predict(x) }); })
|
|
316
380
|
.filter(function (p) { return Number.isFinite(p.y); });
|
|
317
381
|
if (points.length < 2)
|
|
318
382
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-chart.d.ts","sourceRoot":"","sources":["../../../basic-chart/basic-chart.tsx"],"names":[],"mappings":"AAkEA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"basic-chart.d.ts","sourceRoot":"","sources":["../../../basic-chart/basic-chart.tsx"],"names":[],"mappings":"AAkEA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAmRrD,MAAM,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAgFnD,eAAO,MAAM,UAAU,GAAI,gPAkBxB,eAAe,sBA4+GjB,CAAC"}
|