@formant/ava
Version:
A framework for automated visual analytics.
32 lines (31 loc) • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.trendStrategy = exports.trendAugmentedMarksStrategy = void 0;
var tslib_1 = require("tslib");
var commonMarks_1 = require("../commonMarks");
var chart_1 = require("../chart");
var utils_1 = require("../../../../utils");
var trendAugmentedMarksStrategy = function (insight) {
var chartData = insight.data, _a = tslib_1.__read(insight.dimensions, 1), dimensionName = _a[0].fieldName, patterns = insight.patterns;
var points = chartData.map(function (datum, index) {
var points = patterns[0].regression.points;
var point = points[index];
return [datum[dimensionName], point];
});
var _b = tslib_1.__read(patterns[0].regression.equation, 2), m = _b[0], c = _b[1];
var lineData = points.map(function (point) { return ({ x: point[0], y: point[1] }); });
var regressionLineMark = (0, commonMarks_1.lineMarkStrategy)({ points: lineData }, { label: "y=".concat((0, utils_1.dataFormat)(m), "x").concat(c < 0 ? '' : '+').concat((0, utils_1.dataFormat)(c)) });
return [
{
trendLine: [regressionLineMark],
},
];
};
exports.trendAugmentedMarksStrategy = trendAugmentedMarksStrategy;
var trendStrategy = function (insight) {
var _a, _b;
var chart = (0, chart_1.insight2ChartStrategy)(insight);
var trendMarks = (0, exports.trendAugmentedMarksStrategy)(insight);
return tslib_1.__spreadArray([chart], tslib_1.__read(((_b = (_a = trendMarks[0]) === null || _a === void 0 ? void 0 : _a.trendLine) !== null && _b !== void 0 ? _b : [])), false);
};
exports.trendStrategy = trendStrategy;