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
|
@@ -38,8 +38,13 @@ define(function(require) {
|
|
|
38
38
|
var coordSysName = seriesModel.get('coordinateSystem');
|
|
39
39
|
var creator = creators[coordSysName];
|
|
40
40
|
var registeredCoordSys = CoordinateSystem.get(coordSysName);
|
|
41
|
+
var completeDimOpt = {
|
|
42
|
+
encodeDef: seriesModel.get('encode'),
|
|
43
|
+
dimsDef: seriesModel.get('dimensions')
|
|
44
|
+
};
|
|
45
|
+
|
|
41
46
|
// FIXME
|
|
42
|
-
var axesInfo = creator && creator(data, seriesModel, ecModel);
|
|
47
|
+
var axesInfo = creator && creator(data, seriesModel, ecModel, completeDimOpt);
|
|
43
48
|
var dimensions = axesInfo && axesInfo.dimensions;
|
|
44
49
|
if (!dimensions) {
|
|
45
50
|
// Get dimensions from registered coordinate system
|
|
@@ -48,7 +53,7 @@ define(function(require) {
|
|
|
48
53
|
? registeredCoordSys.getDimensionsInfo()
|
|
49
54
|
: registeredCoordSys.dimensions.slice()
|
|
50
55
|
)) || ['x', 'y'];
|
|
51
|
-
dimensions = completeDimensions(dimensions, data,
|
|
56
|
+
dimensions = completeDimensions(dimensions, data, completeDimOpt);
|
|
52
57
|
}
|
|
53
58
|
|
|
54
59
|
var categoryIndex = axesInfo ? axesInfo.categoryIndex : -1;
|
|
@@ -118,7 +123,7 @@ define(function(require) {
|
|
|
118
123
|
*/
|
|
119
124
|
var creators = {
|
|
120
125
|
|
|
121
|
-
cartesian2d: function (data, seriesModel, ecModel) {
|
|
126
|
+
cartesian2d: function (data, seriesModel, ecModel, completeDimOpt) {
|
|
122
127
|
|
|
123
128
|
var axesModels = zrUtil.map(['xAxis', 'yAxis'], function (name) {
|
|
124
129
|
return ecModel.queryComponents({
|
|
@@ -167,7 +172,7 @@ define(function(require) {
|
|
|
167
172
|
var isXAxisCateogry = xAxisType === 'category';
|
|
168
173
|
var isYAxisCategory = yAxisType === 'category';
|
|
169
174
|
|
|
170
|
-
completeDimensions(dimensions, data,
|
|
175
|
+
dimensions = completeDimensions(dimensions, data, completeDimOpt);
|
|
171
176
|
|
|
172
177
|
var categoryAxesModels = {};
|
|
173
178
|
if (isXAxisCateogry) {
|
|
@@ -183,7 +188,7 @@ define(function(require) {
|
|
|
183
188
|
};
|
|
184
189
|
},
|
|
185
190
|
|
|
186
|
-
singleAxis: function (data, seriesModel, ecModel) {
|
|
191
|
+
singleAxis: function (data, seriesModel, ecModel, completeDimOpt) {
|
|
187
192
|
|
|
188
193
|
var singleAxisModel = ecModel.queryComponents({
|
|
189
194
|
mainType: 'singleAxis',
|
|
@@ -206,7 +211,7 @@ define(function(require) {
|
|
|
206
211
|
stackable: isStackable(singleAxisType)
|
|
207
212
|
}];
|
|
208
213
|
|
|
209
|
-
completeDimensions(dimensions, data);
|
|
214
|
+
dimensions = completeDimensions(dimensions, data, completeDimOpt);
|
|
210
215
|
|
|
211
216
|
var categoryAxesModels = {};
|
|
212
217
|
if (isCategory) {
|
|
@@ -220,7 +225,7 @@ define(function(require) {
|
|
|
220
225
|
};
|
|
221
226
|
},
|
|
222
227
|
|
|
223
|
-
polar: function (data, seriesModel, ecModel) {
|
|
228
|
+
polar: function (data, seriesModel, ecModel, completeDimOpt) {
|
|
224
229
|
var polarModel = ecModel.queryComponents({
|
|
225
230
|
mainType: 'polar',
|
|
226
231
|
index: seriesModel.get('polarIndex'),
|
|
@@ -257,7 +262,7 @@ define(function(require) {
|
|
|
257
262
|
var isAngleAxisCateogry = angleAxisType === 'category';
|
|
258
263
|
var isRadiusAxisCateogry = radiusAxisType === 'category';
|
|
259
264
|
|
|
260
|
-
completeDimensions(dimensions, data,
|
|
265
|
+
dimensions = completeDimensions(dimensions, data, completeDimOpt);
|
|
261
266
|
|
|
262
267
|
var categoryAxesModels = {};
|
|
263
268
|
if (isRadiusAxisCateogry) {
|
|
@@ -273,14 +278,14 @@ define(function(require) {
|
|
|
273
278
|
};
|
|
274
279
|
},
|
|
275
280
|
|
|
276
|
-
geo: function (data, seriesModel, ecModel) {
|
|
281
|
+
geo: function (data, seriesModel, ecModel, completeDimOpt) {
|
|
277
282
|
// TODO Region
|
|
278
283
|
// 多个散点图系列在同一个地区的时候
|
|
279
284
|
return {
|
|
280
285
|
dimensions: completeDimensions([
|
|
281
286
|
{name: 'lng'},
|
|
282
287
|
{name: 'lat'}
|
|
283
|
-
], data,
|
|
288
|
+
], data, completeDimOpt)
|
|
284
289
|
};
|
|
285
290
|
}
|
|
286
291
|
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module echarts/chart/helper/Symbol
|
|
3
|
+
*/
|
|
4
|
+
define(function (require) {
|
|
5
|
+
|
|
6
|
+
var graphic = require('../../util/graphic');
|
|
7
|
+
var zrUtil = require('zrender/core/util');
|
|
8
|
+
var modelUtil = require('../../util/model');
|
|
9
|
+
|
|
10
|
+
var helper = {};
|
|
11
|
+
|
|
12
|
+
helper.findLabelValueDim = function (data) {
|
|
13
|
+
var valueDim;
|
|
14
|
+
var labelDims = modelUtil.otherDimToDataDim(data, 'label');
|
|
15
|
+
|
|
16
|
+
if (labelDims.length) {
|
|
17
|
+
valueDim = labelDims[0];
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
// Get last value dim
|
|
21
|
+
var dimensions = data.dimensions.slice();
|
|
22
|
+
var dataType;
|
|
23
|
+
while (dimensions.length && (
|
|
24
|
+
valueDim = dimensions.pop(),
|
|
25
|
+
dataType = data.getDimensionInfo(valueDim).type,
|
|
26
|
+
dataType === 'ordinal' || dataType === 'time'
|
|
27
|
+
)) {} // jshint ignore:line
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return valueDim;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
helper.setTextToStyle = function (
|
|
34
|
+
data, dataIndex, valueDim, elStyle, seriesModel, labelModel, color
|
|
35
|
+
) {
|
|
36
|
+
if (valueDim != null && labelModel.getShallow('show')) {
|
|
37
|
+
graphic.setText(elStyle, labelModel, color);
|
|
38
|
+
elStyle.text = zrUtil.retrieve(
|
|
39
|
+
seriesModel.getFormattedLabel(dataIndex, 'normal'),
|
|
40
|
+
data.get(valueDim, dataIndex)
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
elStyle.text = '';
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
return helper;
|
|
49
|
+
});
|
|
@@ -7,10 +7,6 @@ define(function(require) {
|
|
|
7
7
|
var WhiskerBoxDraw = require('../helper/WhiskerBoxDraw');
|
|
8
8
|
var zrUtil = require('zrender/core/util');
|
|
9
9
|
|
|
10
|
-
function getItemValue(item) {
|
|
11
|
-
return item.value == null ? item : item.value;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
10
|
var seriesModelMixin = {
|
|
15
11
|
|
|
16
12
|
/**
|
|
@@ -52,52 +48,36 @@ define(function(require) {
|
|
|
52
48
|
option.layout = option.layout || 'horizontal';
|
|
53
49
|
}
|
|
54
50
|
|
|
55
|
-
|
|
56
|
-
|
|
51
|
+
var coordDims = ['x', 'y'];
|
|
52
|
+
var baseAxisDimIndex = option.layout === 'horizontal' ? 0 : 1;
|
|
53
|
+
var baseAxisDim = this._baseAxisDim = coordDims[baseAxisDimIndex];
|
|
54
|
+
var otherAxisDim = coordDims[1 - baseAxisDimIndex];
|
|
57
55
|
var data = option.data;
|
|
58
|
-
var dimensions = this.dimensions = ['base'].concat(this.valueDimensions);
|
|
59
|
-
completeDimensions(dimensions, data);
|
|
60
56
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
var value = getItemValue(dataItem);
|
|
64
|
-
return addOrdinal ? (dimName === 'base' ? idx : value[dimIdx - 1]) : value[dimIdx];
|
|
57
|
+
addOrdinal && zrUtil.each(data, function (item, index) {
|
|
58
|
+
zrUtil.isArray(item) && item.unshift(index);
|
|
65
59
|
});
|
|
66
60
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
};
|
|
82
|
-
return map[this.get('layout')][axisDim];
|
|
83
|
-
},
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* @override
|
|
87
|
-
* @param {string|number} dataDim
|
|
88
|
-
* @return {string} coord dimension
|
|
89
|
-
*/
|
|
90
|
-
dataDimToCoordDim: function (dataDim) {
|
|
91
|
-
var dim;
|
|
61
|
+
var dimensions = [{
|
|
62
|
+
name: baseAxisDim,
|
|
63
|
+
otherDims: {
|
|
64
|
+
tooltip: false
|
|
65
|
+
},
|
|
66
|
+
dimsDef: ['base']
|
|
67
|
+
}, {
|
|
68
|
+
name: otherAxisDim,
|
|
69
|
+
dimsDef: this.defaultValueDimensions.slice()
|
|
70
|
+
}];
|
|
71
|
+
|
|
72
|
+
dimensions = completeDimensions(dimensions, data, {
|
|
73
|
+
encodeDef: this.get('encode'),
|
|
74
|
+
dimsDef: this.get('dimensions')
|
|
75
|
+
});
|
|
92
76
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (zrUtil.indexOf(dataDims, dataDim) >= 0) {
|
|
96
|
-
dim = coordDim;
|
|
97
|
-
}
|
|
98
|
-
}, this);
|
|
77
|
+
var list = new List(dimensions, this);
|
|
78
|
+
list.initData(data, categories ? categories.slice() : null);
|
|
99
79
|
|
|
100
|
-
return
|
|
80
|
+
return list;
|
|
101
81
|
},
|
|
102
82
|
|
|
103
83
|
/**
|
|
@@ -108,6 +88,7 @@ define(function(require) {
|
|
|
108
88
|
var dim = this._baseAxisDim;
|
|
109
89
|
return this.ecModel.getComponent(dim + 'Axis', this.get(dim + 'AxisIndex')).axis;
|
|
110
90
|
}
|
|
91
|
+
|
|
111
92
|
};
|
|
112
93
|
|
|
113
94
|
var viewMixin = {
|
|
@@ -14,24 +14,25 @@ define(function (require) {
|
|
|
14
14
|
|
|
15
15
|
zrUtil.each(datas, function (data) {
|
|
16
16
|
data.each(dims, function (value, idx) {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
// Add prefix to avoid conflict with Object.prototype.
|
|
18
|
+
var mapKey = 'ec-' + data.getName(idx);
|
|
19
|
+
dataNameMap[mapKey] = dataNameMap[mapKey] || [];
|
|
19
20
|
if (!isNaN(value)) {
|
|
20
|
-
dataNameMap[
|
|
21
|
+
dataNameMap[mapKey].push(value);
|
|
21
22
|
}
|
|
22
23
|
});
|
|
23
24
|
});
|
|
24
25
|
|
|
25
26
|
return datas[0].map(dims, function (value, idx) {
|
|
26
|
-
var
|
|
27
|
+
var mapKey = 'ec-' + datas[0].getName(idx);
|
|
27
28
|
var sum = 0;
|
|
28
29
|
var min = Infinity;
|
|
29
30
|
var max = -Infinity;
|
|
30
|
-
var len = dataNameMap[
|
|
31
|
+
var len = dataNameMap[mapKey].length;
|
|
31
32
|
for (var i = 0; i < len; i++) {
|
|
32
|
-
min = Math.min(min, dataNameMap[
|
|
33
|
-
max = Math.max(max, dataNameMap[
|
|
34
|
-
sum += dataNameMap[
|
|
33
|
+
min = Math.min(min, dataNameMap[mapKey][i]);
|
|
34
|
+
max = Math.max(max, dataNameMap[mapKey][i]);
|
|
35
|
+
sum += dataNameMap[mapKey][i];
|
|
35
36
|
}
|
|
36
37
|
var result;
|
|
37
38
|
if (statisticType === 'min') {
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// TODO minAngle
|
|
2
|
-
|
|
3
1
|
define(function (require) {
|
|
4
2
|
|
|
5
3
|
var numberUtil = require('../../util/number');
|
|
@@ -36,9 +34,14 @@ define(function (require) {
|
|
|
36
34
|
|
|
37
35
|
var minAngle = seriesModel.get('minAngle') * RADIAN;
|
|
38
36
|
|
|
37
|
+
var validDataCount = 0;
|
|
38
|
+
data.each('value', function (value) {
|
|
39
|
+
!isNaN(value) && validDataCount++;
|
|
40
|
+
});
|
|
41
|
+
|
|
39
42
|
var sum = data.getSum('value');
|
|
40
43
|
// Sum may be 0
|
|
41
|
-
var unitRadian = Math.PI / (sum ||
|
|
44
|
+
var unitRadian = Math.PI / (sum || validDataCount) * 2;
|
|
42
45
|
|
|
43
46
|
var clockwise = seriesModel.get('clockwise');
|
|
44
47
|
|
|
@@ -54,8 +57,8 @@ define(function (require) {
|
|
|
54
57
|
var valueSumLargerThanMinAngle = 0;
|
|
55
58
|
|
|
56
59
|
var currentAngle = startAngle;
|
|
57
|
-
|
|
58
60
|
var dir = clockwise ? 1 : -1;
|
|
61
|
+
|
|
59
62
|
data.each('value', function (value, idx) {
|
|
60
63
|
var angle;
|
|
61
64
|
if (isNaN(value)) {
|
|
@@ -80,7 +83,7 @@ define(function (require) {
|
|
|
80
83
|
? unitRadian : (value * unitRadian);
|
|
81
84
|
}
|
|
82
85
|
else {
|
|
83
|
-
angle = PI2 /
|
|
86
|
+
angle = PI2 / validDataCount;
|
|
84
87
|
}
|
|
85
88
|
|
|
86
89
|
if (angle < minAngle) {
|
|
@@ -110,27 +113,32 @@ define(function (require) {
|
|
|
110
113
|
|
|
111
114
|
// Some sector is constrained by minAngle
|
|
112
115
|
// Rest sectors needs recalculate angle
|
|
113
|
-
if (restAngle < PI2) {
|
|
116
|
+
if (restAngle < PI2 && validDataCount) {
|
|
114
117
|
// Average the angle if rest angle is not enough after all angles is
|
|
115
118
|
// Constrained by minAngle
|
|
116
119
|
if (restAngle <= 1e-3) {
|
|
117
|
-
var angle = PI2 /
|
|
118
|
-
data.each(function (idx) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
var angle = PI2 / validDataCount;
|
|
121
|
+
data.each('value', function (value, idx) {
|
|
122
|
+
if (!isNaN(value)) {
|
|
123
|
+
var layout = data.getItemLayout(idx);
|
|
124
|
+
layout.angle = angle;
|
|
125
|
+
layout.startAngle = startAngle + dir * idx * angle;
|
|
126
|
+
layout.endAngle = startAngle + dir * (idx + 1) * angle;
|
|
127
|
+
}
|
|
122
128
|
});
|
|
123
129
|
}
|
|
124
130
|
else {
|
|
125
131
|
unitRadian = restAngle / valueSumLargerThanMinAngle;
|
|
126
132
|
currentAngle = startAngle;
|
|
127
133
|
data.each('value', function (value, idx) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
+
if (!isNaN(value)) {
|
|
135
|
+
var layout = data.getItemLayout(idx);
|
|
136
|
+
var angle = layout.angle === minAngle
|
|
137
|
+
? minAngle : value * unitRadian;
|
|
138
|
+
layout.startAngle = currentAngle;
|
|
139
|
+
layout.endAngle = currentAngle + dir * angle;
|
|
140
|
+
currentAngle += dir * angle;
|
|
141
|
+
}
|
|
134
142
|
});
|
|
135
143
|
}
|
|
136
144
|
}
|
|
@@ -29,7 +29,7 @@ define(function(require) {
|
|
|
29
29
|
getInitialData: function (option, ecModel) {
|
|
30
30
|
var data = option.data || [];
|
|
31
31
|
var dimensions = completeDimensions(
|
|
32
|
-
[], data, {extraPrefix: 'indicator_'}
|
|
32
|
+
[], data, {extraPrefix: 'indicator_', extraFromZero: true}
|
|
33
33
|
);
|
|
34
34
|
var list = new List(dimensions, this);
|
|
35
35
|
list.initData(data);
|
|
@@ -9,11 +9,10 @@ define(function (require) {
|
|
|
9
9
|
|
|
10
10
|
type: 'series.scatter',
|
|
11
11
|
|
|
12
|
-
dependencies: ['grid', 'polar', 'geo', 'singleAxis'],
|
|
12
|
+
dependencies: ['grid', 'polar', 'geo', 'singleAxis', 'calendar'],
|
|
13
13
|
|
|
14
14
|
getInitialData: function (option, ecModel) {
|
|
15
|
-
|
|
16
|
-
return list;
|
|
15
|
+
return createListFromArray(option.data, this, ecModel);
|
|
17
16
|
},
|
|
18
17
|
|
|
19
18
|
brushSelector: 'point',
|
|
@@ -24,7 +24,7 @@ define(function (require) {
|
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* @readOnly
|
|
27
|
-
* @type {
|
|
27
|
+
* @type {module:zrender/core/util#HashMap}
|
|
28
28
|
*/
|
|
29
29
|
nameMap: null,
|
|
30
30
|
|
|
@@ -151,17 +151,18 @@ define(function (require) {
|
|
|
151
151
|
|
|
152
152
|
var data = this.fixData(filterData || []);
|
|
153
153
|
var nameList = [];
|
|
154
|
-
var nameMap = this.nameMap =
|
|
154
|
+
var nameMap = this.nameMap = zrUtil.createHashMap();
|
|
155
155
|
var count = 0;
|
|
156
156
|
|
|
157
157
|
for (var i = 0; i < data.length; ++i) {
|
|
158
158
|
nameList.push(data[i][DATA_NAME_INDEX]);
|
|
159
|
-
if (!nameMap
|
|
160
|
-
nameMap
|
|
159
|
+
if (!nameMap.get(data[i][DATA_NAME_INDEX])) {
|
|
160
|
+
nameMap.set(data[i][DATA_NAME_INDEX], count);
|
|
161
|
+
count++;
|
|
161
162
|
}
|
|
162
163
|
}
|
|
163
164
|
|
|
164
|
-
completeDimensions(dimensions, data);
|
|
165
|
+
dimensions = completeDimensions(dimensions, data);
|
|
165
166
|
|
|
166
167
|
var list = new List(dimensions, this);
|
|
167
168
|
|
|
@@ -12,7 +12,7 @@ define(function (require) {
|
|
|
12
12
|
|
|
13
13
|
data.each(function (index) {
|
|
14
14
|
var name = data.getName(index);
|
|
15
|
-
var color = colorList[(seriesModel.nameMap
|
|
15
|
+
var color = colorList[(seriesModel.nameMap.get(name) - 1) % colorList.length];
|
|
16
16
|
rawData.setItemVisual(index, 'color', color);
|
|
17
17
|
});
|
|
18
18
|
});
|
|
@@ -237,7 +237,7 @@ define(function(require) {
|
|
|
237
237
|
var idIndexMap = this._idIndexMap;
|
|
238
238
|
|
|
239
239
|
if (!idIndexMap) {
|
|
240
|
-
idIndexMap = this._idIndexMap =
|
|
240
|
+
idIndexMap = this._idIndexMap = zrUtil.createHashMap();
|
|
241
241
|
/**
|
|
242
242
|
* @private
|
|
243
243
|
* @type {number}
|
|
@@ -245,9 +245,9 @@ define(function(require) {
|
|
|
245
245
|
this._idIndexMapCount = 0;
|
|
246
246
|
}
|
|
247
247
|
|
|
248
|
-
var index = idIndexMap
|
|
248
|
+
var index = idIndexMap.get(id);
|
|
249
249
|
if (index == null) {
|
|
250
|
-
idIndexMap
|
|
250
|
+
idIndexMap.set(id, index = this._idIndexMapCount++);
|
|
251
251
|
}
|
|
252
252
|
|
|
253
253
|
return index;
|
|
@@ -358,16 +358,17 @@ define(function(require) {
|
|
|
358
358
|
}
|
|
359
359
|
|
|
360
360
|
var payloadInfo = this._payloadInfo;
|
|
361
|
-
var
|
|
361
|
+
var axisModel = this._axisModel;
|
|
362
|
+
this._api.dispatchAction({
|
|
362
363
|
type: 'updateAxisPointer',
|
|
363
364
|
x: payloadInfo.cursorPoint[0],
|
|
364
365
|
y: payloadInfo.cursorPoint[1],
|
|
365
366
|
tooltipOption: payloadInfo.tooltipOption,
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
367
|
+
axesInfo: [{
|
|
368
|
+
axisDim: axisModel.axis.dim,
|
|
369
|
+
axisIndex: axisModel.componentIndex
|
|
370
|
+
}]
|
|
371
|
+
});
|
|
371
372
|
},
|
|
372
373
|
|
|
373
374
|
/**
|