echarts 3.5.4 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -18
- package/dist/echarts.common.js +10072 -9330
- package/dist/echarts.common.min.js +13 -13
- package/dist/echarts.js +13084 -11412
- package/dist/echarts.min.js +22 -21
- package/dist/echarts.simple.js +9454 -8889
- package/dist/echarts.simple.min.js +9 -10
- package/index.js +1 -0
- package/lib/chart/bar/BarView.js +141 -49
- package/lib/chart/bar/BaseBarSeries.js +2 -6
- package/lib/chart/bar.js +1 -0
- package/lib/chart/boxplot/BoxplotSeries.js +1 -1
- package/lib/chart/boxplot/boxplotLayout.js +23 -7
- package/lib/chart/candlestick/CandlestickSeries.js +1 -21
- package/lib/chart/candlestick/candlestickLayout.js +23 -7
- package/lib/chart/custom.js +442 -0
- package/lib/chart/graph/categoryVisual.js +3 -2
- package/lib/chart/heatmap/HeatmapView.js +75 -73
- package/lib/chart/helper/Symbol.js +8 -31
- package/lib/chart/helper/createListFromArray.js +15 -10
- package/lib/chart/helper/labelHelper.js +48 -0
- package/lib/chart/helper/whiskerBoxCommon.js +25 -44
- package/lib/chart/map/mapDataStatistic.js +9 -8
- package/lib/chart/pie/pieLayout.js +25 -17
- package/lib/chart/radar/RadarSeries.js +1 -1
- package/lib/chart/scatter/ScatterSeries.js +2 -3
- package/lib/chart/themeRiver/ThemeRiverSeries.js +6 -5
- package/lib/chart/themeRiver/themeRiverVisual.js +1 -1
- package/lib/chart/treemap/TreemapSeries.js +3 -3
- package/lib/component/axisPointer/BaseAxisPointer.js +7 -6
- package/lib/component/axisPointer/axisTrigger.js +62 -51
- package/lib/component/axisPointer.js +1 -2
- package/lib/component/calendar/CalendarView.js +5 -5
- package/lib/component/dataZoom/AxisProxy.js +76 -13
- package/lib/component/dataZoom/DataZoomModel.js +21 -5
- package/lib/component/dataZoom/InsideZoomModel.js +4 -1
- package/lib/component/dataZoom/InsideZoomView.js +16 -26
- package/lib/component/dataZoom/SliderZoomView.js +63 -26
- package/lib/component/dataZoom/roams.js +8 -3
- package/lib/component/graphic.js +13 -12
- package/lib/component/helper/BrushTargetManager.js +5 -5
- package/lib/component/helper/MapDraw.js +3 -3
- package/lib/component/helper/RoamController.js +43 -20
- package/lib/component/helper/brushHelper.js +2 -13
- package/lib/component/helper/selectableMixin.js +7 -7
- package/lib/component/helper/sliderMove.js +65 -36
- package/lib/component/legend/LegendView.js +6 -6
- package/lib/component/legend/legendAction.js +1 -1
- package/lib/component/marker/MarkAreaView.js +3 -6
- package/lib/component/marker/MarkLineView.js +3 -5
- package/lib/component/marker/MarkPointView.js +3 -5
- package/lib/component/marker/MarkerView.js +10 -12
- package/lib/component/polar.js +5 -0
- package/lib/component/timeline/SliderTimelineView.js +1 -1
- package/lib/component/toolbox/feature/DataZoom.js +14 -1
- package/lib/component/tooltip/TooltipView.js +3 -3
- package/lib/component/visualMap/ContinuousView.js +6 -4
- package/lib/coord/Axis.js +34 -2
- package/lib/coord/axisDefault.js +2 -1
- package/lib/coord/axisHelper.js +6 -25
- package/lib/coord/axisModelCommonMixin.js +1 -1
- package/lib/coord/calendar/Calendar.js +14 -17
- package/lib/coord/calendar/prepareCustom.js +31 -0
- package/lib/coord/cartesian/Axis2D.js +0 -12
- package/lib/coord/cartesian/Cartesian2D.js +1 -0
- package/lib/coord/cartesian/Grid.js +5 -2
- package/lib/coord/cartesian/prepareCustom.js +36 -0
- package/lib/coord/geo/Geo.js +9 -14
- package/lib/coord/geo/GeoModel.js +5 -5
- package/lib/coord/geo/geoCreator.js +3 -3
- package/lib/coord/geo/prepareCustom.js +36 -0
- package/lib/coord/parallel/Parallel.js +12 -11
- package/lib/coord/polar/Polar.js +2 -1
- package/lib/coord/polar/prepareCustom.js +53 -0
- package/lib/coord/single/Single.js +9 -8
- package/lib/coord/single/SingleAxis.js +0 -27
- package/lib/coord/single/prepareCustom.js +33 -0
- package/lib/data/DataDiffer.js +2 -1
- package/lib/data/Graph.js +11 -7
- package/lib/data/List.js +58 -19
- package/lib/data/helper/completeDimensions.js +184 -23
- package/lib/echarts.js +38 -33
- package/lib/helper.js +1 -8
- package/lib/layout/barGrid.js +87 -18
- package/lib/layout/barPolar.js +286 -0
- package/lib/layout/points.js +22 -16
- package/lib/model/Global.js +34 -31
- package/lib/model/Series.js +41 -29
- package/lib/model/mixin/colorPalette.js +2 -1
- package/lib/model/mixin/textStyle.js +7 -13
- package/lib/scale/Interval.js +21 -14
- package/lib/scale/Log.js +5 -7
- package/lib/scale/Time.js +13 -7
- package/lib/scale/helper.js +5 -1
- package/lib/util/format.js +12 -0
- package/lib/util/graphic.js +53 -1
- package/lib/util/model.js +63 -7
- package/map/js/world.js +1 -1
- package/map/json/world.json +1 -1
- package/package.json +3 -3
- package/src/chart/bar/BarView.js +141 -49
- package/src/chart/bar/BaseBarSeries.js +2 -6
- package/src/chart/bar.js +1 -0
- package/src/chart/boxplot/BoxplotSeries.js +1 -1
- package/src/chart/boxplot/boxplotLayout.js +23 -7
- package/src/chart/candlestick/CandlestickSeries.js +1 -21
- package/src/chart/candlestick/candlestickLayout.js +23 -7
- package/src/chart/custom.js +442 -0
- package/src/chart/graph/categoryVisual.js +3 -2
- package/src/chart/heatmap/HeatmapView.js +75 -73
- package/src/chart/helper/Symbol.js +8 -31
- package/src/chart/helper/createListFromArray.js +15 -10
- package/src/chart/helper/labelHelper.js +49 -0
- package/src/chart/helper/whiskerBoxCommon.js +25 -44
- package/src/chart/map/mapDataStatistic.js +9 -8
- package/src/chart/pie/pieLayout.js +25 -17
- package/src/chart/radar/RadarSeries.js +1 -1
- package/src/chart/scatter/ScatterSeries.js +2 -3
- package/src/chart/themeRiver/ThemeRiverSeries.js +6 -5
- package/src/chart/themeRiver/themeRiverVisual.js +1 -1
- package/src/chart/treemap/TreemapSeries.js +3 -3
- package/src/component/axisPointer/BaseAxisPointer.js +7 -6
- package/src/component/axisPointer/axisTrigger.js +62 -51
- package/src/component/axisPointer.js +1 -2
- package/src/component/calendar/CalendarView.js +5 -5
- package/src/component/dataZoom/AxisProxy.js +76 -13
- package/src/component/dataZoom/DataZoomModel.js +21 -5
- package/src/component/dataZoom/InsideZoomModel.js +4 -1
- package/src/component/dataZoom/InsideZoomView.js +16 -26
- package/src/component/dataZoom/SliderZoomView.js +63 -26
- package/src/component/dataZoom/roams.js +8 -3
- package/src/component/graphic.js +13 -12
- package/src/component/helper/BrushTargetManager.js +5 -5
- package/src/component/helper/MapDraw.js +3 -3
- package/src/component/helper/RoamController.js +43 -20
- package/src/component/helper/brushHelper.js +2 -13
- package/src/component/helper/selectableMixin.js +7 -7
- package/src/component/helper/sliderMove.js +65 -36
- package/src/component/legend/LegendView.js +6 -6
- package/src/component/legend/legendAction.js +1 -1
- package/src/component/marker/MarkAreaView.js +3 -6
- package/src/component/marker/MarkLineView.js +3 -5
- package/src/component/marker/MarkPointView.js +3 -5
- package/src/component/marker/MarkerView.js +10 -12
- package/src/component/polar.js +5 -0
- package/src/component/timeline/SliderTimelineView.js +1 -1
- package/src/component/toolbox/feature/DataZoom.js +14 -1
- package/src/component/tooltip/TooltipView.js +3 -3
- package/src/component/visualMap/ContinuousView.js +6 -4
- package/src/coord/Axis.js +34 -2
- package/src/coord/axisDefault.js +2 -1
- package/src/coord/axisHelper.js +6 -25
- package/src/coord/axisModelCommonMixin.js +1 -1
- package/src/coord/calendar/Calendar.js +14 -17
- package/src/coord/calendar/prepareCustom.js +32 -0
- package/src/coord/cartesian/Axis2D.js +0 -12
- package/src/coord/cartesian/Cartesian2D.js +1 -0
- package/src/coord/cartesian/Grid.js +5 -2
- package/src/coord/cartesian/prepareCustom.js +37 -0
- package/src/coord/geo/Geo.js +9 -14
- package/src/coord/geo/GeoModel.js +5 -5
- package/src/coord/geo/geoCreator.js +3 -3
- package/src/coord/geo/prepareCustom.js +37 -0
- package/src/coord/parallel/Parallel.js +12 -11
- package/src/coord/polar/Polar.js +2 -1
- package/src/coord/polar/prepareCustom.js +54 -0
- package/src/coord/single/Single.js +9 -8
- package/src/coord/single/SingleAxis.js +0 -27
- package/src/coord/single/prepareCustom.js +34 -0
- package/src/data/DataDiffer.js +2 -1
- package/src/data/Graph.js +11 -7
- package/src/data/List.js +58 -19
- package/src/data/helper/completeDimensions.js +184 -23
- package/src/echarts.js +38 -33
- package/src/helper.js +1 -8
- package/src/layout/barGrid.js +87 -18
- package/src/layout/barPolar.js +287 -0
- package/src/layout/points.js +22 -16
- package/src/model/Global.js +34 -31
- package/src/model/Series.js +41 -29
- package/src/model/mixin/colorPalette.js +2 -1
- package/src/model/mixin/textStyle.js +7 -13
- package/src/scale/Interval.js +21 -14
- package/src/scale/Log.js +5 -7
- package/src/scale/Time.js +13 -7
- package/src/scale/helper.js +5 -1
- package/src/util/format.js +12 -0
- package/src/util/graphic.js +53 -1
- package/src/util/model.js +63 -7
- package/src/coord/cartesian/axisLabelInterval.js +0 -26
package/src/coord/geo/Geo.js
CHANGED
|
@@ -36,7 +36,7 @@ define(function (require) {
|
|
|
36
36
|
*/
|
|
37
37
|
this.map = map;
|
|
38
38
|
|
|
39
|
-
this._nameCoordMap =
|
|
39
|
+
this._nameCoordMap = zrUtil.createHashMap();
|
|
40
40
|
|
|
41
41
|
this.loadGeoJson(geoJson, specialAreas, nameMap);
|
|
42
42
|
}
|
|
@@ -85,14 +85,14 @@ define(function (require) {
|
|
|
85
85
|
specialAreas = specialAreas || {};
|
|
86
86
|
nameMap = nameMap || {};
|
|
87
87
|
var regions = this.regions;
|
|
88
|
-
var regionsMap =
|
|
88
|
+
var regionsMap = zrUtil.createHashMap();
|
|
89
89
|
for (var i = 0; i < regions.length; i++) {
|
|
90
90
|
var regionName = regions[i].name;
|
|
91
91
|
// Try use the alias in nameMap
|
|
92
|
-
regionName = nameMap[regionName]
|
|
92
|
+
regionName = nameMap.hasOwnProperty(regionName) ? nameMap[regionName] : regionName;
|
|
93
93
|
regions[i].name = regionName;
|
|
94
94
|
|
|
95
|
-
regionsMap
|
|
95
|
+
regionsMap.set(regionName, regions[i]);
|
|
96
96
|
// Add geoJson
|
|
97
97
|
this.addGeoCoord(regionName, regions[i].center);
|
|
98
98
|
|
|
@@ -144,7 +144,7 @@ define(function (require) {
|
|
|
144
144
|
* @return {module:echarts/coord/geo/Region}
|
|
145
145
|
*/
|
|
146
146
|
getRegion: function (name) {
|
|
147
|
-
return this._regionsMap
|
|
147
|
+
return this._regionsMap.get(name);
|
|
148
148
|
},
|
|
149
149
|
|
|
150
150
|
getRegionByCoord: function (coord) {
|
|
@@ -162,7 +162,7 @@ define(function (require) {
|
|
|
162
162
|
* @param {Array.<number>} geoCoord
|
|
163
163
|
*/
|
|
164
164
|
addGeoCoord: function (name, geoCoord) {
|
|
165
|
-
this._nameCoordMap
|
|
165
|
+
this._nameCoordMap.set(name, geoCoord);
|
|
166
166
|
},
|
|
167
167
|
|
|
168
168
|
/**
|
|
@@ -171,7 +171,7 @@ define(function (require) {
|
|
|
171
171
|
* @return {Array.<number>}
|
|
172
172
|
*/
|
|
173
173
|
getGeoCoord: function (name) {
|
|
174
|
-
return this._nameCoordMap
|
|
174
|
+
return this._nameCoordMap.get(name);
|
|
175
175
|
},
|
|
176
176
|
|
|
177
177
|
// Overwrite
|
|
@@ -208,7 +208,6 @@ define(function (require) {
|
|
|
208
208
|
}, this);
|
|
209
209
|
},
|
|
210
210
|
|
|
211
|
-
// Overwrite
|
|
212
211
|
/**
|
|
213
212
|
* @param {string|Array.<number>} data
|
|
214
213
|
* @return {Array.<number>}
|
|
@@ -224,16 +223,12 @@ define(function (require) {
|
|
|
224
223
|
},
|
|
225
224
|
|
|
226
225
|
/**
|
|
227
|
-
* @
|
|
228
|
-
* @implements
|
|
229
|
-
* see {module:echarts/CoodinateSystem}
|
|
226
|
+
* @inheritDoc
|
|
230
227
|
*/
|
|
231
228
|
convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),
|
|
232
229
|
|
|
233
230
|
/**
|
|
234
|
-
* @
|
|
235
|
-
* @implements
|
|
236
|
-
* see {module:echarts/CoodinateSystem}
|
|
231
|
+
* @inheritDoc
|
|
237
232
|
*/
|
|
238
233
|
convertFromPixel: zrUtil.curry(doConvert, 'pointToData')
|
|
239
234
|
|
|
@@ -36,12 +36,12 @@ define(function (require) {
|
|
|
36
36
|
|
|
37
37
|
option.regions = geoCreator.getFilledRegions(option.regions, option.map);
|
|
38
38
|
|
|
39
|
-
this._optionModelMap = zrUtil.reduce(option.regions || [], function (
|
|
39
|
+
this._optionModelMap = zrUtil.reduce(option.regions || [], function (optionModelMap, regionOpt) {
|
|
40
40
|
if (regionOpt.name) {
|
|
41
|
-
|
|
41
|
+
optionModelMap.set(regionOpt.name, new Model(regionOpt, self));
|
|
42
42
|
}
|
|
43
|
-
return
|
|
44
|
-
},
|
|
43
|
+
return optionModelMap;
|
|
44
|
+
}, zrUtil.createHashMap());
|
|
45
45
|
|
|
46
46
|
this.updateSelectedMap(option.regions);
|
|
47
47
|
},
|
|
@@ -129,7 +129,7 @@ define(function (require) {
|
|
|
129
129
|
* @return {module:echarts/model/Model}
|
|
130
130
|
*/
|
|
131
131
|
getRegionModel: function (name) {
|
|
132
|
-
return this._optionModelMap
|
|
132
|
+
return this._optionModelMap.get(name) || new Model(null, this, this.ecModel);
|
|
133
133
|
},
|
|
134
134
|
|
|
135
135
|
/**
|
|
@@ -260,15 +260,15 @@ define(function (require) {
|
|
|
260
260
|
return originRegionArr;
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
-
var dataNameMap =
|
|
263
|
+
var dataNameMap = zrUtil.createHashMap();
|
|
264
264
|
var features = geoJson.features;
|
|
265
265
|
for (var i = 0; i < regionsArr.length; i++) {
|
|
266
|
-
dataNameMap
|
|
266
|
+
dataNameMap.set(regionsArr[i].name, regionsArr[i]);
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
for (var i = 0; i < features.length; i++) {
|
|
270
270
|
var name = features[i].properties.name;
|
|
271
|
-
if (!dataNameMap
|
|
271
|
+
if (!dataNameMap.get(name)) {
|
|
272
272
|
regionsArr.push({
|
|
273
273
|
name: name
|
|
274
274
|
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
define(function(require) {
|
|
2
|
+
|
|
3
|
+
var zrUtil = require('zrender/core/util');
|
|
4
|
+
|
|
5
|
+
function dataToCoordSize(dataSize, dataItem) {
|
|
6
|
+
dataItem = dataItem || [0, 0];
|
|
7
|
+
return zrUtil.map([0, 1], function (dimIdx) {
|
|
8
|
+
var val = dataItem[dimIdx];
|
|
9
|
+
var halfSize = dataSize[dimIdx] / 2;
|
|
10
|
+
var p1 = [];
|
|
11
|
+
var p2 = [];
|
|
12
|
+
p1[dimIdx] = val - halfSize;
|
|
13
|
+
p2[dimIdx] = val + halfSize;
|
|
14
|
+
p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];
|
|
15
|
+
return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);
|
|
16
|
+
}, this);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function prepareCustom(coordSys) {
|
|
20
|
+
var rect = coordSys.getBoundingRect();
|
|
21
|
+
return {
|
|
22
|
+
coordSys: {
|
|
23
|
+
type: 'geo',
|
|
24
|
+
x: rect.x,
|
|
25
|
+
y: rect.y,
|
|
26
|
+
width: rect.width,
|
|
27
|
+
height: rect.height
|
|
28
|
+
},
|
|
29
|
+
api: {
|
|
30
|
+
coord: zrUtil.bind(coordSys.dataToPoint, coordSys),
|
|
31
|
+
size: zrUtil.bind(dataToCoordSize, coordSys)
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return prepareCustom;
|
|
37
|
+
});
|
|
@@ -29,7 +29,7 @@ define(function(require) {
|
|
|
29
29
|
* @type {Object.<string, module:echarts/coord/parallel/Axis>}
|
|
30
30
|
* @private
|
|
31
31
|
*/
|
|
32
|
-
this._axesMap =
|
|
32
|
+
this._axesMap = zrUtil.createHashMap();
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* key: dimension
|
|
@@ -79,13 +79,13 @@ define(function(require) {
|
|
|
79
79
|
var axisIndex = parallelAxisIndex[idx];
|
|
80
80
|
var axisModel = ecModel.getComponent('parallelAxis', axisIndex);
|
|
81
81
|
|
|
82
|
-
var axis = this._axesMap
|
|
82
|
+
var axis = this._axesMap.set(dim, new ParallelAxis(
|
|
83
83
|
dim,
|
|
84
84
|
axisHelper.createScaleByModel(axisModel),
|
|
85
85
|
[0, 0],
|
|
86
86
|
axisModel.get('type'),
|
|
87
87
|
axisIndex
|
|
88
|
-
);
|
|
88
|
+
));
|
|
89
89
|
|
|
90
90
|
var isCategory = axis.type === 'category';
|
|
91
91
|
axis.onBand = isCategory && axisModel.get('boundaryGap');
|
|
@@ -139,7 +139,7 @@ define(function(require) {
|
|
|
139
139
|
var data = seriesModel.getData();
|
|
140
140
|
|
|
141
141
|
each(this.dimensions, function (dim) {
|
|
142
|
-
var axis = this._axesMap
|
|
142
|
+
var axis = this._axesMap.get(dim);
|
|
143
143
|
axis.scale.unionExtentFromData(data, dim);
|
|
144
144
|
axisHelper.niceScaleExtent(axis.scale, axis.model);
|
|
145
145
|
}, this);
|
|
@@ -249,7 +249,7 @@ define(function(require) {
|
|
|
249
249
|
var layoutInfo = this._makeLayoutInfo();
|
|
250
250
|
var layout = layoutInfo.layout;
|
|
251
251
|
|
|
252
|
-
each(
|
|
252
|
+
axes.each(function (axis) {
|
|
253
253
|
var axisExtent = [0, layoutInfo.axisLength];
|
|
254
254
|
var idx = axis.inverse ? 1 : 0;
|
|
255
255
|
axis.setExtent(axisExtent[idx], axisExtent[1 - idx]);
|
|
@@ -299,7 +299,8 @@ define(function(require) {
|
|
|
299
299
|
axisLabelShow: posInfo.axisLabelShow,
|
|
300
300
|
nameTruncateMaxWidth: posInfo.nameTruncateMaxWidth,
|
|
301
301
|
tickDirection: 1,
|
|
302
|
-
labelDirection: 1
|
|
302
|
+
labelDirection: 1,
|
|
303
|
+
labelInterval: axes.get(dim).getLabelInterval()
|
|
303
304
|
};
|
|
304
305
|
}, this);
|
|
305
306
|
},
|
|
@@ -310,7 +311,7 @@ define(function(require) {
|
|
|
310
311
|
* @return {module:echarts/coord/parallel/ParallelAxis} [description]
|
|
311
312
|
*/
|
|
312
313
|
getAxis: function (dim) {
|
|
313
|
-
return this._axesMap
|
|
314
|
+
return this._axesMap.get(dim);
|
|
314
315
|
},
|
|
315
316
|
|
|
316
317
|
/**
|
|
@@ -321,7 +322,7 @@ define(function(require) {
|
|
|
321
322
|
*/
|
|
322
323
|
dataToPoint: function (value, dim) {
|
|
323
324
|
return this.axisCoordToPoint(
|
|
324
|
-
this._axesMap
|
|
325
|
+
this._axesMap.get(dim).dataToCoord(value),
|
|
325
326
|
dim
|
|
326
327
|
);
|
|
327
328
|
},
|
|
@@ -349,7 +350,7 @@ define(function(require) {
|
|
|
349
350
|
activeState = 'active';
|
|
350
351
|
for (var j = 0, lenj = dimensions.length; j < lenj; j++) {
|
|
351
352
|
var dimName = dimensions[j];
|
|
352
|
-
var state = axesMap
|
|
353
|
+
var state = axesMap.get(dimName).model.getActiveState(values[j], j);
|
|
353
354
|
|
|
354
355
|
if (state === 'inactive') {
|
|
355
356
|
activeState = 'inactive';
|
|
@@ -372,7 +373,7 @@ define(function(require) {
|
|
|
372
373
|
var hasActiveSet = false;
|
|
373
374
|
|
|
374
375
|
for (var j = 0, lenj = dimensions.length; j < lenj; j++) {
|
|
375
|
-
if (axesMap
|
|
376
|
+
if (axesMap.get(dimensions[j]).model.getActiveState() !== 'normal') {
|
|
376
377
|
hasActiveSet = true;
|
|
377
378
|
}
|
|
378
379
|
}
|
|
@@ -443,7 +444,7 @@ define(function(require) {
|
|
|
443
444
|
}
|
|
444
445
|
delta *= layoutInfo.axisExpandWidth / axisCollapseWidth;
|
|
445
446
|
delta
|
|
446
|
-
? sliderMove(delta, axisExpandWindow, extent, '
|
|
447
|
+
? sliderMove(delta, axisExpandWindow, extent, 'all')
|
|
447
448
|
// Avoid nonsense triger on mousemove.
|
|
448
449
|
: (behavior = 'none');
|
|
449
450
|
}
|
package/src/coord/polar/Polar.js
CHANGED
|
@@ -174,7 +174,7 @@ define(function(require) {
|
|
|
174
174
|
dataToPoints: function (data) {
|
|
175
175
|
return data.mapArray(this.dimensions, function (radius, angle) {
|
|
176
176
|
return this.dataToPoint([radius, angle]);
|
|
177
|
-
}, this);
|
|
177
|
+
}, true, this);
|
|
178
178
|
},
|
|
179
179
|
|
|
180
180
|
/**
|
|
@@ -252,6 +252,7 @@ define(function(require) {
|
|
|
252
252
|
|
|
253
253
|
return [x, y];
|
|
254
254
|
}
|
|
255
|
+
|
|
255
256
|
};
|
|
256
257
|
|
|
257
258
|
return Polar;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
define(function(require) {
|
|
2
|
+
|
|
3
|
+
var zrUtil = require('zrender/core/util');
|
|
4
|
+
|
|
5
|
+
function dataToCoordSize(dataSize, dataItem) {
|
|
6
|
+
// dataItem is necessary in log axis.
|
|
7
|
+
return zrUtil.map(['Radius', 'Angle'], function (dim, dimIdx) {
|
|
8
|
+
var axis = this['get' + dim + 'Axis']();
|
|
9
|
+
var val = dataItem[dimIdx];
|
|
10
|
+
var halfSize = dataSize[dimIdx] / 2;
|
|
11
|
+
var method = 'dataTo' + dim;
|
|
12
|
+
|
|
13
|
+
var result = axis.type === 'category'
|
|
14
|
+
? axis.getBandWidth()
|
|
15
|
+
: Math.abs(axis[method](val - halfSize) - axis[method](val + halfSize));
|
|
16
|
+
|
|
17
|
+
if (dim === 'Angle') {
|
|
18
|
+
result = result * Math.PI / 180;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return result;
|
|
22
|
+
|
|
23
|
+
}, this);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function prepareCustom(coordSys) {
|
|
27
|
+
var radiusAxis = coordSys.getRadiusAxis();
|
|
28
|
+
var angleAxis = coordSys.getAngleAxis();
|
|
29
|
+
var radius = radiusAxis.getExtent();
|
|
30
|
+
radius[0] > radius[1] && radius.reverse();
|
|
31
|
+
|
|
32
|
+
return {
|
|
33
|
+
coordSys: {
|
|
34
|
+
type: 'polar',
|
|
35
|
+
cx: coordSys.cx,
|
|
36
|
+
cy: coordSys.cy,
|
|
37
|
+
r: radius[1],
|
|
38
|
+
r0: radius[0]
|
|
39
|
+
},
|
|
40
|
+
api: {
|
|
41
|
+
coord: zrUtil.bind(function (data) {
|
|
42
|
+
var radius = radiusAxis.dataToRadius(data[0]);
|
|
43
|
+
var angle = angleAxis.dataToAngle(data[1]);
|
|
44
|
+
var coord = coordSys.coordToPoint([radius, angle]);
|
|
45
|
+
coord.push(radius, angle * Math.PI / 180);
|
|
46
|
+
return coord;
|
|
47
|
+
}),
|
|
48
|
+
size: zrUtil.bind(dataToCoordSize, coordSys)
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return prepareCustom;
|
|
54
|
+
});
|
|
@@ -167,19 +167,19 @@ define(function (require) {
|
|
|
167
167
|
var extentSum = axisExtent[0] + axisExtent[1];
|
|
168
168
|
var isHorizontal = axis.isHorizontal();
|
|
169
169
|
|
|
170
|
-
axis.toGlobalCoord = isHorizontal
|
|
171
|
-
function (coord) {
|
|
170
|
+
axis.toGlobalCoord = isHorizontal
|
|
171
|
+
? function (coord) {
|
|
172
172
|
return coord + coordBase;
|
|
173
|
-
}
|
|
174
|
-
function (coord) {
|
|
173
|
+
}
|
|
174
|
+
: function (coord) {
|
|
175
175
|
return extentSum - coord + coordBase;
|
|
176
176
|
};
|
|
177
177
|
|
|
178
|
-
axis.toLocalCoord = isHorizontal
|
|
179
|
-
function (coord) {
|
|
178
|
+
axis.toLocalCoord = isHorizontal
|
|
179
|
+
? function (coord) {
|
|
180
180
|
return coord - coordBase;
|
|
181
|
-
}
|
|
182
|
-
function (coord) {
|
|
181
|
+
}
|
|
182
|
+
: function (coord) {
|
|
183
183
|
return extentSum - coord + coordBase;
|
|
184
184
|
};
|
|
185
185
|
},
|
|
@@ -267,6 +267,7 @@ define(function (require) {
|
|
|
267
267
|
pt[1 - idx] = idx === 0 ? (rect.y + rect.height / 2) : (rect.x + rect.width / 2);
|
|
268
268
|
return pt;
|
|
269
269
|
}
|
|
270
|
+
|
|
270
271
|
};
|
|
271
272
|
|
|
272
273
|
return Single;
|
|
@@ -2,7 +2,6 @@ define(function (require) {
|
|
|
2
2
|
|
|
3
3
|
var zrUtil = require('zrender/core/util');
|
|
4
4
|
var Axis = require('../Axis');
|
|
5
|
-
var axisHelper = require('../axisHelper');
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* @constructor module:echarts/coord/single/SingleAxis
|
|
@@ -72,32 +71,6 @@ define(function (require) {
|
|
|
72
71
|
|
|
73
72
|
},
|
|
74
73
|
|
|
75
|
-
/**
|
|
76
|
-
* Get interval of the axis label.
|
|
77
|
-
* @return {number}
|
|
78
|
-
*/
|
|
79
|
-
getLabelInterval: function () {
|
|
80
|
-
var labelInterval = this._labelInterval;
|
|
81
|
-
if (!labelInterval) {
|
|
82
|
-
var axisModel = this.model;
|
|
83
|
-
var labelModel = axisModel.getModel('axisLabel');
|
|
84
|
-
var interval = labelModel.get('interval');
|
|
85
|
-
if (!(this.type === 'category' && interval === 'auto')) {
|
|
86
|
-
|
|
87
|
-
labelInterval = this._labelInterval = interval === 'auto' ? 0 : interval;
|
|
88
|
-
return labelInterval;
|
|
89
|
-
}
|
|
90
|
-
labelInterval = this._labelInterval =
|
|
91
|
-
axisHelper.getAxisLabelInterval(
|
|
92
|
-
zrUtil.map(this.scale.getTicks(), this.dataToCoord, this),
|
|
93
|
-
axisModel.getFormattedLabels(),
|
|
94
|
-
labelModel.getModel('textStyle').getFont(),
|
|
95
|
-
this.isHorizontal()
|
|
96
|
-
);
|
|
97
|
-
}
|
|
98
|
-
return labelInterval;
|
|
99
|
-
},
|
|
100
|
-
|
|
101
74
|
/**
|
|
102
75
|
* @override
|
|
103
76
|
*/
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
define(function(require) {
|
|
2
|
+
|
|
3
|
+
var zrUtil = require('zrender/core/util');
|
|
4
|
+
|
|
5
|
+
function dataToCoordSize(dataSize, dataItem) {
|
|
6
|
+
// dataItem is necessary in log axis.
|
|
7
|
+
var axis = this.getAxis();
|
|
8
|
+
var val = dataItem instanceof Array ? dataItem[0] : dataItem;
|
|
9
|
+
var halfSize = (dataSize instanceof Array ? dataSize[0] : dataSize) / 2;
|
|
10
|
+
return axis.type === 'category'
|
|
11
|
+
? axis.getBandWidth()
|
|
12
|
+
: Math.abs(axis.dataToCoord(val - halfSize) - axis.dataToCoord(val + halfSize));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function prepareCustom(coordSys) {
|
|
16
|
+
var rect = coordSys.getRect();
|
|
17
|
+
|
|
18
|
+
return {
|
|
19
|
+
coordSys: {
|
|
20
|
+
type: 'singleAxis',
|
|
21
|
+
x: rect.x,
|
|
22
|
+
y: rect.y,
|
|
23
|
+
width: rect.width,
|
|
24
|
+
height: rect.height
|
|
25
|
+
},
|
|
26
|
+
api: {
|
|
27
|
+
coord: zrUtil.bind(coordSys.dataToPoint, coordSys),
|
|
28
|
+
size: zrUtil.bind(dataToCoordSize, coordSys)
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return prepareCustom;
|
|
34
|
+
});
|
package/src/data/DataDiffer.js
CHANGED
|
@@ -105,7 +105,8 @@ define(function(require) {
|
|
|
105
105
|
|
|
106
106
|
function initIndexMap(arr, map, keyArr, keyGetter) {
|
|
107
107
|
for (var i = 0; i < arr.length; i++) {
|
|
108
|
-
|
|
108
|
+
// Add prefix to avoid conflict with Object.prototype.
|
|
109
|
+
var key = '_ec_' + keyGetter(arr[i], i);
|
|
109
110
|
var existence = map[key];
|
|
110
111
|
if (existence == null) {
|
|
111
112
|
keyArr.push(key);
|
package/src/data/Graph.js
CHANGED
|
@@ -10,6 +10,10 @@ define(function(require) {
|
|
|
10
10
|
|
|
11
11
|
var zrUtil = require('zrender/core/util');
|
|
12
12
|
|
|
13
|
+
// id may be function name of Object, add a prefix to avoid this problem.
|
|
14
|
+
function generateNodeKey (id) {
|
|
15
|
+
return '_EC_' + id;
|
|
16
|
+
}
|
|
13
17
|
/**
|
|
14
18
|
* @alias module:echarts/data/Graph
|
|
15
19
|
* @constructor
|
|
@@ -83,7 +87,7 @@ define(function(require) {
|
|
|
83
87
|
|
|
84
88
|
var nodesMap = this._nodesMap;
|
|
85
89
|
|
|
86
|
-
if (nodesMap[id]) {
|
|
90
|
+
if (nodesMap[generateNodeKey(id)]) {
|
|
87
91
|
return;
|
|
88
92
|
}
|
|
89
93
|
|
|
@@ -92,7 +96,7 @@ define(function(require) {
|
|
|
92
96
|
|
|
93
97
|
this.nodes.push(node);
|
|
94
98
|
|
|
95
|
-
nodesMap[id] = node;
|
|
99
|
+
nodesMap[generateNodeKey(id)] = node;
|
|
96
100
|
return node;
|
|
97
101
|
};
|
|
98
102
|
|
|
@@ -111,7 +115,7 @@ define(function(require) {
|
|
|
111
115
|
* @return {module:echarts/data/Graph.Node}
|
|
112
116
|
*/
|
|
113
117
|
graphProto.getNodeById = function (id) {
|
|
114
|
-
return this._nodesMap[id];
|
|
118
|
+
return this._nodesMap[generateNodeKey(id)];
|
|
115
119
|
};
|
|
116
120
|
|
|
117
121
|
/**
|
|
@@ -134,10 +138,10 @@ define(function(require) {
|
|
|
134
138
|
}
|
|
135
139
|
|
|
136
140
|
if (!(n1 instanceof Node)) {
|
|
137
|
-
n1 = nodesMap[n1];
|
|
141
|
+
n1 = nodesMap[generateNodeKey(n1)];
|
|
138
142
|
}
|
|
139
143
|
if (!(n2 instanceof Node)) {
|
|
140
|
-
n2 = nodesMap[n2];
|
|
144
|
+
n2 = nodesMap[generateNodeKey(n2)];
|
|
141
145
|
}
|
|
142
146
|
if (!n1 || !n2) {
|
|
143
147
|
return;
|
|
@@ -244,7 +248,7 @@ define(function(require) {
|
|
|
244
248
|
cb, startNode, direction, context
|
|
245
249
|
) {
|
|
246
250
|
if (!(startNode instanceof Node)) {
|
|
247
|
-
startNode = this._nodesMap[startNode];
|
|
251
|
+
startNode = this._nodesMap[generateNodeKey(startNode)];
|
|
248
252
|
}
|
|
249
253
|
if (!startNode) {
|
|
250
254
|
return;
|
|
@@ -271,7 +275,7 @@ define(function(require) {
|
|
|
271
275
|
var otherNode = e.node1 === currentNode
|
|
272
276
|
? e.node2 : e.node1;
|
|
273
277
|
if (!otherNode.__visited) {
|
|
274
|
-
if (cb.call(
|
|
278
|
+
if (cb.call(context, otherNode, currentNode)) {
|
|
275
279
|
// Stop traversing
|
|
276
280
|
return;
|
|
277
281
|
}
|