cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
34 lines (33 loc) • 1.18 kB
JavaScript
import { each, find } from "../../../../zrender/lib/core/util.mjs";
function radarLayout(ecModel) {
ecModel.eachSeriesByType("radar", function(seriesModel) {
var data = seriesModel.getData();
var points = [];
var coordSys = seriesModel.coordinateSystem;
if (!coordSys) {
return;
}
var axes = coordSys.getIndicatorAxes();
each(axes, function(axis, axisIndex) {
data.each(data.mapDimension(axes[axisIndex].dim), function(val, dataIndex) {
points[dataIndex] = points[dataIndex] || [];
var point = coordSys.dataToPoint(val, axisIndex);
points[dataIndex][axisIndex] = isValidPoint(point) ? point : getValueMissingPoint(coordSys);
});
});
data.each(function(idx) {
var firstPoint = find(points[idx], function(point) {
return isValidPoint(point);
}) || getValueMissingPoint(coordSys);
points[idx].push(firstPoint.slice());
data.setItemLayout(idx, points[idx]);
});
});
}
function isValidPoint(point) {
return !isNaN(point[0]) && !isNaN(point[1]);
}
function getValueMissingPoint(coordSys) {
return [coordSys.cx, coordSys.cy];
}
export { radarLayout as default };