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/util/graphic.js
CHANGED
|
@@ -5,7 +5,6 @@ define(function(require) {
|
|
|
5
5
|
var zrUtil = require('zrender/core/util');
|
|
6
6
|
|
|
7
7
|
var pathTool = require('zrender/tool/path');
|
|
8
|
-
var round = Math.round;
|
|
9
8
|
var Path = require('zrender/graphic/Path');
|
|
10
9
|
var colorTool = require('zrender/tool/color');
|
|
11
10
|
var matrix = require('zrender/core/matrix');
|
|
@@ -13,6 +12,10 @@ define(function(require) {
|
|
|
13
12
|
var Transformable = require('zrender/mixin/Transformable');
|
|
14
13
|
var BoundingRect = require('zrender/core/BoundingRect');
|
|
15
14
|
|
|
15
|
+
var round = Math.round;
|
|
16
|
+
var mathMax = Math.max;
|
|
17
|
+
var mathMin = Math.min;
|
|
18
|
+
|
|
16
19
|
var graphic = {};
|
|
17
20
|
|
|
18
21
|
graphic.Group = require('zrender/container/Group');
|
|
@@ -407,6 +410,17 @@ define(function(require) {
|
|
|
407
410
|
});
|
|
408
411
|
};
|
|
409
412
|
|
|
413
|
+
graphic.getFont = function (opt, ecModel) {
|
|
414
|
+
var gTextStyleModel = ecModel && ecModel.getModel('textStyle');
|
|
415
|
+
return [
|
|
416
|
+
// FIXME in node-canvas fontWeight is before fontStyle
|
|
417
|
+
opt.fontStyle || gTextStyleModel && gTextStyleModel.getShallow('fontStyle') || '',
|
|
418
|
+
opt.fontWeight || gTextStyleModel && gTextStyleModel.getShallow('fontWeight') || '',
|
|
419
|
+
(opt.fontSize || gTextStyleModel && gTextStyleModel.getShallow('fontSize') || 12) + 'px',
|
|
420
|
+
opt.fontFamily || gTextStyleModel && gTextStyleModel.getShallow('fontFamily') || 'sans-serif'
|
|
421
|
+
].join(' ');
|
|
422
|
+
};
|
|
423
|
+
|
|
410
424
|
function animateOrSetProps(isUpdate, el, props, animatableModel, dataIndex, cb) {
|
|
411
425
|
if (typeof dataIndex === 'function') {
|
|
412
426
|
cb = dataIndex;
|
|
@@ -588,5 +602,43 @@ define(function(require) {
|
|
|
588
602
|
});
|
|
589
603
|
};
|
|
590
604
|
|
|
605
|
+
/**
|
|
606
|
+
* @param {Array.<Array.<number>>} points Like: [[23, 44], [53, 66], ...]
|
|
607
|
+
* @param {Object} rect {x, y, width, height}
|
|
608
|
+
* @return {Array.<Array.<number>>} A new clipped points.
|
|
609
|
+
*/
|
|
610
|
+
graphic.clipPointsByRect = function (points, rect) {
|
|
611
|
+
return zrUtil.map(points, function (point) {
|
|
612
|
+
var x = point[0];
|
|
613
|
+
x = mathMax(x, rect.x);
|
|
614
|
+
x = mathMin(x, rect.x + rect.width);
|
|
615
|
+
var y = point[1];
|
|
616
|
+
y = mathMax(y, rect.y);
|
|
617
|
+
y = mathMin(y, rect.y + rect.height);
|
|
618
|
+
return [x, y];
|
|
619
|
+
});
|
|
620
|
+
};
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* @param {Object} targetRect {x, y, width, height}
|
|
624
|
+
* @param {Object} rect {x, y, width, height}
|
|
625
|
+
* @return {Object} A new clipped rect. If rect size are negative, return undefined.
|
|
626
|
+
*/
|
|
627
|
+
graphic.clipRectByRect = function (targetRect, rect) {
|
|
628
|
+
var x = mathMax(targetRect.x, rect.x);
|
|
629
|
+
var x2 = mathMin(targetRect.x + targetRect.width, rect.x + rect.width);
|
|
630
|
+
var y = mathMax(targetRect.y, rect.y);
|
|
631
|
+
var y2 = mathMin(targetRect.y + targetRect.height, rect.y + rect.height);
|
|
632
|
+
|
|
633
|
+
if (x2 >= x && y2 >= y) {
|
|
634
|
+
return {
|
|
635
|
+
x: x,
|
|
636
|
+
y: y,
|
|
637
|
+
width: x2 - x,
|
|
638
|
+
height: y2 - y
|
|
639
|
+
};
|
|
640
|
+
}
|
|
641
|
+
};
|
|
642
|
+
|
|
591
643
|
return graphic;
|
|
592
644
|
});
|
package/src/util/model.js
CHANGED
|
@@ -145,6 +145,7 @@ define(function(require) {
|
|
|
145
145
|
var rawDataIndex = data.getRawIndex(dataIndex);
|
|
146
146
|
var name = data.getName(dataIndex, true);
|
|
147
147
|
var itemOpt = data.getRawDataItem(dataIndex);
|
|
148
|
+
var color = data.getItemVisual(dataIndex, 'color');
|
|
148
149
|
|
|
149
150
|
return {
|
|
150
151
|
componentType: this.mainType,
|
|
@@ -158,7 +159,8 @@ define(function(require) {
|
|
|
158
159
|
data: itemOpt,
|
|
159
160
|
dataType: dataType,
|
|
160
161
|
value: rawValue,
|
|
161
|
-
color:
|
|
162
|
+
color: color,
|
|
163
|
+
marker: formatUtil.getTooltipMarker(color),
|
|
162
164
|
|
|
163
165
|
// Param name list for mapping `a`, `b`, `c`, `d`, `e`
|
|
164
166
|
$vars: ['seriesName', 'name', 'value']
|
|
@@ -333,22 +335,22 @@ define(function(require) {
|
|
|
333
335
|
// to specify multi components (like series) by one name.
|
|
334
336
|
|
|
335
337
|
// Ensure that each id is distinct.
|
|
336
|
-
var idMap =
|
|
338
|
+
var idMap = zrUtil.createHashMap();
|
|
337
339
|
|
|
338
340
|
each(mapResult, function (item, index) {
|
|
339
341
|
var existCpt = item.exist;
|
|
340
|
-
existCpt && (
|
|
342
|
+
existCpt && idMap.set(existCpt.id, item);
|
|
341
343
|
});
|
|
342
344
|
|
|
343
345
|
each(mapResult, function (item, index) {
|
|
344
346
|
var opt = item.option;
|
|
345
347
|
|
|
346
348
|
zrUtil.assert(
|
|
347
|
-
!opt || opt.id == null || !idMap
|
|
349
|
+
!opt || opt.id == null || !idMap.get(opt.id) || idMap.get(opt.id) === item,
|
|
348
350
|
'id duplicates: ' + (opt && opt.id)
|
|
349
351
|
);
|
|
350
352
|
|
|
351
|
-
opt && opt.id != null && (
|
|
353
|
+
opt && opt.id != null && idMap.set(opt.id, item);
|
|
352
354
|
!item.keyInfo && (item.keyInfo = {});
|
|
353
355
|
});
|
|
354
356
|
|
|
@@ -388,10 +390,10 @@ define(function(require) {
|
|
|
388
390
|
do {
|
|
389
391
|
keyInfo.id = '\0' + keyInfo.name + '\0' + idNum++;
|
|
390
392
|
}
|
|
391
|
-
while (idMap
|
|
393
|
+
while (idMap.get(keyInfo.id));
|
|
392
394
|
}
|
|
393
395
|
|
|
394
|
-
idMap
|
|
396
|
+
idMap.set(keyInfo.id, item);
|
|
395
397
|
});
|
|
396
398
|
};
|
|
397
399
|
|
|
@@ -597,6 +599,60 @@ define(function(require) {
|
|
|
597
599
|
return result;
|
|
598
600
|
};
|
|
599
601
|
|
|
602
|
+
/**
|
|
603
|
+
* @see {module:echarts/data/helper/completeDimensions}
|
|
604
|
+
* @param {module:echarts/data/List} data
|
|
605
|
+
* @param {string|number} dataDim
|
|
606
|
+
* @return {string}
|
|
607
|
+
*/
|
|
608
|
+
modelUtil.dataDimToCoordDim = function (data, dataDim) {
|
|
609
|
+
var dimensions = data.dimensions;
|
|
610
|
+
dataDim = data.getDimension(dataDim);
|
|
611
|
+
for (var i = 0; i < dimensions.length; i++) {
|
|
612
|
+
var dimItem = data.getDimensionInfo(dimensions[i]);
|
|
613
|
+
if (dimItem.name === dataDim) {
|
|
614
|
+
return dimItem.coordDim;
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
};
|
|
618
|
+
|
|
619
|
+
/**
|
|
620
|
+
* @see {module:echarts/data/helper/completeDimensions}
|
|
621
|
+
* @param {module:echarts/data/List} data
|
|
622
|
+
* @param {string} coordDim
|
|
623
|
+
* @return {Array.<string>} data dimensions on the coordDim.
|
|
624
|
+
*/
|
|
625
|
+
modelUtil.coordDimToDataDim = function (data, coordDim) {
|
|
626
|
+
var dataDim = [];
|
|
627
|
+
each(data.dimensions, function (dimName) {
|
|
628
|
+
var dimItem = data.getDimensionInfo(dimName);
|
|
629
|
+
if (dimItem.coordDim === coordDim) {
|
|
630
|
+
dataDim[dimItem.coordDimIndex] = dimItem.name;
|
|
631
|
+
}
|
|
632
|
+
});
|
|
633
|
+
return dataDim;
|
|
634
|
+
};
|
|
635
|
+
|
|
636
|
+
/**
|
|
637
|
+
* @see {module:echarts/data/helper/completeDimensions}
|
|
638
|
+
* @param {module:echarts/data/List} data
|
|
639
|
+
* @param {string} otherDim Can be `otherDims`
|
|
640
|
+
* like 'label' or 'tooltip'.
|
|
641
|
+
* @return {Array.<string>} data dimensions on the otherDim.
|
|
642
|
+
*/
|
|
643
|
+
modelUtil.otherDimToDataDim = function (data, otherDim) {
|
|
644
|
+
var dataDim = [];
|
|
645
|
+
each(data.dimensions, function (dimName) {
|
|
646
|
+
var dimItem = data.getDimensionInfo(dimName);
|
|
647
|
+
var otherDims = dimItem.otherDims;
|
|
648
|
+
var dimIndex = otherDims[otherDim];
|
|
649
|
+
if (dimIndex != null && dimIndex !== false) {
|
|
650
|
+
dataDim[dimIndex] = dimItem.name;
|
|
651
|
+
}
|
|
652
|
+
});
|
|
653
|
+
return dataDim;
|
|
654
|
+
};
|
|
655
|
+
|
|
600
656
|
function has(obj, prop) {
|
|
601
657
|
return obj && obj.hasOwnProperty(prop);
|
|
602
658
|
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Helper function for axisLabelInterval calculation
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
define(function(require) {
|
|
6
|
-
'use strict';
|
|
7
|
-
|
|
8
|
-
var zrUtil = require('zrender/core/util');
|
|
9
|
-
var axisHelper = require('../axisHelper');
|
|
10
|
-
|
|
11
|
-
return function (axis) {
|
|
12
|
-
var axisModel = axis.model;
|
|
13
|
-
var labelModel = axisModel.getModel('axisLabel');
|
|
14
|
-
var labelInterval = labelModel.get('interval');
|
|
15
|
-
if (!(axis.type === 'category' && labelInterval === 'auto')) {
|
|
16
|
-
return labelInterval === 'auto' ? 0 : labelInterval;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return axisHelper.getAxisLabelInterval(
|
|
20
|
-
zrUtil.map(axis.scale.getTicks(), axis.dataToCoord, axis),
|
|
21
|
-
axisModel.getFormattedLabels(),
|
|
22
|
-
labelModel.getModel('textStyle').getFont(),
|
|
23
|
-
axis.isHorizontal()
|
|
24
|
-
);
|
|
25
|
-
};
|
|
26
|
-
});
|