1 |
- {"version":3,"file":"js/chunk-vendors-1dfd8ab8.e725da2f.js","mappings":"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","sources":["webpack://app/./node_modules/echarts/lib/coord/cartesian/Axis2D.js","webpack://app/./node_modules/echarts/lib/coord/cartesian/AxisModel.js","webpack://app/./node_modules/echarts/lib/coord/cartesian/Cartesian.js","webpack://app/./node_modules/echarts/lib/coord/cartesian/Cartesian2D.js","webpack://app/./node_modules/echarts/lib/coord/cartesian/Grid.js","webpack://app/./node_modules/echarts/lib/coord/cartesian/GridModel.js","webpack://app/./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js","webpack://app/./node_modules/echarts/lib/coord/cartesian/prepareCustom.js","webpack://app/./node_modules/echarts/lib/coord/geo/Geo.js","webpack://app/./node_modules/echarts/lib/coord/geo/GeoModel.js","webpack://app/./node_modules/echarts/lib/coord/geo/Region.js","webpack://app/./node_modules/echarts/lib/coord/geo/fix/diaoyuIsland.js"],"sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Extend axis 2d\n * @constructor module:echarts/coord/cartesian/Axis2D\n * @extends {module:echarts/coord/cartesian/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.<number>} coordExtent\n * @param {string} axisType\n * @param {string} position\n */\nvar Axis2D = function (dim, scale, coordExtent, axisType, position) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * Axis position\n * - 'top'\n * - 'bottom'\n * - 'left'\n * - 'right'\n */\n\n this.position = position || 'bottom';\n};\n\nAxis2D.prototype = {\n constructor: Axis2D,\n\n /**\n * Index of axis, can be used as key\n */\n index: 0,\n\n /**\n * Implemented in <module:echarts/coord/cartesian/Grid>.\n * @return {Array.<module:echarts/coord/cartesian/Axis2D>}\n * If not on zero of other axis, return null/undefined.\n * If no axes, return an empty array.\n */\n getAxesOnZeroOf: null,\n\n /**\n * Axis model\n * @param {module:echarts/coord/cartesian/AxisModel}\n */\n model: null,\n isHorizontal: function () {\n var position = this.position;\n return position === 'top' || position === 'bottom';\n },\n\n /**\n * Each item cooresponds to this.getExtent(), which\n * means globalExtent[0] may greater than globalExtent[1],\n * unless `asc` is input.\n *\n * @param {boolean} [asc]\n * @return {Array.<number>}\n */\n getGlobalExtent: function (asc) {\n var ret = this.getExtent();\n ret[0] = this.toGlobalCoord(ret[0]);\n ret[1] = this.toGlobalCoord(ret[1]);\n asc && ret[0] > ret[1] && ret.reverse();\n return ret;\n },\n getOtherAxis: function () {\n this.grid.getOtherAxis();\n },\n\n /**\n * @override\n */\n pointToData: function (point, clamp) {\n return this.coordToData(this.toLocalCoord(point[this.dim === 'x' ? 0 : 1]), clamp);\n },\n\n /**\n * Transform global coord to local coord,\n * i.e. var localCoord = axis.toLocalCoord(80);\n * designate by module:echarts/coord/cartesian/Grid.\n * @type {Function}\n */\n toLocalCoord: null,\n\n /**\n * Transform global coord to local coord,\n * i.e. var globalCoord = axis.toLocalCoord(40);\n * designate by module:echarts/coord/cartesian/Grid.\n * @type {Function}\n */\n toGlobalCoord: null\n};\nzrUtil.inherits(Axis2D, Axis);\nvar _default = Axis2D;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar axisModelCreator = require(\"../axisModelCreator\");\n\nvar axisModelCommonMixin = require(\"../axisModelCommonMixin\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AxisModel = ComponentModel.extend({\n type: 'cartesian2dAxis',\n\n /**\n * @type {module:echarts/coord/cartesian/Axis2D}\n */\n axis: null,\n\n /**\n * @override\n */\n init: function () {\n AxisModel.superApply(this, 'init', arguments);\n this.resetRange();\n },\n\n /**\n * @override\n */\n mergeOption: function () {\n AxisModel.superApply(this, 'mergeOption', arguments);\n this.resetRange();\n },\n\n /**\n * @override\n */\n restoreData: function () {\n AxisModel.superApply(this, 'restoreData', arguments);\n this.resetRange();\n },\n\n /**\n * @override\n * @return {module:echarts/model/Component}\n */\n getCoordSysModel: function () {\n return this.ecModel.queryComponents({\n mainType: 'grid',\n index: this.option.gridIndex,\n id: this.option.gridId\n })[0];\n }\n});\n\nfunction getAxisType(axisDim, option) {\n // Default axis with data is category axis\n return option.type || (option.data ? 'category' : 'value');\n}\n\nzrUtil.merge(AxisModel.prototype, axisModelCommonMixin);\nvar extraOption = {\n // gridIndex: 0,\n // gridId: '',\n // Offset is for multiple axis on the same position\n offset: 0\n};\naxisModelCreator('x', AxisModel, getAxisType, extraOption);\naxisModelCreator('y', AxisModel, getAxisType, extraOption);\nvar _default = AxisModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Cartesian coordinate system\n * @module echarts/coord/Cartesian\n *\n */\nfunction dimAxisMapper(dim) {\n return this._axes[dim];\n}\n/**\n * @alias module:echarts/coord/Cartesian\n * @constructor\n */\n\n\nvar Cartesian = function (name) {\n this._axes = {};\n this._dimList = [];\n /**\n * @type {string}\n */\n\n this.name = name || '';\n};\n\nCartesian.prototype = {\n constructor: Cartesian,\n type: 'cartesian',\n\n /**\n * Get axis\n * @param {number|string} dim\n * @return {module:echarts/coord/Cartesian~Axis}\n */\n getAxis: function (dim) {\n return this._axes[dim];\n },\n\n /**\n * Get axes list\n * @return {Array.<module:echarts/coord/Cartesian~Axis>}\n */\n getAxes: function () {\n return zrUtil.map(this._dimList, dimAxisMapper, this);\n },\n\n /**\n * Get axes list by given scale type\n */\n getAxesByScale: function (scaleType) {\n scaleType = scaleType.toLowerCase();\n return zrUtil.filter(this.getAxes(), function (axis) {\n return axis.scale.type === scaleType;\n });\n },\n\n /**\n * Add axis\n * @param {module:echarts/coord/Cartesian.Axis}\n */\n addAxis: function (axis) {\n var dim = axis.dim;\n this._axes[dim] = axis;\n\n this._dimList.push(dim);\n },\n\n /**\n * Convert data to coord in nd space\n * @param {Array.<number>|Object.<string, number>} val\n * @return {Array.<number>|Object.<string, number>}\n */\n dataToCoord: function (val) {\n return this._dataCoordConvert(val, 'dataToCoord');\n },\n\n /**\n * Convert coord in nd space to data\n * @param {Array.<number>|Object.<string, number>} val\n * @return {Array.<number>|Object.<string, number>}\n */\n coordToData: function (val) {\n return this._dataCoordConvert(val, 'coordToData');\n },\n _dataCoordConvert: function (input, method) {\n var dimList = this._dimList;\n var output = input instanceof Array ? [] : {};\n\n for (var i = 0; i < dimList.length; i++) {\n var dim = dimList[i];\n var axis = this._axes[dim];\n output[dim] = axis[method](input[dim]);\n }\n\n return output;\n }\n};\nvar _default = Cartesian;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar Cartesian = require(\"./Cartesian\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction Cartesian2D(name) {\n Cartesian.call(this, name);\n}\n\nCartesian2D.prototype = {\n constructor: Cartesian2D,\n type: 'cartesian2d',\n\n /**\n * @type {Array.<string>}\n * @readOnly\n */\n dimensions: ['x', 'y'],\n\n /**\n * Base axis will be used on stacking.\n *\n * @return {module:echarts/coord/cartesian/Axis2D}\n */\n getBaseAxis: function () {\n return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAxis('x');\n },\n\n /**\n * If contain point\n * @param {Array.<number>} point\n * @return {boolean}\n */\n containPoint: function (point) {\n var axisX = this.getAxis('x');\n var axisY = this.getAxis('y');\n return axisX.contain(axisX.toLocalCoord(point[0])) && axisY.contain(axisY.toLocalCoord(point[1]));\n },\n\n /**\n * If contain data\n * @param {Array.<number>} data\n * @return {boolean}\n */\n containData: function (data) {\n return this.getAxis('x').containData(data[0]) && this.getAxis('y').containData(data[1]);\n },\n\n /**\n * @param {Array.<number>} data\n * @param {Array.<number>} out\n * @return {Array.<number>}\n */\n dataToPoint: function (data, reserved, out) {\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out = out || [];\n out[0] = xAxis.toGlobalCoord(xAxis.dataToCoord(data[0]));\n out[1] = yAxis.toGlobalCoord(yAxis.dataToCoord(data[1]));\n return out;\n },\n\n /**\n * @param {Array.<number>} data\n * @param {Array.<number>} out\n * @return {Array.<number>}\n */\n clampData: function (data, out) {\n var xScale = this.getAxis('x').scale;\n var yScale = this.getAxis('y').scale;\n var xAxisExtent = xScale.getExtent();\n var yAxisExtent = yScale.getExtent();\n var x = xScale.parse(data[0]);\n var y = yScale.parse(data[1]);\n out = out || [];\n out[0] = Math.min(Math.max(Math.min(xAxisExtent[0], xAxisExtent[1]), x), Math.max(xAxisExtent[0], xAxisExtent[1]));\n out[1] = Math.min(Math.max(Math.min(yAxisExtent[0], yAxisExtent[1]), y), Math.max(yAxisExtent[0], yAxisExtent[1]));\n return out;\n },\n\n /**\n * @param {Array.<number>} point\n * @param {Array.<number>} out\n * @return {Array.<number>}\n */\n pointToData: function (point, out) {\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out = out || [];\n out[0] = xAxis.coordToData(xAxis.toLocalCoord(point[0]));\n out[1] = yAxis.coordToData(yAxis.toLocalCoord(point[1]));\n return out;\n },\n\n /**\n * Get other axis\n * @param {module:echarts/coord/cartesian/Axis2D} axis\n */\n getOtherAxis: function (axis) {\n return this.getAxis(axis.dim === 'x' ? 'y' : 'x');\n },\n\n /**\n * Get rect area of cartesian.\n * Area will have a contain function to determine if a point is in the coordinate system.\n * @return {BoundingRect}\n */\n getArea: function () {\n var xExtent = this.getAxis('x').getGlobalExtent();\n var yExtent = this.getAxis('y').getGlobalExtent();\n var x = Math.min(xExtent[0], xExtent[1]);\n var y = Math.min(yExtent[0], yExtent[1]);\n var width = Math.max(xExtent[0], xExtent[1]) - x;\n var height = Math.max(yExtent[0], yExtent[1]) - y;\n var rect = new BoundingRect(x, y, width, height);\n return rect;\n }\n};\nzrUtil.inherits(Cartesian2D, Cartesian);\nvar _default = Cartesian2D;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar isObject = _util.isObject;\nvar each = _util.each;\nvar map = _util.map;\nvar indexOf = _util.indexOf;\nvar retrieve = _util.retrieve;\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\n\nvar _axisHelper = require(\"../../coord/axisHelper\");\n\nvar createScaleByModel = _axisHelper.createScaleByModel;\nvar ifAxisCrossZero = _axisHelper.ifAxisCrossZero;\nvar niceScaleExtent = _axisHelper.niceScaleExtent;\nvar estimateLabelUnionRect = _axisHelper.estimateLabelUnionRect;\n\nvar Cartesian2D = require(\"./Cartesian2D\");\n\nvar Axis2D = require(\"./Axis2D\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\nvar _dataStackHelper = require(\"../../data/helper/dataStackHelper\");\n\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\nrequire(\"./GridModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Grid is a region which contains at most 4 cartesian systems\n *\n * TODO Default cartesian\n */\n// Depends on GridModel, AxisModel, which performs preprocess.\n\n/**\n * Check if the axis is used in the specified grid\n * @inner\n */\nfunction isAxisUsedInTheGrid(axisModel, gridModel, ecModel) {\n return axisModel.getCoordSysModel() === gridModel;\n}\n\nfunction Grid(gridModel, ecModel, api) {\n /**\n * @type {Object.<string, module:echarts/coord/cartesian/Cartesian2D>}\n * @private\n */\n this._coordsMap = {};\n /**\n * @type {Array.<module:echarts/coord/cartesian/Cartesian>}\n * @private\n */\n\n this._coordsList = [];\n /**\n * @type {Object.<string, Array.<module:echarts/coord/cartesian/Axis2D>>}\n * @private\n */\n\n this._axesMap = {};\n /**\n * @type {Array.<module:echarts/coord/cartesian/Axis2D>}\n * @private\n */\n\n this._axesList = [];\n\n this._initCartesian(gridModel, ecModel, api);\n\n this.model = gridModel;\n}\n\nvar gridProto = Grid.prototype;\ngridProto.type = 'grid';\ngridProto.axisPointerEnabled = true;\n\ngridProto.getRect = function () {\n return this._rect;\n};\n\ngridProto.update = function (ecModel, api) {\n var axesMap = this._axesMap;\n\n this._updateScale(ecModel, this.model);\n\n each(axesMap.x, function (xAxis) {\n niceScaleExtent(xAxis.scale, xAxis.model);\n });\n each(axesMap.y, function (yAxis) {\n niceScaleExtent(yAxis.scale, yAxis.model);\n }); // Key: axisDim_axisIndex, value: boolean, whether onZero target.\n\n var onZeroRecords = {};\n each(axesMap.x, function (xAxis) {\n fixAxisOnZero(axesMap, 'y', xAxis, onZeroRecords);\n });\n each(axesMap.y, function (yAxis) {\n fixAxisOnZero(axesMap, 'x', yAxis, onZeroRecords);\n }); // Resize again if containLabel is enabled\n // FIXME It may cause getting wrong grid size in data processing stage\n\n this.resize(this.model, api);\n};\n\nfunction fixAxisOnZero(axesMap, otherAxisDim, axis, onZeroRecords) {\n axis.getAxesOnZeroOf = function () {\n // TODO: onZero of multiple axes.\n return otherAxisOnZeroOf ? [otherAxisOnZeroOf] : [];\n }; // onZero can not be enabled in these two situations:\n // 1. When any other axis is a category axis.\n // 2. When no axis is cross 0 point.\n\n\n var otherAxes = axesMap[otherAxisDim];\n var otherAxisOnZeroOf;\n var axisModel = axis.model;\n var onZero = axisModel.get('axisLine.onZero');\n var onZeroAxisIndex = axisModel.get('axisLine.onZeroAxisIndex');\n\n if (!onZero) {\n return;\n } // If target axis is specified.\n\n\n if (onZeroAxisIndex != null) {\n if (canOnZeroToAxis(otherAxes[onZeroAxisIndex])) {\n otherAxisOnZeroOf = otherAxes[onZeroAxisIndex];\n }\n } else {\n // Find the first available other axis.\n for (var idx in otherAxes) {\n if (otherAxes.hasOwnProperty(idx) && canOnZeroToAxis(otherAxes[idx]) // Consider that two Y axes on one value axis,\n // if both onZero, the two Y axes overlap.\n && !onZeroRecords[getOnZeroRecordKey(otherAxes[idx])]) {\n otherAxisOnZeroOf = otherAxes[idx];\n break;\n }\n }\n }\n\n if (otherAxisOnZeroOf) {\n onZeroRecords[getOnZeroRecordKey(otherAxisOnZeroOf)] = true;\n }\n\n function getOnZeroRecordKey(axis) {\n return axis.dim + '_' + axis.index;\n }\n}\n\nfunction canOnZeroToAxis(axis) {\n return axis && axis.type !== 'category' && axis.type !== 'time' && ifAxisCrossZero(axis);\n}\n/**\n * Resize the grid\n * @param {module:echarts/coord/cartesian/GridModel} gridModel\n * @param {module:echarts/ExtensionAPI} api\n */\n\n\ngridProto.resize = function (gridModel, api, ignoreContainLabel) {\n var gridRect = getLayoutRect(gridModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n this._rect = gridRect;\n var axesList = this._axesList;\n adjustAxes(); // Minus label size\n\n if (!ignoreContainLabel && gridModel.get('containLabel')) {\n each(axesList, function (axis) {\n if (!axis.model.get('axisLabel.inside')) {\n var labelUnionRect = estimateLabelUnionRect(axis);\n\n if (labelUnionRect) {\n var dim = axis.isHorizontal() ? 'height' : 'width';\n var margin = axis.model.get('axisLabel.margin');\n gridRect[dim] -= labelUnionRect[dim] + margin;\n\n if (axis.position === 'top') {\n gridRect.y += labelUnionRect.height + margin;\n } else if (axis.position === 'left') {\n gridRect.x += labelUnionRect.width + margin;\n }\n }\n }\n });\n adjustAxes();\n }\n\n function adjustAxes() {\n each(axesList, function (axis) {\n var isHorizontal = axis.isHorizontal();\n var extent = isHorizontal ? [0, gridRect.width] : [0, gridRect.height];\n var idx = axis.inverse ? 1 : 0;\n axis.setExtent(extent[idx], extent[1 - idx]);\n updateAxisTransform(axis, isHorizontal ? gridRect.x : gridRect.y);\n });\n }\n};\n/**\n * @param {string} axisType\n * @param {number} [axisIndex]\n */\n\n\ngridProto.getAxis = function (axisType, axisIndex) {\n var axesMapOnDim = this._axesMap[axisType];\n\n if (axesMapOnDim != null) {\n if (axisIndex == null) {\n // Find first axis\n for (var name in axesMapOnDim) {\n if (axesMapOnDim.hasOwnProperty(name)) {\n return axesMapOnDim[name];\n }\n }\n }\n\n return axesMapOnDim[axisIndex];\n }\n};\n/**\n * @return {Array.<module:echarts/coord/Axis>}\n */\n\n\ngridProto.getAxes = function () {\n return this._axesList.slice();\n};\n/**\n * Usage:\n * grid.getCartesian(xAxisIndex, yAxisIndex);\n * grid.getCartesian(xAxisIndex);\n * grid.getCartesian(null, yAxisIndex);\n * grid.getCartesian({xAxisIndex: ..., yAxisIndex: ...});\n *\n * @param {number|Object} [xAxisIndex]\n * @param {number} [yAxisIndex]\n */\n\n\ngridProto.getCartesian = function (xAxisIndex, yAxisIndex) {\n if (xAxisIndex != null && yAxisIndex != null) {\n var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n return this._coordsMap[key];\n }\n\n if (isObject(xAxisIndex)) {\n yAxisIndex = xAxisIndex.yAxisIndex;\n xAxisIndex = xAxisIndex.xAxisIndex;\n } // When only xAxisIndex or yAxisIndex given, find its first cartesian.\n\n\n for (var i = 0, coordList = this._coordsList; i < coordList.length; i++) {\n if (coordList[i].getAxis('x').index === xAxisIndex || coordList[i].getAxis('y').index === yAxisIndex) {\n return coordList[i];\n }\n }\n};\n\ngridProto.getCartesians = function () {\n return this._coordsList.slice();\n};\n/**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n\n\ngridProto.convertToPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(ecModel, finder);\n\n return target.cartesian ? target.cartesian.dataToPoint(value) : target.axis ? target.axis.toGlobalCoord(target.axis.dataToCoord(value)) : null;\n};\n/**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n\n\ngridProto.convertFromPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(ecModel, finder);\n\n return target.cartesian ? target.cartesian.pointToData(value) : target.axis ? target.axis.coordToData(target.axis.toLocalCoord(value)) : null;\n};\n/**\n * @inner\n */\n\n\ngridProto._findConvertTarget = function (ecModel, finder) {\n var seriesModel = finder.seriesModel;\n var xAxisModel = finder.xAxisModel || seriesModel && seriesModel.getReferringComponents('xAxis')[0];\n var yAxisModel = finder.yAxisModel || seriesModel && seriesModel.getReferringComponents('yAxis')[0];\n var gridModel = finder.gridModel;\n var coordsList = this._coordsList;\n var cartesian;\n var axis;\n\n if (seriesModel) {\n cartesian = seriesModel.coordinateSystem;\n indexOf(coordsList, cartesian) < 0 && (cartesian = null);\n } else if (xAxisModel && yAxisModel) {\n cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n } else if (xAxisModel) {\n axis = this.getAxis('x', xAxisModel.componentIndex);\n } else if (yAxisModel) {\n axis = this.getAxis('y', yAxisModel.componentIndex);\n } // Lowest priority.\n else if (gridModel) {\n var grid = gridModel.coordinateSystem;\n\n if (grid === this) {\n cartesian = this._coordsList[0];\n }\n }\n\n return {\n cartesian: cartesian,\n axis: axis\n };\n};\n/**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n\n\ngridProto.containPoint = function (point) {\n var coord = this._coordsList[0];\n\n if (coord) {\n return coord.containPoint(point);\n }\n};\n/**\n * Initialize cartesian coordinate systems\n * @private\n */\n\n\ngridProto._initCartesian = function (gridModel, ecModel, api) {\n var axisPositionUsed = {\n left: false,\n right: false,\n top: false,\n bottom: false\n };\n var axesMap = {\n x: {},\n y: {}\n };\n var axesCount = {\n x: 0,\n y: 0\n }; /// Create axis\n\n ecModel.eachComponent('xAxis', createAxisCreator('x'), this);\n ecModel.eachComponent('yAxis', createAxisCreator('y'), this);\n\n if (!axesCount.x || !axesCount.y) {\n // Roll back when there no either x or y axis\n this._axesMap = {};\n this._axesList = [];\n return;\n }\n\n this._axesMap = axesMap; /// Create cartesian2d\n\n each(axesMap.x, function (xAxis, xAxisIndex) {\n each(axesMap.y, function (yAxis, yAxisIndex) {\n var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n var cartesian = new Cartesian2D(key);\n cartesian.grid = this;\n cartesian.model = gridModel;\n this._coordsMap[key] = cartesian;\n\n this._coordsList.push(cartesian);\n\n cartesian.addAxis(xAxis);\n cartesian.addAxis(yAxis);\n }, this);\n }, this);\n\n function createAxisCreator(axisType) {\n return function (axisModel, idx) {\n if (!isAxisUsedInTheGrid(axisModel, gridModel, ecModel)) {\n return;\n }\n\n var axisPosition = axisModel.get('position');\n\n if (axisType === 'x') {\n // Fix position\n if (axisPosition !== 'top' && axisPosition !== 'bottom') {\n // Default bottom of X\n axisPosition = axisPositionUsed.bottom ? 'top' : 'bottom';\n }\n } else {\n // Fix position\n if (axisPosition !== 'left' && axisPosition !== 'right') {\n // Default left of Y\n axisPosition = axisPositionUsed.left ? 'right' : 'left';\n }\n }\n\n axisPositionUsed[axisPosition] = true;\n var axis = new Axis2D(axisType, createScaleByModel(axisModel), [0, 0], axisModel.get('type'), axisPosition);\n var isCategory = axis.type === 'category';\n axis.onBand = isCategory && axisModel.get('boundaryGap');\n axis.inverse = axisModel.get('inverse'); // Inject axis into axisModel\n\n axisModel.axis = axis; // Inject axisModel into axis\n\n axis.model = axisModel; // Inject grid info axis\n\n axis.grid = this; // Index of axis, can be used as key\n\n axis.index = idx;\n\n this._axesList.push(axis);\n\n axesMap[axisType][idx] = axis;\n axesCount[axisType]++;\n };\n }\n};\n/**\n * Update cartesian properties from series\n * @param {module:echarts/model/Option} option\n * @private\n */\n\n\ngridProto._updateScale = function (ecModel, gridModel) {\n // Reset scale\n each(this._axesList, function (axis) {\n axis.scale.setExtent(Infinity, -Infinity);\n });\n ecModel.eachSeries(function (seriesModel) {\n if (isCartesian2D(seriesModel)) {\n var axesModels = findAxesModels(seriesModel, ecModel);\n var xAxisModel = axesModels[0];\n var yAxisModel = axesModels[1];\n\n if (!isAxisUsedInTheGrid(xAxisModel, gridModel, ecModel) || !isAxisUsedInTheGrid(yAxisModel, gridModel, ecModel)) {\n return;\n }\n\n var cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n var data = seriesModel.getData();\n var xAxis = cartesian.getAxis('x');\n var yAxis = cartesian.getAxis('y');\n\n if (data.type === 'list') {\n unionExtent(data, xAxis, seriesModel);\n unionExtent(data, yAxis, seriesModel);\n }\n }\n }, this);\n\n function unionExtent(data, axis, seriesModel) {\n each(data.mapDimension(axis.dim, true), function (dim) {\n axis.scale.unionExtentFromData( // For example, the extent of the orginal dimension\n // is [0.1, 0.5], the extent of the `stackResultDimension`\n // is [7, 9], the final extent should not include [0.1, 0.5].\n data, getStackedDimension(data, dim));\n });\n }\n};\n/**\n * @param {string} [dim] 'x' or 'y' or 'auto' or null/undefined\n * @return {Object} {baseAxes: [], otherAxes: []}\n */\n\n\ngridProto.getTooltipAxes = function (dim) {\n var baseAxes = [];\n var otherAxes = [];\n each(this.getCartesians(), function (cartesian) {\n var baseAxis = dim != null && dim !== 'auto' ? cartesian.getAxis(dim) : cartesian.getBaseAxis();\n var otherAxis = cartesian.getOtherAxis(baseAxis);\n indexOf(baseAxes, baseAxis) < 0 && baseAxes.push(baseAxis);\n indexOf(otherAxes, otherAxis) < 0 && otherAxes.push(otherAxis);\n });\n return {\n baseAxes: baseAxes,\n otherAxes: otherAxes\n };\n};\n/**\n * @inner\n */\n\n\nfunction updateAxisTransform(axis, coordBase) {\n var axisExtent = axis.getExtent();\n var axisExtentSum = axisExtent[0] + axisExtent[1]; // Fast transform\n\n axis.toGlobalCoord = axis.dim === 'x' ? function (coord) {\n return coord + coordBase;\n } : function (coord) {\n return axisExtentSum - coord + coordBase;\n };\n axis.toLocalCoord = axis.dim === 'x' ? function (coord) {\n return coord - coordBase;\n } : function (coord) {\n return axisExtentSum - coord + coordBase;\n };\n}\n\nvar axesTypes = ['xAxis', 'yAxis'];\n/**\n * @inner\n */\n\nfunction findAxesModels(seriesModel, ecModel) {\n return map(axesTypes, function (axisType) {\n var axisModel = seriesModel.getReferringComponents(axisType)[0];\n return axisModel;\n });\n}\n/**\n * @inner\n */\n\n\nfunction isCartesian2D(seriesModel) {\n return seriesModel.get('coordinateSystem') === 'cartesian2d';\n}\n\nGrid.create = function (ecModel, api) {\n var grids = [];\n ecModel.eachComponent('grid', function (gridModel, idx) {\n var grid = new Grid(gridModel, ecModel, api);\n grid.name = 'grid_' + idx; // dataSampling requires axis extent, so resize\n // should be performed in create stage.\n\n grid.resize(gridModel, api, true);\n gridModel.coordinateSystem = grid;\n grids.push(grid);\n }); // Inject the coordinateSystems into seriesModel\n\n ecModel.eachSeries(function (seriesModel) {\n if (!isCartesian2D(seriesModel)) {\n return;\n }\n\n var axesModels = findAxesModels(seriesModel, ecModel);\n var xAxisModel = axesModels[0];\n var yAxisModel = axesModels[1];\n var gridModel = xAxisModel.getCoordSysModel();\n var grid = gridModel.coordinateSystem;\n seriesModel.coordinateSystem = grid.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n });\n return grids;\n}; // For deciding which dimensions to use when creating list data\n\n\nGrid.dimensions = Grid.prototype.dimensions = Cartesian2D.prototype.dimensions;\nCoordinateSystem.register('cartesian2d', Grid);\nvar _default = Grid;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./AxisModel\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Grid 是在有直角坐标系的时候必须要存在的\n// 所以这里也要被 Cartesian2D 依赖\nvar _default = ComponentModel.extend({\n type: 'grid',\n dependencies: ['xAxis', 'yAxis'],\n layoutMode: 'box',\n\n /**\n * @type {module:echarts/coord/cartesian/Grid}\n */\n coordinateSystem: null,\n defaultOption: {\n show: false,\n zlevel: 0,\n z: 0,\n left: '10%',\n top: 60,\n right: '10%',\n bottom: 60,\n // If grid size contain label\n containLabel: false,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n backgroundColor: 'rgba(0,0,0,0)',\n borderWidth: 1,\n borderColor: '#ccc'\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Can only be called after coordinate system creation stage.\n * (Can be called before coordinate system update stage).\n *\n * @param {Object} opt {labelInside}\n * @return {Object} {\n * position, rotation, labelDirection, labelOffset,\n * tickDirection, labelRotate, z2\n * }\n */\nfunction layout(gridModel, axisModel, opt) {\n opt = opt || {};\n var grid = gridModel.coordinateSystem;\n var axis = axisModel.axis;\n var layout = {};\n var otherAxisOnZeroOf = axis.getAxesOnZeroOf()[0];\n var rawAxisPosition = axis.position;\n var axisPosition = otherAxisOnZeroOf ? 'onZero' : rawAxisPosition;\n var axisDim = axis.dim;\n var rect = grid.getRect();\n var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];\n var idx = {\n left: 0,\n right: 1,\n top: 0,\n bottom: 1,\n onZero: 2\n };\n var axisOffset = axisModel.get('offset') || 0;\n var posBound = axisDim === 'x' ? [rectBound[2] - axisOffset, rectBound[3] + axisOffset] : [rectBound[0] - axisOffset, rectBound[1] + axisOffset];\n\n if (otherAxisOnZeroOf) {\n var onZeroCoord = otherAxisOnZeroOf.toGlobalCoord(otherAxisOnZeroOf.dataToCoord(0));\n posBound[idx.onZero] = Math.max(Math.min(onZeroCoord, posBound[1]), posBound[0]);\n } // Axis position\n\n\n layout.position = [axisDim === 'y' ? posBound[idx[axisPosition]] : rectBound[0], axisDim === 'x' ? posBound[idx[axisPosition]] : rectBound[3]]; // Axis rotation\n\n layout.rotation = Math.PI / 2 * (axisDim === 'x' ? 0 : 1); // Tick and label direction, x y is axisDim\n\n var dirMap = {\n top: -1,\n bottom: 1,\n left: -1,\n right: 1\n };\n layout.labelDirection = layout.tickDirection = layout.nameDirection = dirMap[rawAxisPosition];\n layout.labelOffset = otherAxisOnZeroOf ? posBound[idx[rawAxisPosition]] - posBound[idx.onZero] : 0;\n\n if (axisModel.get('axisTick.inside')) {\n layout.tickDirection = -layout.tickDirection;\n }\n\n if (zrUtil.retrieve(opt.labelInside, axisModel.get('axisLabel.inside'))) {\n layout.labelDirection = -layout.labelDirection;\n } // Special label rotation\n\n\n var labelRotate = axisModel.get('axisLabel.rotate');\n layout.labelRotate = axisPosition === 'top' ? -labelRotate : labelRotate; // Over splitLine and splitArea\n\n layout.z2 = 1;\n return layout;\n}\n\nexports.layout = layout;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction dataToCoordSize(dataSize, dataItem) {\n // dataItem is necessary in log axis.\n dataItem = dataItem || [0, 0];\n return zrUtil.map(['x', 'y'], function (dim, dimIdx) {\n var axis = this.getAxis(dim);\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n return axis.type === 'category' ? axis.getBandWidth() : Math.abs(axis.dataToCoord(val - halfSize) - axis.dataToCoord(val + halfSize));\n }, this);\n}\n\nfunction _default(coordSys) {\n var rect = coordSys.grid.getRect();\n return {\n coordSys: {\n // The name exposed to user is always 'cartesian2d' but not 'grid'.\n type: 'cartesian2d',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n api: {\n coord: function (data) {\n // do not provide \"out\" param\n return coordSys.dataToPoint(data);\n },\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar View = require(\"../View\");\n\nvar geoSourceManager = require(\"./geoSourceManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [Geo description]\n * For backward compatibility, the orginal interface:\n * `name, map, geoJson, specialAreas, nameMap` is kept.\n *\n * @param {string|Object} name\n * @param {string} map Map type\n * Specify the positioned areas by left, top, width, height\n * @param {Object.<string, string>} [nameMap]\n * Specify name alias\n * @param {boolean} [invertLongitute=true]\n */\nfunction Geo(name, map, nameMap, invertLongitute) {\n View.call(this, name);\n /**\n * Map type\n * @type {string}\n */\n\n this.map = map;\n var source = geoSourceManager.load(map, nameMap);\n this._nameCoordMap = source.nameCoordMap;\n this._regionsMap = source.regionsMap;\n this._invertLongitute = invertLongitute == null ? true : invertLongitute;\n /**\n * @readOnly\n */\n\n this.regions = source.regions;\n /**\n * @type {module:zrender/src/core/BoundingRect}\n */\n\n this._rect = source.boundingRect;\n}\n\nGeo.prototype = {\n constructor: Geo,\n type: 'geo',\n\n /**\n * @param {Array.<string>}\n * @readOnly\n */\n dimensions: ['lng', 'lat'],\n\n /**\n * If contain given lng,lat coord\n * @param {Array.<number>}\n * @readOnly\n */\n containCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * @override\n */\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var invertLongitute = this._invertLongitute;\n rect = rect.clone();\n\n if (invertLongitute) {\n // Longitute is inverted\n rect.y = -rect.y - rect.height;\n }\n\n var rawTransformable = this._rawTransformable;\n rawTransformable.transform = rect.calculateTransform(new BoundingRect(x, y, width, height));\n rawTransformable.decomposeTransform();\n\n if (invertLongitute) {\n var scale = rawTransformable.scale;\n scale[1] = -scale[1];\n }\n\n rawTransformable.updateTransform();\n\n this._updateTransform();\n },\n\n /**\n * @param {string} name\n * @return {module:echarts/coord/geo/Region}\n */\n getRegion: function (name) {\n return this._regionsMap.get(name);\n },\n getRegionByCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return regions[i];\n }\n }\n },\n\n /**\n * Add geoCoord for indexing by name\n * @param {string} name\n * @param {Array.<number>} geoCoord\n */\n addGeoCoord: function (name, geoCoord) {\n this._nameCoordMap.set(name, geoCoord);\n },\n\n /**\n * Get geoCoord by name\n * @param {string} name\n * @return {Array.<number>}\n */\n getGeoCoord: function (name) {\n return this._nameCoordMap.get(name);\n },\n\n /**\n * @override\n */\n getBoundingRect: function () {\n return this._rect;\n },\n\n /**\n * @param {string|Array.<number>} data\n * @param {boolean} noRoam\n * @param {Array.<number>} [out]\n * @return {Array.<number>}\n */\n dataToPoint: function (data, noRoam, out) {\n if (typeof data === 'string') {\n // Map area name to geoCoord\n data = this.getGeoCoord(data);\n }\n\n if (data) {\n return View.prototype.dataToPoint.call(this, data, noRoam, out);\n }\n },\n\n /**\n * @override\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @override\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData')\n};\nzrUtil.mixin(Geo, View);\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var geoModel = finder.geoModel;\n var seriesModel = finder.seriesModel;\n var coordSys = geoModel ? geoModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem // For map.\n || (seriesModel.getReferringComponents('geo')[0] || {}).coordinateSystem : null;\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nvar _default = Geo;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar Model = require(\"../../model/Model\");\n\nvar selectableMixin = require(\"../../component/helper/selectableMixin\");\n\nvar geoCreator = require(\"./geoCreator\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar GeoModel = ComponentModel.extend({\n type: 'geo',\n\n /**\n * @type {module:echarts/coord/geo/Geo}\n */\n coordinateSystem: null,\n layoutMode: 'box',\n init: function (option) {\n ComponentModel.prototype.init.apply(this, arguments); // Default label emphasis `show`\n\n modelUtil.defaultEmphasis(option, 'label', ['show']);\n },\n optionUpdated: function () {\n var option = this.option;\n var self = this;\n option.regions = geoCreator.getFilledRegions(option.regions, option.map, option.nameMap);\n this._optionModelMap = zrUtil.reduce(option.regions || [], function (optionModelMap, regionOpt) {\n if (regionOpt.name) {\n optionModelMap.set(regionOpt.name, new Model(regionOpt, self));\n }\n\n return optionModelMap;\n }, zrUtil.createHashMap());\n this.updateSelectedMap(option.regions);\n },\n defaultOption: {\n zlevel: 0,\n z: 0,\n show: true,\n left: 'center',\n top: 'center',\n // width:,\n // height:,\n // right\n // bottom\n // Aspect is width / height. Inited to be geoJson bbox aspect\n // This parameter is used for scale this aspect\n // If svg used, aspectScale is 1 by default.\n // aspectScale: 0.75,\n aspectScale: null,\n ///// Layout with center and size\n // If you wan't to put map in a fixed size box with right aspect ratio\n // This two properties may more conveninet\n // layoutCenter: [50%, 50%]\n // layoutSize: 100\n silent: false,\n // Map type\n map: '',\n // Define left-top, right-bottom coords to control view\n // For example, [ [180, 90], [-180, -90] ]\n boundingCoords: null,\n // Default on center of map\n center: null,\n zoom: 1,\n scaleLimit: null,\n // selectedMode: false\n label: {\n show: false,\n color: '#000'\n },\n itemStyle: {\n // color: 各异,\n borderWidth: 0.5,\n borderColor: '#444',\n color: '#eee'\n },\n emphasis: {\n label: {\n show: true,\n color: 'rgb(100,0,0)'\n },\n itemStyle: {\n color: 'rgba(255,215,0,0.8)'\n }\n },\n regions: []\n },\n\n /**\n * Get model of region\n * @param {string} name\n * @return {module:echarts/model/Model}\n */\n getRegionModel: function (name) {\n return this._optionModelMap.get(name) || new Model(null, this, this.ecModel);\n },\n\n /**\n * Format label\n * @param {string} name Region name\n * @param {string} [status='normal'] 'normal' or 'emphasis'\n * @return {string}\n */\n getFormattedLabel: function (name, status) {\n var regionModel = this.getRegionModel(name);\n var formatter = regionModel.get('label' + (status === 'normal' ? '.' : status + '.') + 'formatter');\n var params = {\n name: name\n };\n\n if (typeof formatter === 'function') {\n params.status = status;\n return formatter(params);\n } else if (typeof formatter === 'string') {\n return formatter.replace('{a}', name != null ? name : '');\n }\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n }\n});\nzrUtil.mixin(GeoModel, selectableMixin);\nvar _default = GeoModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar bbox = require(\"zrender/lib/core/bbox\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar polygonContain = require(\"zrender/lib/contain/polygon\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/coord/geo/Region\n */\n\n/**\n * @param {string|Region} name\n * @param {Array} geometries\n * @param {Array.<number>} cp\n */\nfunction Region(name, geometries, cp) {\n /**\n * @type {string}\n * @readOnly\n */\n this.name = name;\n /**\n * @type {Array.<Array>}\n * @readOnly\n */\n\n this.geometries = geometries;\n\n if (!cp) {\n var rect = this.getBoundingRect();\n cp = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n } else {\n cp = [cp[0], cp[1]];\n }\n /**\n * @type {Array.<number>}\n */\n\n\n this.center = cp;\n}\n\nRegion.prototype = {\n constructor: Region,\n properties: null,\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getBoundingRect: function () {\n var rect = this._rect;\n\n if (rect) {\n return rect;\n }\n\n var MAX_NUMBER = Number.MAX_VALUE;\n var min = [MAX_NUMBER, MAX_NUMBER];\n var max = [-MAX_NUMBER, -MAX_NUMBER];\n var min2 = [];\n var max2 = [];\n var geometries = this.geometries;\n\n for (var i = 0; i < geometries.length; i++) {\n // Only support polygon\n if (geometries[i].type !== 'polygon') {\n continue;\n } // Doesn't consider hole\n\n\n var exterior = geometries[i].exterior;\n bbox.fromPoints(exterior, min2, max2);\n vec2.min(min, min, min2);\n vec2.max(max, max, max2);\n } // No data\n\n\n if (i === 0) {\n min[0] = min[1] = max[0] = max[1] = 0;\n }\n\n return this._rect = new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n },\n\n /**\n * @param {<Array.<number>} coord\n * @return {boolean}\n */\n contain: function (coord) {\n var rect = this.getBoundingRect();\n var geometries = this.geometries;\n\n if (!rect.contain(coord[0], coord[1])) {\n return false;\n }\n\n loopGeo: for (var i = 0, len = geometries.length; i < len; i++) {\n // Only support polygon.\n if (geometries[i].type !== 'polygon') {\n continue;\n }\n\n var exterior = geometries[i].exterior;\n var interiors = geometries[i].interiors;\n\n if (polygonContain.contain(exterior, coord[0], coord[1])) {\n // Not in the region if point is in the hole.\n for (var k = 0; k < (interiors ? interiors.length : 0); k++) {\n if (polygonContain.contain(interiors[k])) {\n continue loopGeo;\n }\n }\n\n return true;\n }\n }\n\n return false;\n },\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var aspect = rect.width / rect.height;\n\n if (!width) {\n width = aspect * height;\n } else if (!height) {\n height = width / aspect;\n }\n\n var target = new BoundingRect(x, y, width, height);\n var transform = rect.calculateTransform(target);\n var geometries = this.geometries;\n\n for (var i = 0; i < geometries.length; i++) {\n // Only support polygon.\n if (geometries[i].type !== 'polygon') {\n continue;\n }\n\n var exterior = geometries[i].exterior;\n var interiors = geometries[i].interiors;\n\n for (var p = 0; p < exterior.length; p++) {\n vec2.applyTransform(exterior[p], exterior[p], transform);\n }\n\n for (var h = 0; h < (interiors ? interiors.length : 0); h++) {\n for (var p = 0; p < interiors[h].length; p++) {\n vec2.applyTransform(interiors[h][p], interiors[h][p], transform);\n }\n }\n }\n\n rect = this._rect;\n rect.copy(target); // Update center\n\n this.center = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n },\n cloneShallow: function (name) {\n name == null && (name = this.name);\n var newRegion = new Region(name, this.geometries, this.center);\n newRegion._rect = this._rect;\n newRegion.transformTo = null; // Simply avoid to be called.\n\n return newRegion;\n }\n};\nvar _default = Region;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Fix for 钓鱼岛\n// var Region = require('../Region');\n// var zrUtil = require('zrender/src/core/util');\n// var geoCoord = [126, 25];\nvar points = [[[123.45165252685547, 25.73527164402261], [123.49731445312499, 25.73527164402261], [123.49731445312499, 25.750734064600884], [123.45165252685547, 25.750734064600884], [123.45165252685547, 25.73527164402261]]];\n\nfunction _default(mapType, region) {\n if (mapType === 'china' && region.name === '台湾') {\n region.geometries.push({\n type: 'polygon',\n exterior: points[0]\n });\n }\n}\n\nmodule.exports = _default;"],"names":["zrUtil","Axis","Axis2D","dim","scale","coordExtent","axisType","position","call","this","type","prototype","constructor","index","getAxesOnZeroOf","model","isHorizontal","getGlobalExtent","asc","ret","getExtent","toGlobalCoord","reverse","getOtherAxis","grid","pointToData","point","clamp","coordToData","toLocalCoord","inherits","_default","module","exports","ComponentModel","axisModelCreator","axisModelCommonMixin","AxisModel","extend","axis","init","superApply","arguments","resetRange","mergeOption","restoreData","getCoordSysModel","ecModel","queryComponents","mainType","option","gridIndex","id","gridId","getAxisType","axisDim","data","merge","extraOption","offset","dimAxisMapper","_axes","Cartesian","name","_dimList","getAxis","getAxes","map","getAxesByScale","scaleType","toLowerCase","filter","addAxis","push","dataToCoord","val","_dataCoordConvert","input","method","dimList","output","Array","i","length","BoundingRect","Cartesian2D","dimensions","getBaseAxis","containPoint","axisX","axisY","contain","containData","dataToPoint","reserved","out","xAxis","yAxis","clampData","xScale","yScale","xAxisExtent","yAxisExtent","x","parse","y","Math","min","max","getArea","xExtent","yExtent","width","height","rect","_config","_util","__DEV__","isObject","each","indexOf","_layout","retrieve","getLayoutRect","_axisHelper","createScaleByModel","ifAxisCrossZero","niceScaleExtent","estimateLabelUnionRect","CoordinateSystem","_dataStackHelper","getStackedDimension","isAxisUsedInTheGrid","axisModel","gridModel","Grid","api","_coordsMap","_coordsList","_axesMap","_axesList","_initCartesian","gridProto","fixAxisOnZero","axesMap","otherAxisDim","onZeroRecords","otherAxisOnZeroOf","otherAxes","onZero","get","onZeroAxisIndex","canOnZeroToAxis","idx","hasOwnProperty","getOnZeroRecordKey","updateAxisTransform","coordBase","axisExtent","axisExtentSum","coord","axisPointerEnabled","getRect","_rect","update","_updateScale","resize","ignoreContainLabel","gridRect","getBoxLayoutParams","getWidth","getHeight","axesList","adjustAxes","extent","inverse","setExtent","labelUnionRect","margin","axisIndex","axesMapOnDim","slice","getCartesian","xAxisIndex","yAxisIndex","key","coordList","getCartesians","convertToPixel","finder","value","target","_findConvertTarget","cartesian","convertFromPixel","seriesModel","xAxisModel","getReferringComponents","yAxisModel","coordsList","coordinateSystem","componentIndex","axisPositionUsed","left","right","top","bottom","axesCount","eachComponent","createAxisCreator","axisPosition","isCategory","onBand","unionExtent","mapDimension","unionExtentFromData","Infinity","eachSeries","isCartesian2D","axesModels","findAxesModels","getData","getTooltipAxes","baseAxes","baseAxis","otherAxis","axesTypes","create","grids","register","dependencies","layoutMode","defaultOption","show","zlevel","z","containLabel","backgroundColor","borderWidth","borderColor","layout","opt","rawAxisPosition","rectBound","axisOffset","posBound","onZeroCoord","rotation","PI","dirMap","labelDirection","tickDirection","nameDirection","labelOffset","labelInside","labelRotate","z2","dataToCoordSize","dataSize","dataItem","dimIdx","halfSize","getBandWidth","abs","coordSys","size","bind","View","geoSourceManager","Geo","nameMap","invertLongitute","source","load","_nameCoordMap","nameCoordMap","_regionsMap","regionsMap","_invertLongitute","regions","boundingRect","doConvert","methodName","geoModel","containCoord","transformTo","getBoundingRect","clone","rawTransformable","_rawTransformable","transform","calculateTransform","decomposeTransform","updateTransform","_updateTransform","getRegion","getRegionByCoord","addGeoCoord","geoCoord","set","getGeoCoord","noRoam","curry","mixin","modelUtil","Model","selectableMixin","geoCreator","GeoModel","apply","defaultEmphasis","optionUpdated","self","getFilledRegions","_optionModelMap","reduce","optionModelMap","regionOpt","createHashMap","updateSelectedMap","aspectScale","silent","boundingCoords","center","zoom","scaleLimit","label","color","itemStyle","emphasis","getRegionModel","getFormattedLabel","status","regionModel","formatter","params","replace","setZoom","setCenter","bbox","vec2","polygonContain","Region","geometries","cp","properties","MAX_NUMBER","Number","MAX_VALUE","min2","max2","exterior","fromPoints","loopGeo","len","interiors","k","aspect","p","applyTransform","h","copy","cloneShallow","newRegion","points","mapType","region"],"sourceRoot":""}
|