define(function (require) {
return function (ecModel) {
ecModel.eachSeriesByType('lines', function (seriesModel) {
var coordSys = seriesModel.coordinateSystem;
var fromData = seriesModel.fromData;
var toData = seriesModel.toData;
var lineData = seriesModel.getData();
var dims = coordSys.dimensions;
fromData.each(dims, function (x, y, idx) {
fromData.setItemLayout(idx, coordSys.dataToPoint([x, y]));
});
toData.each(dims, function (x, y, idx) {
toData.setItemLayout(idx, coordSys.dataToPoint([x, y]));
});
lineData.each(function (idx) {
var p1 = fromData.getItemLayout(idx);
var p2 = toData.getItemLayout(idx);
var curveness = lineData.getItemModel(idx).get('lineStyle.normal.curveness');
var cp1;
if (curveness > 0) {
cp1 = [
(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * curveness,
(p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * curveness
];
}
lineData.setItemLayout(idx, [p1, p2, cp1]);
});
});
};
});
|