UNPKG

light-chart

Version:

Charts for mobile visualization.

52 lines (45 loc) 1.11 kB
const Base = require('./base'); class Cartesian extends Base { _initDefaultCfg() { this.type = 'cartesian'; this.transposed = false; this.isRect = true; } init(start, end) { this.x = { start: start.x, end: end.x }; this.y = { start: start.y, end: end.y }; } convertPoint(point) { const self = this; const transposed = self.transposed; const xDim = transposed ? 'y' : 'x'; const yDim = transposed ? 'x' : 'y'; const x = self.x; const y = self.y; return { x: x.start + (x.end - x.start) * point[xDim], y: y.start + (y.end - y.start) * point[yDim] }; } invertPoint(point) { const self = this; const transposed = self.transposed; const xDim = transposed ? 'y' : 'x'; const yDim = transposed ? 'x' : 'y'; const x = self.x; const y = self.y; const rst = {}; rst[xDim] = (point.x - x.start) / (x.end - x.start); rst[yDim] = (point.y - y.start) / (y.end - y.start); return rst; } } Base.Cartesian = Cartesian; Base.Rect = Cartesian; module.exports = Cartesian;