| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 | 
/** Licensed to the Apache Software Foundation (ASF) under one* or more contributor license agreements.  See the NOTICE file* distributed with this work for additional information* regarding copyright ownership.  The ASF licenses this file* to you under the Apache License, Version 2.0 (the* "License"); you may not use this file except in compliance* with the License.  You may obtain a copy of the License at**   http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing,* software distributed under the License is distributed on an* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY* KIND, either express or implied.  See the License for the* specific language governing permissions and limitations* under the License.*/var zrUtil = require("zrender/lib/core/util");var Axis = require("../Axis");/** Licensed to the Apache Software Foundation (ASF) under one* or more contributor license agreements.  See the NOTICE file* distributed with this work for additional information* regarding copyright ownership.  The ASF licenses this file* to you under the Apache License, Version 2.0 (the* "License"); you may not use this file except in compliance* with the License.  You may obtain a copy of the License at**   http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing,* software distributed under the License is distributed on an* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY* KIND, either express or implied.  See the License for the* specific language governing permissions and limitations* under the License.*//** * Extend axis 2d * @constructor module:echarts/coord/cartesian/Axis2D * @extends {module:echarts/coord/cartesian/Axis} * @param {string} dim * @param {*} scale * @param {Array.<number>} coordExtent * @param {string} axisType * @param {string} position */var Axis2D = function (dim, scale, coordExtent, axisType, position) {  Axis.call(this, dim, scale, coordExtent);  /**   * Axis type   *  - 'category'   *  - 'value'   *  - 'time'   *  - 'log'   * @type {string}   */  this.type = axisType || 'value';  /**   * Axis position   *  - 'top'   *  - 'bottom'   *  - 'left'   *  - 'right'   */  this.position = position || 'bottom';};Axis2D.prototype = {  constructor: Axis2D,  /**   * Index of axis, can be used as key   */  index: 0,  /**   * Implemented in <module:echarts/coord/cartesian/Grid>.   * @return {Array.<module:echarts/coord/cartesian/Axis2D>}   *         If not on zero of other axis, return null/undefined.   *         If no axes, return an empty array.   */  getAxesOnZeroOf: null,  /**   * Axis model   * @param {module:echarts/coord/cartesian/AxisModel}   */  model: null,  isHorizontal: function () {    var position = this.position;    return position === 'top' || position === 'bottom';  },  /**   * Each item cooresponds to this.getExtent(), which   * means globalExtent[0] may greater than globalExtent[1],   * unless `asc` is input.   *   * @param {boolean} [asc]   * @return {Array.<number>}   */  getGlobalExtent: function (asc) {    var ret = this.getExtent();    ret[0] = this.toGlobalCoord(ret[0]);    ret[1] = this.toGlobalCoord(ret[1]);    asc && ret[0] > ret[1] && ret.reverse();    return ret;  },  getOtherAxis: function () {    this.grid.getOtherAxis();  },  /**   * @override   */  pointToData: function (point, clamp) {    return this.coordToData(this.toLocalCoord(point[this.dim === 'x' ? 0 : 1]), clamp);  },  /**   * Transform global coord to local coord,   * i.e. var localCoord = axis.toLocalCoord(80);   * designate by module:echarts/coord/cartesian/Grid.   * @type {Function}   */  toLocalCoord: null,  /**   * Transform global coord to local coord,   * i.e. var globalCoord = axis.toLocalCoord(40);   * designate by module:echarts/coord/cartesian/Grid.   * @type {Function}   */  toGlobalCoord: null};zrUtil.inherits(Axis2D, Axis);var _default = Axis2D;module.exports = _default;
 |