echarts 4.4.0 → 4.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/.github/ISSUE_TEMPLATE.md +1 -1
- package/.github/workflows/nodejs.yml +31 -0
- package/CONTRIBUTING.md +2 -2
- package/README.md +6 -12
- package/dist/echarts-en.common.js +2354 -1029
- package/dist/echarts-en.common.min.js +1 -1
- package/dist/echarts-en.js +2727 -1138
- package/dist/echarts-en.js.map +1 -1
- package/dist/echarts-en.min.js +1 -1
- package/dist/echarts-en.simple.js +2028 -759
- package/dist/echarts-en.simple.min.js +1 -1
- package/dist/echarts.common.js +2354 -1029
- package/dist/echarts.common.min.js +1 -1
- package/dist/echarts.js +2727 -1138
- package/dist/echarts.js.map +1 -1
- package/dist/echarts.min.js +1 -1
- package/dist/echarts.simple.js +2028 -759
- package/dist/echarts.simple.min.js +1 -1
- package/dist/extension/dataTool.js +9 -0
- package/dist/extension/dataTool.js.map +1 -1
- package/echarts.all.js +1 -1
- package/lib/chart/bar/BarSeries.js +4 -1
- package/lib/chart/bar/BarView.js +20 -6
- package/lib/chart/bar/BaseBarSeries.js +5 -1
- package/lib/chart/candlestick/CandlestickSeries.js +1 -0
- package/lib/chart/candlestick/CandlestickView.js +42 -1
- package/lib/chart/custom.js +1 -0
- package/lib/chart/effectScatter/EffectScatterSeries.js +3 -1
- package/lib/chart/funnel/FunnelSeries.js +15 -5
- package/lib/chart/gauge/GaugeSeries.js +0 -9
- package/lib/chart/graph/GraphSeries.js +11 -4
- package/lib/chart/graph/GraphView.js +28 -8
- package/lib/chart/graph/forceHelper.js +8 -2
- package/lib/chart/graph/forceLayout.js +5 -2
- package/lib/chart/heatmap/HeatmapView.js +4 -4
- package/lib/chart/helper/Symbol.js +8 -0
- package/lib/chart/helper/createListFromArray.js +14 -8
- package/lib/chart/helper/whiskerBoxCommon.js +22 -16
- package/lib/chart/line/LineSeries.js +3 -1
- package/lib/chart/line/LineView.js +8 -2
- package/lib/chart/map/MapSeries.js +8 -1
- package/lib/chart/pie/PieSeries.js +27 -6
- package/lib/chart/pie/PieView.js +1 -1
- package/lib/chart/pie/labelLayout.js +102 -19
- package/lib/chart/pie/pieLayout.js +19 -7
- package/lib/chart/radar/RadarSeries.js +3 -3
- package/lib/chart/sankey/SankeyView.js +28 -9
- package/lib/chart/scatter/ScatterSeries.js +3 -1
- package/lib/chart/themeRiver/ThemeRiverSeries.js +3 -3
- package/lib/chart/tree/TreeSeries.js +15 -1
- package/lib/chart/tree/TreeView.js +4 -2
- package/lib/component/axis/AngleAxisView.js +97 -20
- package/lib/component/axis/AxisBuilder.js +63 -24
- package/lib/component/axis/CartesianAxisView.js +55 -11
- package/lib/component/axis/RadiusAxisView.js +36 -4
- package/lib/component/brush/BrushView.js +6 -0
- package/lib/component/brush/brushAction.js +5 -0
- package/lib/component/dataZoom/DataZoomModel.js +15 -1
- package/lib/component/dataZoom/SliderZoomView.js +4 -10
- package/lib/component/helper/BrushController.js +43 -25
- package/lib/component/legend/LegendModel.js +3 -3
- package/lib/component/legend/LegendView.js +17 -13
- package/lib/component/toolbox/ToolboxView.js +16 -7
- package/lib/component/toolbox/feature/MagicType.js +19 -14
- package/lib/coord/Axis.js +44 -12
- package/lib/coord/axisDefault.js +21 -2
- package/lib/coord/axisTickLabelBuilder.js +9 -1
- package/lib/coord/cartesian/Cartesian2D.js +0 -15
- package/lib/coord/geo/geoJSONLoader.js +1 -1
- package/lib/coord/polar/polarCreator.js +11 -2
- package/lib/coord/radar/Radar.js +3 -1
- package/lib/coord/radar/RadarModel.js +4 -1
- package/lib/data/DataDiffer.js +2 -4
- package/lib/data/DataDimensionInfo.js +157 -0
- package/lib/data/List.js +29 -23
- package/lib/data/Tree.js +2 -1
- package/lib/data/helper/completeDimensions.js +43 -32
- package/lib/data/helper/createDimensions.js +2 -0
- package/lib/data/helper/sourceHelper.js +214 -114
- package/lib/echarts.js +2 -2
- package/lib/layout/barGrid.js +136 -11
- package/lib/layout/barPolar.js +2 -2
- package/lib/model/Global.js +1 -1
- package/lib/model/Series.js +3 -3
- package/lib/model/referHelper.js +40 -12
- package/lib/scale/Interval.js +87 -2
- package/lib/scale/Log.js +9 -2
- package/lib/scale/helper.js +1 -43
- package/lib/theme/dark.js +3 -0
- package/lib/util/graphic.js +1 -2
- package/lib/util/number.js +25 -1
- package/lib/util/shape/sausage.js +93 -0
- package/lib/visual/LegendVisualProvider.js +75 -0
- package/lib/visual/dataColor.js +2 -12
- package/lib/visual/seriesColor.js +15 -7
- package/map/js/china.js +2 -2
- package/map/json/china.json +1 -1
- package/map/json/province/tianjin.json +1 -1
- package/package.json +3 -2
- package/src/chart/bar/BarSeries.js +5 -1
- package/src/chart/bar/BarView.js +24 -8
- package/src/chart/bar/BaseBarSeries.js +5 -1
- package/src/chart/candlestick/CandlestickSeries.js +2 -0
- package/src/chart/candlestick/CandlestickView.js +44 -1
- package/src/chart/custom.js +1 -0
- package/src/chart/effectScatter/EffectScatterSeries.js +1 -1
- package/src/chart/funnel/FunnelSeries.js +11 -4
- package/src/chart/gauge/GaugeSeries.js +0 -6
- package/src/chart/graph/GraphSeries.js +10 -3
- package/src/chart/graph/GraphView.js +26 -8
- package/src/chart/graph/forceHelper.js +7 -3
- package/src/chart/graph/forceLayout.js +6 -3
- package/src/chart/heatmap/HeatmapView.js +4 -4
- package/src/chart/helper/Symbol.js +9 -0
- package/src/chart/helper/createClipPathFromCoordSys.js +5 -1
- package/src/chart/helper/createGraphFromNodeEdge.js +1 -1
- package/src/chart/helper/createListFromArray.js +13 -8
- package/src/chart/helper/whiskerBoxCommon.js +21 -16
- package/src/chart/line/LineSeries.js +1 -1
- package/src/chart/line/LineView.js +6 -1
- package/src/chart/map/MapSeries.js +5 -1
- package/src/chart/pie/PieSeries.js +26 -5
- package/src/chart/pie/PieView.js +1 -1
- package/src/chart/pie/labelLayout.js +114 -22
- package/src/chart/pie/pieLayout.js +20 -7
- package/src/chart/radar/RadarSeries.js +5 -3
- package/src/chart/sankey/SankeyView.js +26 -9
- package/src/chart/scatter/ScatterSeries.js +1 -1
- package/src/chart/themeRiver/ThemeRiverSeries.js +4 -3
- package/src/chart/tree/TreeSeries.js +12 -1
- package/src/chart/tree/TreeView.js +5 -2
- package/src/component/axis/AngleAxisView.js +106 -19
- package/src/component/axis/AxisBuilder.js +78 -33
- package/src/component/axis/CartesianAxisView.js +58 -11
- package/src/component/axis/RadiusAxisView.js +37 -4
- package/src/component/brush/BrushView.js +6 -0
- package/src/component/brush/brushAction.js +6 -1
- package/src/component/dataZoom/DataZoomModel.js +15 -1
- package/src/component/dataZoom/SliderZoomView.js +4 -9
- package/src/component/helper/BrushController.js +50 -28
- package/src/component/legend/LegendModel.js +3 -3
- package/src/component/legend/LegendView.js +18 -12
- package/src/component/toolbox/ToolboxView.js +18 -5
- package/src/component/toolbox/feature/MagicType.js +18 -13
- package/src/coord/Axis.js +48 -13
- package/src/coord/axisDefault.js +25 -1
- package/src/coord/axisTickLabelBuilder.js +10 -0
- package/src/coord/cartesian/Cartesian2D.js +0 -13
- package/src/coord/geo/geoJSONLoader.js +2 -2
- package/src/coord/polar/polarCreator.js +16 -3
- package/src/coord/radar/Radar.js +3 -1
- package/src/coord/radar/RadarModel.js +5 -2
- package/src/data/DataDiffer.js +1 -4
- package/src/data/DataDimensionInfo.js +135 -0
- package/src/data/Graph.js +1 -1
- package/src/data/List.js +33 -20
- package/src/data/Tree.js +3 -1
- package/src/data/helper/completeDimensions.js +49 -30
- package/src/data/helper/createDimensions.js +2 -0
- package/src/data/helper/sourceHelper.js +216 -124
- package/src/echarts.js +2 -2
- package/src/layout/barGrid.js +136 -13
- package/src/layout/barPolar.js +3 -2
- package/src/model/Global.js +1 -1
- package/src/model/Series.js +3 -3
- package/src/model/referHelper.js +34 -11
- package/src/scale/Interval.js +84 -4
- package/src/scale/Log.js +9 -2
- package/src/scale/helper.js +1 -39
- package/src/theme/dark.js +3 -0
- package/src/util/graphic.js +1 -2
- package/src/util/number.js +22 -2
- package/src/util/shape/sausage.js +93 -0
- package/src/visual/LegendVisualProvider.js +55 -0
- package/src/visual/dataColor.js +0 -13
- package/src/visual/seriesColor.js +13 -7
- package/theme/azul.js +163 -0
- package/theme/bee-inspired.js +178 -0
- package/theme/blue.js +178 -0
- package/theme/caravan.js +178 -0
- package/theme/carp.js +163 -0
- package/theme/cool.js +180 -0
- package/theme/dark-blue.js +168 -0
- package/theme/dark-bold.js +168 -0
- package/theme/dark-digerati.js +168 -0
- package/theme/dark-fresh-cut.js +168 -0
- package/theme/dark-mushroom.js +168 -0
- package/theme/dark.js +69 -62
- package/theme/eduardo.js +178 -0
- package/theme/forest.js +163 -0
- package/theme/fresh-cut.js +163 -0
- package/theme/fruit.js +178 -0
- package/theme/gray.js +220 -0
- package/theme/green.js +222 -0
- package/theme/helianthus.js +263 -0
- package/theme/infographic.js +72 -57
- package/theme/inspired.js +163 -0
- package/theme/jazz.js +163 -0
- package/theme/london.js +163 -0
- package/theme/macarons.js +80 -57
- package/theme/macarons2.js +251 -0
- package/theme/mint.js +155 -0
- package/theme/red-velvet.js +163 -0
- package/theme/red.js +225 -0
- package/theme/roma.js +55 -22
- package/theme/royal.js +163 -0
- package/theme/sakura.js +140 -0
- package/theme/shine.js +52 -45
- package/theme/tech-blue.js +180 -0
- package/theme/vintage.js +37 -23
- package/.travis.yml +0 -16
|
@@ -20,6 +20,10 @@
|
|
|
20
20
|
|
|
21
21
|
var textContain = require("zrender/lib/contain/text");
|
|
22
22
|
|
|
23
|
+
var _number = require("../../util/number");
|
|
24
|
+
|
|
25
|
+
var parsePercent = _number.parsePercent;
|
|
26
|
+
|
|
23
27
|
/*
|
|
24
28
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
25
29
|
* or more contributor license agreements. See the NOTICE file
|
|
@@ -41,13 +45,17 @@ var textContain = require("zrender/lib/contain/text");
|
|
|
41
45
|
// FIXME emphasis label position is not same with normal label position
|
|
42
46
|
var RADIAN = Math.PI / 180;
|
|
43
47
|
|
|
44
|
-
function adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight) {
|
|
48
|
+
function adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight, viewLeft, viewTop, farthestX) {
|
|
45
49
|
list.sort(function (a, b) {
|
|
46
50
|
return a.y - b.y;
|
|
47
51
|
});
|
|
48
52
|
|
|
49
53
|
function shiftDown(start, end, delta, dir) {
|
|
50
54
|
for (var j = start; j < end; j++) {
|
|
55
|
+
if (list[j].y + delta > viewTop + viewHeight) {
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
|
|
51
59
|
list[j].y += delta;
|
|
52
60
|
|
|
53
61
|
if (j > start && j + 1 < end && list[j + 1].y > list[j].y + list[j].height) {
|
|
@@ -61,6 +69,10 @@ function adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight) {
|
|
|
61
69
|
|
|
62
70
|
function shiftUp(end, delta) {
|
|
63
71
|
for (var j = end; j >= 0; j--) {
|
|
72
|
+
if (list[j].y - delta < viewTop) {
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
|
|
64
76
|
list[j].y -= delta;
|
|
65
77
|
|
|
66
78
|
if (j > 0 && list[j].y > list[j - 1].y + list[j - 1].height) {
|
|
@@ -78,6 +90,10 @@ function adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight) {
|
|
|
78
90
|
: 0; // up
|
|
79
91
|
|
|
80
92
|
for (var i = 0, l = list.length; i < l; i++) {
|
|
93
|
+
if (list[i].labelAlignTo !== 'none') {
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
|
|
81
97
|
var deltaY = Math.abs(list[i].y - cy);
|
|
82
98
|
var length = list[i].len;
|
|
83
99
|
var length2 = list[i].len2;
|
|
@@ -105,6 +121,12 @@ function adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight) {
|
|
|
105
121
|
var downList = [];
|
|
106
122
|
|
|
107
123
|
for (var i = 0; i < len; i++) {
|
|
124
|
+
if (list[i].position === 'outer' && list[i].labelAlignTo === 'labelLine') {
|
|
125
|
+
var dx = list[i].x - farthestX;
|
|
126
|
+
list[i].linePoints[1][0] += dx;
|
|
127
|
+
list[i].x = farthestX;
|
|
128
|
+
}
|
|
129
|
+
|
|
108
130
|
delta = list[i].y - lastY;
|
|
109
131
|
|
|
110
132
|
if (delta < 0) {
|
|
@@ -130,9 +152,11 @@ function adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight) {
|
|
|
130
152
|
changeX(downList, true, cx, cy, r, dir);
|
|
131
153
|
}
|
|
132
154
|
|
|
133
|
-
function avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight) {
|
|
155
|
+
function avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight, viewLeft, viewTop) {
|
|
134
156
|
var leftList = [];
|
|
135
157
|
var rightList = [];
|
|
158
|
+
var leftmostX = Number.MAX_VALUE;
|
|
159
|
+
var rightmostX = -Number.MAX_VALUE;
|
|
136
160
|
|
|
137
161
|
for (var i = 0; i < labelLayoutList.length; i++) {
|
|
138
162
|
if (isPositionCenter(labelLayoutList[i])) {
|
|
@@ -140,33 +164,72 @@ function avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight) {
|
|
|
140
164
|
}
|
|
141
165
|
|
|
142
166
|
if (labelLayoutList[i].x < cx) {
|
|
167
|
+
leftmostX = Math.min(leftmostX, labelLayoutList[i].x);
|
|
143
168
|
leftList.push(labelLayoutList[i]);
|
|
144
169
|
} else {
|
|
170
|
+
rightmostX = Math.max(rightmostX, labelLayoutList[i].x);
|
|
145
171
|
rightList.push(labelLayoutList[i]);
|
|
146
172
|
}
|
|
147
173
|
}
|
|
148
174
|
|
|
149
|
-
adjustSingleSide(rightList, cx, cy, r, 1, viewWidth, viewHeight);
|
|
150
|
-
adjustSingleSide(leftList, cx, cy, r, -1, viewWidth, viewHeight);
|
|
175
|
+
adjustSingleSide(rightList, cx, cy, r, 1, viewWidth, viewHeight, viewLeft, viewTop, rightmostX);
|
|
176
|
+
adjustSingleSide(leftList, cx, cy, r, -1, viewWidth, viewHeight, viewLeft, viewTop, leftmostX);
|
|
151
177
|
|
|
152
178
|
for (var i = 0; i < labelLayoutList.length; i++) {
|
|
153
|
-
|
|
179
|
+
var layout = labelLayoutList[i];
|
|
180
|
+
|
|
181
|
+
if (isPositionCenter(layout)) {
|
|
154
182
|
continue;
|
|
155
183
|
}
|
|
156
184
|
|
|
157
|
-
var linePoints =
|
|
185
|
+
var linePoints = layout.linePoints;
|
|
158
186
|
|
|
159
187
|
if (linePoints) {
|
|
188
|
+
var isAlignToEdge = layout.labelAlignTo === 'edge';
|
|
189
|
+
var realTextWidth = layout.textRect.width;
|
|
190
|
+
var targetTextWidth;
|
|
191
|
+
|
|
192
|
+
if (isAlignToEdge) {
|
|
193
|
+
if (layout.x < cx) {
|
|
194
|
+
targetTextWidth = linePoints[2][0] - layout.labelDistance - viewLeft - layout.labelMargin;
|
|
195
|
+
} else {
|
|
196
|
+
targetTextWidth = viewLeft + viewWidth - layout.labelMargin - linePoints[2][0] - layout.labelDistance;
|
|
197
|
+
}
|
|
198
|
+
} else {
|
|
199
|
+
if (layout.x < cx) {
|
|
200
|
+
targetTextWidth = layout.x - viewLeft - layout.bleedMargin;
|
|
201
|
+
} else {
|
|
202
|
+
targetTextWidth = viewLeft + viewWidth - layout.x - layout.bleedMargin;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (targetTextWidth < layout.textRect.width) {
|
|
207
|
+
layout.text = textContain.truncateText(layout.text, targetTextWidth, layout.font);
|
|
208
|
+
|
|
209
|
+
if (layout.labelAlignTo === 'edge') {
|
|
210
|
+
realTextWidth = textContain.getWidth(layout.text, layout.font);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
160
214
|
var dist = linePoints[1][0] - linePoints[2][0];
|
|
161
215
|
|
|
162
|
-
if (
|
|
163
|
-
|
|
216
|
+
if (isAlignToEdge) {
|
|
217
|
+
if (layout.x < cx) {
|
|
218
|
+
linePoints[2][0] = viewLeft + layout.labelMargin + realTextWidth + layout.labelDistance;
|
|
219
|
+
} else {
|
|
220
|
+
linePoints[2][0] = viewLeft + viewWidth - layout.labelMargin - realTextWidth - layout.labelDistance;
|
|
221
|
+
}
|
|
164
222
|
} else {
|
|
165
|
-
|
|
223
|
+
if (layout.x < cx) {
|
|
224
|
+
linePoints[2][0] = layout.x + layout.labelDistance;
|
|
225
|
+
} else {
|
|
226
|
+
linePoints[2][0] = layout.x - layout.labelDistance;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
linePoints[1][0] = linePoints[2][0] + dist;
|
|
166
230
|
}
|
|
167
231
|
|
|
168
|
-
linePoints[1][1] = linePoints[2][1] =
|
|
169
|
-
linePoints[1][0] = linePoints[2][0] + dist;
|
|
232
|
+
linePoints[1][1] = linePoints[2][1] = layout.y;
|
|
170
233
|
}
|
|
171
234
|
}
|
|
172
235
|
}
|
|
@@ -176,7 +239,7 @@ function isPositionCenter(layout) {
|
|
|
176
239
|
return layout.position === 'center';
|
|
177
240
|
}
|
|
178
241
|
|
|
179
|
-
function _default(seriesModel, r, viewWidth, viewHeight,
|
|
242
|
+
function _default(seriesModel, r, viewWidth, viewHeight, viewLeft, viewTop) {
|
|
180
243
|
var data = seriesModel.getData();
|
|
181
244
|
var labelLayoutList = [];
|
|
182
245
|
var cx;
|
|
@@ -189,9 +252,16 @@ function _default(seriesModel, r, viewWidth, viewHeight, sum) {
|
|
|
189
252
|
var labelModel = itemModel.getModel('label'); // Use position in normal or emphasis
|
|
190
253
|
|
|
191
254
|
var labelPosition = labelModel.get('position') || itemModel.get('emphasis.label.position');
|
|
255
|
+
var labelDistance = labelModel.get('distanceToLabelLine');
|
|
256
|
+
var labelAlignTo = labelModel.get('alignTo');
|
|
257
|
+
var labelMargin = parsePercent(labelModel.get('margin'), viewWidth);
|
|
258
|
+
var bleedMargin = labelModel.get('bleedMargin');
|
|
259
|
+
var font = labelModel.getFont();
|
|
192
260
|
var labelLineModel = itemModel.getModel('labelLine');
|
|
193
261
|
var labelLineLen = labelLineModel.get('length');
|
|
262
|
+
labelLineLen = parsePercent(labelLineLen, viewWidth);
|
|
194
263
|
var labelLineLen2 = labelLineModel.get('length2');
|
|
264
|
+
labelLineLen2 = parsePercent(labelLineLen2, viewWidth);
|
|
195
265
|
|
|
196
266
|
if (layout.angle < minShowLabelRadian) {
|
|
197
267
|
return;
|
|
@@ -206,6 +276,8 @@ function _default(seriesModel, r, viewWidth, viewHeight, sum) {
|
|
|
206
276
|
var textAlign;
|
|
207
277
|
cx = layout.cx;
|
|
208
278
|
cy = layout.cy;
|
|
279
|
+
var text = seriesModel.getFormattedLabel(idx, 'normal') || data.getName(idx);
|
|
280
|
+
var textRect = textContain.getBoundingRect(text, font, textAlign, 'top');
|
|
209
281
|
var isLabelInside = labelPosition === 'inside' || labelPosition === 'inner';
|
|
210
282
|
|
|
211
283
|
if (labelPosition === 'center') {
|
|
@@ -224,15 +296,21 @@ function _default(seriesModel, r, viewWidth, viewHeight, sum) {
|
|
|
224
296
|
var y2 = y1 + dy * (labelLineLen + r - layout.r);
|
|
225
297
|
var x3 = x2 + (dx < 0 ? -1 : 1) * labelLineLen2;
|
|
226
298
|
var y3 = y2;
|
|
227
|
-
|
|
299
|
+
|
|
300
|
+
if (labelAlignTo === 'edge') {
|
|
301
|
+
// Adjust textX because text align of edge is opposite
|
|
302
|
+
textX = dx < 0 ? viewLeft + labelMargin : viewLeft + viewWidth - labelMargin;
|
|
303
|
+
} else {
|
|
304
|
+
textX = x3 + (dx < 0 ? -labelDistance : labelDistance);
|
|
305
|
+
}
|
|
306
|
+
|
|
228
307
|
textY = y3;
|
|
229
308
|
linePoints = [[x1, y1], [x2, y2], [x3, y3]];
|
|
230
309
|
}
|
|
231
310
|
|
|
232
|
-
textAlign = isLabelInside ? 'center' : dx > 0 ? 'left' : 'right';
|
|
311
|
+
textAlign = isLabelInside ? 'center' : labelAlignTo === 'edge' ? dx > 0 ? 'right' : 'left' : dx > 0 ? 'left' : 'right';
|
|
233
312
|
}
|
|
234
313
|
|
|
235
|
-
var font = labelModel.getFont();
|
|
236
314
|
var labelRotate;
|
|
237
315
|
var rotate = labelModel.get('rotate');
|
|
238
316
|
|
|
@@ -242,8 +320,6 @@ function _default(seriesModel, r, viewWidth, viewHeight, sum) {
|
|
|
242
320
|
labelRotate = rotate ? dx < 0 ? -midAngle + Math.PI : -midAngle : 0;
|
|
243
321
|
}
|
|
244
322
|
|
|
245
|
-
var text = seriesModel.getFormattedLabel(idx, 'normal') || data.getName(idx);
|
|
246
|
-
var textRect = textContain.getBoundingRect(text, font, textAlign, 'top');
|
|
247
323
|
hasLabelRotate = !!labelRotate;
|
|
248
324
|
layout.label = {
|
|
249
325
|
x: textX,
|
|
@@ -256,7 +332,14 @@ function _default(seriesModel, r, viewWidth, viewHeight, sum) {
|
|
|
256
332
|
textAlign: textAlign,
|
|
257
333
|
verticalAlign: 'middle',
|
|
258
334
|
rotation: labelRotate,
|
|
259
|
-
inside: isLabelInside
|
|
335
|
+
inside: isLabelInside,
|
|
336
|
+
labelDistance: labelDistance,
|
|
337
|
+
labelAlignTo: labelAlignTo,
|
|
338
|
+
labelMargin: labelMargin,
|
|
339
|
+
bleedMargin: bleedMargin,
|
|
340
|
+
textRect: textRect,
|
|
341
|
+
text: text,
|
|
342
|
+
font: font
|
|
260
343
|
}; // Not layout the inside label
|
|
261
344
|
|
|
262
345
|
if (!isLabelInside) {
|
|
@@ -265,7 +348,7 @@ function _default(seriesModel, r, viewWidth, viewHeight, sum) {
|
|
|
265
348
|
});
|
|
266
349
|
|
|
267
350
|
if (!hasLabelRotate && seriesModel.get('avoidLabelOverlap')) {
|
|
268
|
-
avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight);
|
|
351
|
+
avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight, viewLeft, viewTop);
|
|
269
352
|
}
|
|
270
353
|
}
|
|
271
354
|
|
|
@@ -23,6 +23,8 @@ var _number = require("../../util/number");
|
|
|
23
23
|
var parsePercent = _number.parsePercent;
|
|
24
24
|
var linearMap = _number.linearMap;
|
|
25
25
|
|
|
26
|
+
var layout = require("../../util/layout");
|
|
27
|
+
|
|
26
28
|
var labelLayout = require("./labelLayout");
|
|
27
29
|
|
|
28
30
|
var zrUtil = require("zrender/lib/core/util");
|
|
@@ -48,10 +50,18 @@ var zrUtil = require("zrender/lib/core/util");
|
|
|
48
50
|
var PI2 = Math.PI * 2;
|
|
49
51
|
var RADIAN = Math.PI / 180;
|
|
50
52
|
|
|
53
|
+
function getViewRect(seriesModel, api) {
|
|
54
|
+
return layout.getLayoutRect(seriesModel.getBoxLayoutParams(), {
|
|
55
|
+
width: api.getWidth(),
|
|
56
|
+
height: api.getHeight()
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
51
60
|
function _default(seriesType, ecModel, api, payload) {
|
|
52
61
|
ecModel.eachSeriesByType(seriesType, function (seriesModel) {
|
|
53
62
|
var data = seriesModel.getData();
|
|
54
63
|
var valueDim = data.mapDimension('value');
|
|
64
|
+
var viewRect = getViewRect(seriesModel, api);
|
|
55
65
|
var center = seriesModel.get('center');
|
|
56
66
|
var radius = seriesModel.get('radius');
|
|
57
67
|
|
|
@@ -63,11 +73,11 @@ function _default(seriesType, ecModel, api, payload) {
|
|
|
63
73
|
center = [center, center];
|
|
64
74
|
}
|
|
65
75
|
|
|
66
|
-
var width = api.getWidth();
|
|
67
|
-
var height = api.getHeight();
|
|
76
|
+
var width = parsePercent(viewRect.width, api.getWidth());
|
|
77
|
+
var height = parsePercent(viewRect.height, api.getHeight());
|
|
68
78
|
var size = Math.min(width, height);
|
|
69
|
-
var cx = parsePercent(center[0], width);
|
|
70
|
-
var cy = parsePercent(center[1], height);
|
|
79
|
+
var cx = parsePercent(center[0], width) + viewRect.x;
|
|
80
|
+
var cy = parsePercent(center[1], height) + viewRect.y;
|
|
71
81
|
var r0 = parsePercent(radius[0], size / 2);
|
|
72
82
|
var r = parsePercent(radius[1], size / 2);
|
|
73
83
|
var startAngle = -seriesModel.get('startAngle') * RADIAN;
|
|
@@ -102,7 +112,8 @@ function _default(seriesType, ecModel, api, payload) {
|
|
|
102
112
|
cx: cx,
|
|
103
113
|
cy: cy,
|
|
104
114
|
r0: r0,
|
|
105
|
-
r: roseType ? NaN : r
|
|
115
|
+
r: roseType ? NaN : r,
|
|
116
|
+
viewRect: viewRect
|
|
106
117
|
});
|
|
107
118
|
return;
|
|
108
119
|
} // FIXME 兼容 2.0 但是 roseType 是 area 的时候才是这样?
|
|
@@ -130,7 +141,8 @@ function _default(seriesType, ecModel, api, payload) {
|
|
|
130
141
|
cx: cx,
|
|
131
142
|
cy: cy,
|
|
132
143
|
r0: r0,
|
|
133
|
-
r: roseType ? linearMap(value, extent, [r0, r]) : r
|
|
144
|
+
r: roseType ? linearMap(value, extent, [r0, r]) : r,
|
|
145
|
+
viewRect: viewRect
|
|
134
146
|
});
|
|
135
147
|
currentAngle = endAngle;
|
|
136
148
|
}); // Some sector is constrained by minAngle
|
|
@@ -164,7 +176,7 @@ function _default(seriesType, ecModel, api, payload) {
|
|
|
164
176
|
}
|
|
165
177
|
}
|
|
166
178
|
|
|
167
|
-
labelLayout(seriesModel, r, width, height);
|
|
179
|
+
labelLayout(seriesModel, r, viewRect.width, viewRect.height, viewRect.x, viewRect.y);
|
|
168
180
|
});
|
|
169
181
|
}
|
|
170
182
|
|
|
@@ -28,6 +28,8 @@ var _format = require("../../util/format");
|
|
|
28
28
|
|
|
29
29
|
var encodeHTML = _format.encodeHTML;
|
|
30
30
|
|
|
31
|
+
var LegendVisualProvider = require("../../visual/LegendVisualProvider");
|
|
32
|
+
|
|
31
33
|
/*
|
|
32
34
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
33
35
|
* or more contributor license agreements. See the NOTICE file
|
|
@@ -54,9 +56,7 @@ var RadarSeries = SeriesModel.extend({
|
|
|
54
56
|
RadarSeries.superApply(this, 'init', arguments); // Enable legend selection for each data item
|
|
55
57
|
// Use a function instead of direct access because data reference may changed
|
|
56
58
|
|
|
57
|
-
this.
|
|
58
|
-
return this.getRawData();
|
|
59
|
-
};
|
|
59
|
+
this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this));
|
|
60
60
|
},
|
|
61
61
|
getInitialData: function (option, ecModel) {
|
|
62
62
|
return createListSimply(this, {
|
|
@@ -269,6 +269,8 @@ var _default = echarts.extendChartView({
|
|
|
269
269
|
if (itemModel.get('focusNodeAdjacency')) {
|
|
270
270
|
el.off('mouseover').on('mouseover', function () {
|
|
271
271
|
if (!sankeyView._focusAdjacencyDisabled) {
|
|
272
|
+
sankeyView._clearTimer();
|
|
273
|
+
|
|
272
274
|
api.dispatchAction({
|
|
273
275
|
type: 'focusNodeAdjacency',
|
|
274
276
|
seriesId: seriesModel.id,
|
|
@@ -278,10 +280,7 @@ var _default = echarts.extendChartView({
|
|
|
278
280
|
});
|
|
279
281
|
el.off('mouseout').on('mouseout', function () {
|
|
280
282
|
if (!sankeyView._focusAdjacencyDisabled) {
|
|
281
|
-
|
|
282
|
-
type: 'unfocusNodeAdjacency',
|
|
283
|
-
seriesId: seriesModel.id
|
|
284
|
-
});
|
|
283
|
+
sankeyView._dispatchUnfocus(api);
|
|
285
284
|
}
|
|
286
285
|
});
|
|
287
286
|
}
|
|
@@ -292,6 +291,8 @@ var _default = echarts.extendChartView({
|
|
|
292
291
|
if (edgeModel.get('focusNodeAdjacency')) {
|
|
293
292
|
el.off('mouseover').on('mouseover', function () {
|
|
294
293
|
if (!sankeyView._focusAdjacencyDisabled) {
|
|
294
|
+
sankeyView._clearTimer();
|
|
295
|
+
|
|
295
296
|
api.dispatchAction({
|
|
296
297
|
type: 'focusNodeAdjacency',
|
|
297
298
|
seriesId: seriesModel.id,
|
|
@@ -301,10 +302,7 @@ var _default = echarts.extendChartView({
|
|
|
301
302
|
});
|
|
302
303
|
el.off('mouseout').on('mouseout', function () {
|
|
303
304
|
if (!sankeyView._focusAdjacencyDisabled) {
|
|
304
|
-
|
|
305
|
-
type: 'unfocusNodeAdjacency',
|
|
306
|
-
seriesId: seriesModel.id
|
|
307
|
-
});
|
|
305
|
+
sankeyView._dispatchUnfocus(api);
|
|
308
306
|
}
|
|
309
307
|
});
|
|
310
308
|
}
|
|
@@ -318,7 +316,28 @@ var _default = echarts.extendChartView({
|
|
|
318
316
|
|
|
319
317
|
this._data = seriesModel.getData();
|
|
320
318
|
},
|
|
321
|
-
dispose: function () {
|
|
319
|
+
dispose: function () {
|
|
320
|
+
this._clearTimer();
|
|
321
|
+
},
|
|
322
|
+
_dispatchUnfocus: function (api) {
|
|
323
|
+
var self = this;
|
|
324
|
+
|
|
325
|
+
this._clearTimer();
|
|
326
|
+
|
|
327
|
+
this._unfocusDelayTimer = setTimeout(function () {
|
|
328
|
+
self._unfocusDelayTimer = null;
|
|
329
|
+
api.dispatchAction({
|
|
330
|
+
type: 'unfocusNodeAdjacency',
|
|
331
|
+
seriesId: self._model.id
|
|
332
|
+
});
|
|
333
|
+
}, 500);
|
|
334
|
+
},
|
|
335
|
+
_clearTimer: function () {
|
|
336
|
+
if (this._unfocusDelayTimer) {
|
|
337
|
+
clearTimeout(this._unfocusDelayTimer);
|
|
338
|
+
this._unfocusDelayTimer = null;
|
|
339
|
+
}
|
|
340
|
+
},
|
|
322
341
|
focusNodeAdjacency: function (seriesModel, ecModel, api, payload) {
|
|
323
342
|
var data = this._model.getData();
|
|
324
343
|
|
|
@@ -44,7 +44,9 @@ var _default = SeriesModel.extend({
|
|
|
44
44
|
type: 'series.scatter',
|
|
45
45
|
dependencies: ['grid', 'polar', 'geo', 'singleAxis', 'calendar'],
|
|
46
46
|
getInitialData: function (option, ecModel) {
|
|
47
|
-
return createListFromArray(this.getSource(), this
|
|
47
|
+
return createListFromArray(this.getSource(), this, {
|
|
48
|
+
useEncodeDefaulter: true
|
|
49
|
+
});
|
|
48
50
|
},
|
|
49
51
|
brushSelector: 'point',
|
|
50
52
|
getProgressive: function () {
|
|
@@ -38,6 +38,8 @@ var _format = require("../../util/format");
|
|
|
38
38
|
|
|
39
39
|
var encodeHTML = _format.encodeHTML;
|
|
40
40
|
|
|
41
|
+
var LegendVisualProvider = require("../../visual/LegendVisualProvider");
|
|
42
|
+
|
|
41
43
|
/*
|
|
42
44
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
43
45
|
* or more contributor license agreements. See the NOTICE file
|
|
@@ -76,9 +78,7 @@ var ThemeRiverSeries = SeriesModel.extend({
|
|
|
76
78
|
// Enable legend selection for each data item
|
|
77
79
|
// Use a function instead of direct access because data reference may changed
|
|
78
80
|
|
|
79
|
-
this.
|
|
80
|
-
return this.getRawData();
|
|
81
|
-
};
|
|
81
|
+
this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this));
|
|
82
82
|
},
|
|
83
83
|
|
|
84
84
|
/**
|
|
@@ -65,7 +65,21 @@ var _default = SeriesModel.extend({
|
|
|
65
65
|
var leaves = option.leaves || {};
|
|
66
66
|
var treeOption = {};
|
|
67
67
|
treeOption.leaves = leaves;
|
|
68
|
-
var tree = Tree.createTree(root, this, treeOption);
|
|
68
|
+
var tree = Tree.createTree(root, this, treeOption, beforeLink);
|
|
69
|
+
|
|
70
|
+
function beforeLink(nodeData) {
|
|
71
|
+
nodeData.wrapMethod('getItemModel', function (model, idx) {
|
|
72
|
+
var node = tree.getNodeByDataIndex(idx);
|
|
73
|
+
var leavesModel = node.getLeavesModel();
|
|
74
|
+
|
|
75
|
+
if (!node.children.length || !node.isExpand) {
|
|
76
|
+
model.parentModel = leavesModel;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return model;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
69
83
|
var treeDepth = 0;
|
|
70
84
|
tree.eachNode('preorder', function (node) {
|
|
71
85
|
if (node.depth > treeDepth) {
|
|
@@ -377,9 +377,11 @@ function updateNode(data, dataIndex, symbolEl, group, seriesModel, seriesScope)
|
|
|
377
377
|
}
|
|
378
378
|
|
|
379
379
|
var textPosition = isLeft ? 'left' : 'right';
|
|
380
|
+
var rotate = seriesScope.labelModel.get('rotate');
|
|
381
|
+
var labelRotateRadian = rotate * (Math.PI / 180);
|
|
380
382
|
symbolPath.setStyle({
|
|
381
|
-
textPosition: textPosition,
|
|
382
|
-
textRotation: -rad,
|
|
383
|
+
textPosition: seriesScope.labelModel.get('position') || textPosition,
|
|
384
|
+
textRotation: rotate == null ? -rad : labelRotateRadian,
|
|
383
385
|
textOrigin: 'center',
|
|
384
386
|
verticalAlign: 'middle'
|
|
385
387
|
});
|
|
@@ -46,7 +46,7 @@ var AxisBuilder = require("./AxisBuilder");
|
|
|
46
46
|
* specific language governing permissions and limitations
|
|
47
47
|
* under the License.
|
|
48
48
|
*/
|
|
49
|
-
var elementList = ['axisLine', 'axisLabel', 'axisTick', 'splitLine', 'splitArea'];
|
|
49
|
+
var elementList = ['axisLine', 'axisLabel', 'axisTick', 'minorTick', 'splitLine', 'minorSplitLine', 'splitArea'];
|
|
50
50
|
|
|
51
51
|
function getAxisLineShape(polar, rExtent, angle) {
|
|
52
52
|
rExtent[1] > rExtent[0] && (rExtent = rExtent.slice().reverse());
|
|
@@ -89,6 +89,7 @@ var _default = AxisView.extend({
|
|
|
89
89
|
var polar = angleAxis.polar;
|
|
90
90
|
var radiusExtent = polar.getRadiusAxis().getExtent();
|
|
91
91
|
var ticksAngles = angleAxis.getTicksCoords();
|
|
92
|
+
var minorTickAngles = angleAxis.getMinorTicksCoords();
|
|
92
93
|
var labels = zrUtil.map(angleAxis.getViewLabels(), function (labelItem) {
|
|
93
94
|
var labelItem = zrUtil.clone(labelItem);
|
|
94
95
|
labelItem.coord = angleAxis.dataToCoord(labelItem.tickValue);
|
|
@@ -98,7 +99,7 @@ var _default = AxisView.extend({
|
|
|
98
99
|
fixAngleOverlap(ticksAngles);
|
|
99
100
|
zrUtil.each(elementList, function (name) {
|
|
100
101
|
if (angleAxisModel.get(name + '.show') && (!angleAxis.scale.isBlank() || name === 'axisLine')) {
|
|
101
|
-
this['_' + name](angleAxisModel, polar, ticksAngles, radiusExtent, labels);
|
|
102
|
+
this['_' + name](angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent, labels);
|
|
102
103
|
}
|
|
103
104
|
}, this);
|
|
104
105
|
},
|
|
@@ -106,26 +107,46 @@ var _default = AxisView.extend({
|
|
|
106
107
|
/**
|
|
107
108
|
* @private
|
|
108
109
|
*/
|
|
109
|
-
_axisLine: function (angleAxisModel, polar, ticksAngles, radiusExtent) {
|
|
110
|
-
var lineStyleModel = angleAxisModel.getModel('axisLine.lineStyle');
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
110
|
+
_axisLine: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {
|
|
111
|
+
var lineStyleModel = angleAxisModel.getModel('axisLine.lineStyle'); // extent id of the axis radius (r0 and r)
|
|
112
|
+
|
|
113
|
+
var rId = getRadiusIdx(polar);
|
|
114
|
+
var r0Id = rId ? 0 : 1;
|
|
115
|
+
var shape;
|
|
116
|
+
|
|
117
|
+
if (radiusExtent[r0Id] === 0) {
|
|
118
|
+
shape = new graphic.Circle({
|
|
119
|
+
shape: {
|
|
120
|
+
cx: polar.cx,
|
|
121
|
+
cy: polar.cy,
|
|
122
|
+
r: radiusExtent[rId]
|
|
123
|
+
},
|
|
124
|
+
style: lineStyleModel.getLineStyle(),
|
|
125
|
+
z2: 1,
|
|
126
|
+
silent: true
|
|
127
|
+
});
|
|
128
|
+
} else {
|
|
129
|
+
shape = new graphic.Ring({
|
|
130
|
+
shape: {
|
|
131
|
+
cx: polar.cx,
|
|
132
|
+
cy: polar.cy,
|
|
133
|
+
r: radiusExtent[rId],
|
|
134
|
+
r0: radiusExtent[r0Id]
|
|
135
|
+
},
|
|
136
|
+
style: lineStyleModel.getLineStyle(),
|
|
137
|
+
z2: 1,
|
|
138
|
+
silent: true
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
shape.style.fill = null;
|
|
143
|
+
this.group.add(shape);
|
|
123
144
|
},
|
|
124
145
|
|
|
125
146
|
/**
|
|
126
147
|
* @private
|
|
127
148
|
*/
|
|
128
|
-
_axisTick: function (angleAxisModel, polar, ticksAngles, radiusExtent) {
|
|
149
|
+
_axisTick: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {
|
|
129
150
|
var tickModel = angleAxisModel.getModel('axisTick');
|
|
130
151
|
var tickLen = (tickModel.get('inside') ? -1 : 1) * tickModel.get('length');
|
|
131
152
|
var radius = radiusExtent[getRadiusIdx(polar)];
|
|
@@ -144,7 +165,36 @@ var _default = AxisView.extend({
|
|
|
144
165
|
/**
|
|
145
166
|
* @private
|
|
146
167
|
*/
|
|
147
|
-
|
|
168
|
+
_minorTick: function (angleAxisModel, polar, tickAngles, minorTickAngles, radiusExtent) {
|
|
169
|
+
if (!minorTickAngles.length) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
var tickModel = angleAxisModel.getModel('axisTick');
|
|
174
|
+
var minorTickModel = angleAxisModel.getModel('minorTick');
|
|
175
|
+
var tickLen = (tickModel.get('inside') ? -1 : 1) * minorTickModel.get('length');
|
|
176
|
+
var radius = radiusExtent[getRadiusIdx(polar)];
|
|
177
|
+
var lines = [];
|
|
178
|
+
|
|
179
|
+
for (var i = 0; i < minorTickAngles.length; i++) {
|
|
180
|
+
for (var k = 0; k < minorTickAngles[i].length; k++) {
|
|
181
|
+
lines.push(new graphic.Line({
|
|
182
|
+
shape: getAxisLineShape(polar, [radius, radius + tickLen], minorTickAngles[i][k].coord)
|
|
183
|
+
}));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
this.group.add(graphic.mergePath(lines, {
|
|
188
|
+
style: zrUtil.defaults(minorTickModel.getModel('lineStyle').getLineStyle(), zrUtil.defaults(tickModel.getLineStyle(), {
|
|
189
|
+
stroke: angleAxisModel.get('axisLine.lineStyle.color')
|
|
190
|
+
}))
|
|
191
|
+
}));
|
|
192
|
+
},
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* @private
|
|
196
|
+
*/
|
|
197
|
+
_axisLabel: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent, labels) {
|
|
148
198
|
var rawCategoryData = angleAxisModel.getCategories(true);
|
|
149
199
|
var commonLabelModel = angleAxisModel.getModel('axisLabel');
|
|
150
200
|
var labelMargin = commonLabelModel.get('margin');
|
|
@@ -188,7 +238,7 @@ var _default = AxisView.extend({
|
|
|
188
238
|
/**
|
|
189
239
|
* @private
|
|
190
240
|
*/
|
|
191
|
-
_splitLine: function (angleAxisModel, polar, ticksAngles, radiusExtent) {
|
|
241
|
+
_splitLine: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {
|
|
192
242
|
var splitLineModel = angleAxisModel.getModel('splitLine');
|
|
193
243
|
var lineStyleModel = splitLineModel.getModel('lineStyle');
|
|
194
244
|
var lineColors = lineStyleModel.get('color');
|
|
@@ -220,7 +270,34 @@ var _default = AxisView.extend({
|
|
|
220
270
|
/**
|
|
221
271
|
* @private
|
|
222
272
|
*/
|
|
223
|
-
|
|
273
|
+
_minorSplitLine: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {
|
|
274
|
+
if (!minorTickAngles.length) {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
var minorSplitLineModel = angleAxisModel.getModel('minorSplitLine');
|
|
279
|
+
var lineStyleModel = minorSplitLineModel.getModel('lineStyle');
|
|
280
|
+
var lines = [];
|
|
281
|
+
|
|
282
|
+
for (var i = 0; i < minorTickAngles.length; i++) {
|
|
283
|
+
for (var k = 0; k < minorTickAngles[i].length; k++) {
|
|
284
|
+
lines.push(new graphic.Line({
|
|
285
|
+
shape: getAxisLineShape(polar, radiusExtent, minorTickAngles[i][k].coord)
|
|
286
|
+
}));
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
this.group.add(graphic.mergePath(lines, {
|
|
291
|
+
style: lineStyleModel.getLineStyle(),
|
|
292
|
+
silent: true,
|
|
293
|
+
z: angleAxisModel.get('z')
|
|
294
|
+
}));
|
|
295
|
+
},
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* @private
|
|
299
|
+
*/
|
|
300
|
+
_splitArea: function (angleAxisModel, polar, ticksAngles, minorTickAngles, radiusExtent) {
|
|
224
301
|
if (!ticksAngles.length) {
|
|
225
302
|
return;
|
|
226
303
|
}
|