UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

42 lines (41 loc) 1.35 kB
import { bind, map } from "../../../../zrender/lib/core/util.mjs"; function dataToCoordSize(dataSize, dataItem) { dataItem = dataItem || [0, 0]; return map(["Radius", "Angle"], function(dim, dimIdx) { var getterName = "get" + dim + "Axis"; var axis = this[getterName](); var val = dataItem[dimIdx]; var halfSize = dataSize[dimIdx] / 2; var result = axis.type === "category" ? axis.getBandWidth() : Math.abs(axis.dataToCoord(val - halfSize) - axis.dataToCoord(val + halfSize)); if (dim === "Angle") { result = result * Math.PI / 180; } return result; }, this); } function polarPrepareCustom(coordSys) { var radiusAxis = coordSys.getRadiusAxis(); var angleAxis = coordSys.getAngleAxis(); var radius = radiusAxis.getExtent(); radius[0] > radius[1] && radius.reverse(); return { coordSys: { type: "polar", cx: coordSys.cx, cy: coordSys.cy, r: radius[1], r0: radius[0] }, api: { coord: function(data) { var radius2 = radiusAxis.dataToRadius(data[0]); var angle = angleAxis.dataToAngle(data[1]); var coord = coordSys.coordToPoint([radius2, angle]); coord.push(radius2, angle * Math.PI / 180); return coord; }, size: bind(dataToCoordSize, coordSys) } }; } export { polarPrepareCustom as default };