echarts 4.5.0 → 4.9.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.
Files changed (329) hide show
  1. package/.DS_Store +0 -0
  2. package/.gitattributes +3 -0
  3. package/.github/pull_request_template.md +66 -0
  4. package/.github/workflows/nodejs.yml +15 -3
  5. package/.huskyrc +5 -0
  6. package/CONTRIBUTING.md +16 -160
  7. package/NOTICE +1 -1
  8. package/README.md +3 -3
  9. package/asset/.DS_Store +0 -0
  10. package/build/.DS_Store +0 -0
  11. package/dist/echarts-en.common.js +3072 -1261
  12. package/dist/echarts-en.common.min.js +1 -1
  13. package/dist/echarts-en.js +4339 -1685
  14. package/dist/echarts-en.js.map +1 -1
  15. package/dist/echarts-en.min.js +1 -1
  16. package/dist/echarts-en.simple.js +2496 -1011
  17. package/dist/echarts-en.simple.min.js +1 -1
  18. package/dist/echarts.common.js +3046 -1261
  19. package/dist/echarts.common.min.js +1 -1
  20. package/dist/echarts.js +4313 -1685
  21. package/dist/echarts.js.map +1 -1
  22. package/dist/echarts.min.js +1 -1
  23. package/dist/echarts.simple.js +2470 -1011
  24. package/dist/echarts.simple.min.js +1 -1
  25. package/dist/extension/bmap.js +33 -11
  26. package/dist/extension/bmap.js.map +1 -1
  27. package/dist/extension/bmap.min.js +1 -1
  28. package/dist/extension/dataTool.js.map +1 -1
  29. package/extension/.DS_Store +0 -0
  30. package/extension/bmap/BMapCoordSys.js +14 -4
  31. package/extension/bmap/BMapModel.js +4 -0
  32. package/extension/bmap/BMapView.js +18 -10
  33. package/extension-src/bmap/BMapCoordSys.js +14 -4
  34. package/extension-src/bmap/BMapModel.js +6 -1
  35. package/extension-src/bmap/BMapView.js +16 -9
  36. package/lib/chart/bar/BarSeries.js +14 -1
  37. package/lib/chart/bar/BarView.js +196 -18
  38. package/lib/chart/bar/BaseBarSeries.js +3 -1
  39. package/lib/chart/bar/PictorialBarSeries.js +1 -1
  40. package/lib/chart/candlestick/candlestickVisual.js +1 -1
  41. package/lib/chart/effectScatter/EffectScatterSeries.js +3 -1
  42. package/lib/chart/funnel/FunnelSeries.js +14 -5
  43. package/lib/chart/funnel/funnelLayout.js +162 -46
  44. package/lib/chart/gauge/GaugeSeries.js +0 -2
  45. package/lib/chart/graph/GraphSeries.js +23 -7
  46. package/lib/chart/graph/GraphView.js +30 -12
  47. package/lib/chart/graph/circularLayoutHelper.js +8 -2
  48. package/lib/chart/graph/forceLayout.js +6 -1
  49. package/lib/chart/graph/simpleLayout.js +1 -1
  50. package/lib/chart/graph/simpleLayoutHelper.js +10 -4
  51. package/lib/chart/heatmap/HeatmapView.js +4 -4
  52. package/lib/chart/helper/EffectLine.js +23 -1
  53. package/lib/chart/helper/EffectSymbol.js +2 -1
  54. package/lib/chart/helper/Line.js +129 -42
  55. package/lib/chart/helper/LineDraw.js +5 -1
  56. package/lib/chart/helper/Symbol.js +2 -3
  57. package/lib/chart/helper/createClipPathFromCoordSys.js +4 -1
  58. package/lib/chart/helper/createListFromArray.js +14 -8
  59. package/lib/chart/helper/createRenderPlanner.js +6 -3
  60. package/lib/chart/helper/multipleGraphEdgeHelper.js +258 -0
  61. package/lib/chart/helper/whiskerBoxCommon.js +22 -16
  62. package/lib/chart/line/LineSeries.js +3 -1
  63. package/lib/chart/line/LineView.js +41 -2
  64. package/lib/chart/lines/LinesSeries.js +0 -2
  65. package/lib/chart/map/MapSeries.js +14 -5
  66. package/lib/chart/pie/PieSeries.js +27 -6
  67. package/lib/chart/pie/PieView.js +22 -15
  68. package/lib/chart/pie/labelLayout.js +102 -19
  69. package/lib/chart/pie/pieLayout.js +19 -7
  70. package/lib/chart/radar/RadarSeries.js +27 -6
  71. package/lib/chart/radar/RadarView.js +3 -1
  72. package/lib/chart/sankey/SankeySeries.js +13 -1
  73. package/lib/chart/sankey/SankeyView.js +70 -32
  74. package/lib/chart/sankey/sankeyLayout.js +22 -3
  75. package/lib/chart/scatter/ScatterSeries.js +3 -1
  76. package/lib/chart/sunburst/SunburstPiece.js +5 -1
  77. package/lib/chart/sunburst/SunburstSeries.js +29 -12
  78. package/lib/chart/sunburst/SunburstView.js +5 -1
  79. package/lib/chart/themeRiver/ThemeRiverSeries.js +24 -33
  80. package/lib/chart/tree/TreeSeries.js +20 -3
  81. package/lib/chart/tree/TreeView.js +149 -23
  82. package/lib/chart/treemap/TreemapSeries.js +25 -4
  83. package/lib/chart/treemap/TreemapView.js +80 -38
  84. package/lib/chart/treemap/treemapLayout.js +1 -1
  85. package/lib/chart/treemap/treemapVisual.js +9 -15
  86. package/lib/component/axis/AngleAxisView.js +64 -7
  87. package/lib/component/axis/AxisBuilder.js +62 -24
  88. package/lib/component/axis/CartesianAxisView.js +52 -85
  89. package/lib/component/axis/RadiusAxisView.js +36 -4
  90. package/lib/component/axis/SingleAxisView.js +21 -6
  91. package/lib/component/axis/axisSplitHelper.js +132 -0
  92. package/lib/component/axisPointer/axisTrigger.js +1 -1
  93. package/lib/component/brush/BrushView.js +11 -1
  94. package/lib/component/brush/visualEncoding.js +13 -2
  95. package/lib/component/dataZoom/SliderZoomView.js +4 -10
  96. package/lib/component/helper/BrushController.js +33 -43
  97. package/lib/component/helper/MapDraw.js +30 -4
  98. package/lib/component/legend/LegendModel.js +3 -3
  99. package/lib/component/legend/LegendView.js +17 -13
  100. package/lib/component/legend/ScrollableLegendView.js +18 -18
  101. package/lib/component/marker/MarkAreaView.js +53 -15
  102. package/lib/component/marker/MarkLineModel.js +2 -1
  103. package/lib/component/marker/MarkLineView.js +3 -0
  104. package/lib/component/marker/MarkPointView.js +8 -1
  105. package/lib/component/marker/MarkerModel.js +3 -2
  106. package/lib/component/marker/markerHelper.js +7 -4
  107. package/lib/component/timeline/SliderTimelineView.js +7 -1
  108. package/lib/component/title.js +6 -2
  109. package/lib/component/toolbox/ToolboxView.js +5 -1
  110. package/lib/component/toolbox/feature/DataView.js +23 -8
  111. package/lib/component/toolbox/feature/DataZoom.js +6 -6
  112. package/lib/component/toolbox/feature/MagicType.js +20 -14
  113. package/lib/component/toolbox/feature/SaveAsImage.js +4 -2
  114. package/lib/component/tooltip/TooltipContent.js +101 -30
  115. package/lib/component/tooltip/TooltipRichContent.js +56 -8
  116. package/lib/component/tooltip/TooltipView.js +11 -12
  117. package/lib/component/visualMap/PiecewiseModel.js +3 -6
  118. package/lib/component/visualMap/VisualMapModel.js +1 -1
  119. package/lib/coord/Axis.js +30 -2
  120. package/lib/coord/View.js +9 -0
  121. package/lib/coord/axisDefault.js +22 -3
  122. package/lib/coord/axisHelper.js +24 -18
  123. package/lib/coord/calendar/Calendar.js +8 -4
  124. package/lib/coord/geo/GeoModel.js +2 -1
  125. package/lib/coord/geo/geoJSONLoader.js +3 -2
  126. package/lib/coord/geo/geoSourceManager.js +3 -2
  127. package/lib/coord/geo/parseGeoJson.js +3 -2
  128. package/lib/coord/radar/Radar.js +5 -5
  129. package/lib/data/DataDimensionInfo.js +157 -0
  130. package/lib/data/Graph.js +1 -6
  131. package/lib/data/List.js +26 -20
  132. package/lib/data/Tree.js +5 -42
  133. package/lib/data/helper/completeDimensions.js +43 -32
  134. package/lib/data/helper/createDimensions.js +2 -0
  135. package/lib/data/helper/sourceHelper.js +214 -114
  136. package/lib/echarts.js +57 -34
  137. package/lib/langEN.js +26 -0
  138. package/lib/layout/barGrid.js +19 -13
  139. package/lib/layout/barPolar.js +1 -6
  140. package/lib/loading/default.js +43 -27
  141. package/lib/model/Series.js +4 -4
  142. package/lib/model/referHelper.js +40 -12
  143. package/lib/processor/dataSample.js +1 -1
  144. package/lib/scale/Interval.js +87 -2
  145. package/lib/scale/Log.js +9 -2
  146. package/lib/scale/helper.js +1 -43
  147. package/lib/stream/Scheduler.js +10 -2
  148. package/lib/theme/dark.js +3 -0
  149. package/lib/util/format.js +19 -2
  150. package/lib/util/graphic.js +14 -12
  151. package/lib/visual/LegendVisualProvider.js +75 -0
  152. package/lib/visual/VisualMapping.js +1 -1
  153. package/lib/visual/dataColor.js +2 -12
  154. package/lib/visual/seriesColor.js +15 -7
  155. package/lib/visual/symbol.js +12 -2
  156. package/map/.DS_Store +0 -0
  157. package/map/js/.DS_Store +0 -0
  158. package/map/js/china.js +1 -1
  159. package/map/js/province/.DS_Store +0 -0
  160. package/map/js/province/chongqing.js +1 -1
  161. package/map/js/province/gansu.js +2 -2
  162. package/map/js/province/tianjin.js +1 -28
  163. package/map/json/.DS_Store +0 -0
  164. package/map/json/china.json +1 -1
  165. package/map/json/province/chongqing.json +1 -1
  166. package/map/json/province/tianjin.json +1 -1
  167. package/package.json +12 -6
  168. package/src/.DS_Store +0 -0
  169. package/src/chart/.DS_Store +0 -0
  170. package/src/chart/bar/BarSeries.js +15 -1
  171. package/src/chart/bar/BarView.js +198 -17
  172. package/src/chart/bar/BaseBarSeries.js +1 -1
  173. package/src/chart/bar/PictorialBarSeries.js +2 -2
  174. package/src/chart/candlestick/candlestickVisual.js +1 -1
  175. package/src/chart/effectScatter/EffectScatterSeries.js +1 -1
  176. package/src/chart/funnel/FunnelSeries.js +11 -4
  177. package/src/chart/funnel/funnelLayout.js +179 -53
  178. package/src/chart/gauge/GaugeSeries.js +0 -1
  179. package/src/chart/graph/GraphSeries.js +19 -7
  180. package/src/chart/graph/GraphView.js +28 -10
  181. package/src/chart/graph/circularLayoutHelper.js +8 -2
  182. package/src/chart/graph/forceLayout.js +7 -1
  183. package/src/chart/graph/simpleLayout.js +1 -1
  184. package/src/chart/graph/simpleLayoutHelper.js +12 -5
  185. package/src/chart/heatmap/HeatmapView.js +4 -4
  186. package/src/chart/helper/EffectLine.js +23 -1
  187. package/src/chart/helper/EffectSymbol.js +2 -1
  188. package/src/chart/helper/Line.js +122 -37
  189. package/src/chart/helper/LineDraw.js +5 -1
  190. package/src/chart/helper/Symbol.js +4 -4
  191. package/src/chart/helper/createClipPathFromCoordSys.js +4 -0
  192. package/src/chart/helper/createGraphFromNodeEdge.js +2 -1
  193. package/src/chart/helper/createListFromArray.js +13 -8
  194. package/src/chart/helper/createRenderPlanner.js +5 -2
  195. package/src/chart/helper/multipleGraphEdgeHelper.js +229 -0
  196. package/src/chart/helper/whiskerBoxCommon.js +21 -16
  197. package/src/chart/line/LineSeries.js +1 -1
  198. package/src/chart/line/LineView.js +45 -1
  199. package/src/chart/lines/LinesSeries.js +1 -3
  200. package/src/chart/map/MapSeries.js +11 -5
  201. package/src/chart/pie/PieSeries.js +26 -5
  202. package/src/chart/pie/PieView.js +20 -15
  203. package/src/chart/pie/labelLayout.js +114 -22
  204. package/src/chart/pie/pieLayout.js +20 -7
  205. package/src/chart/radar/RadarSeries.js +31 -6
  206. package/src/chart/radar/RadarView.js +4 -2
  207. package/src/chart/sankey/SankeySeries.js +12 -1
  208. package/src/chart/sankey/SankeyView.js +75 -30
  209. package/src/chart/sankey/sankeyLayout.js +25 -5
  210. package/src/chart/scatter/ScatterSeries.js +1 -1
  211. package/src/chart/sunburst/SunburstPiece.js +7 -1
  212. package/src/chart/sunburst/SunburstSeries.js +28 -15
  213. package/src/chart/sunburst/SunburstView.js +2 -1
  214. package/src/chart/themeRiver/ThemeRiverSeries.js +25 -30
  215. package/src/chart/tree/TreeSeries.js +19 -6
  216. package/src/chart/tree/TreeView.js +156 -23
  217. package/src/chart/treemap/TreemapSeries.js +23 -5
  218. package/src/chart/treemap/TreemapView.js +77 -41
  219. package/src/chart/treemap/treemapLayout.js +2 -2
  220. package/src/chart/treemap/treemapVisual.js +8 -25
  221. package/src/component/axis/AngleAxisView.js +75 -7
  222. package/src/component/axis/AxisBuilder.js +77 -32
  223. package/src/component/axis/CartesianAxisView.js +47 -83
  224. package/src/component/axis/RadiusAxisView.js +37 -4
  225. package/src/component/axis/SingleAxisView.js +21 -4
  226. package/src/component/axis/axisSplitHelper.js +114 -0
  227. package/src/component/axisPointer/axisTrigger.js +1 -1
  228. package/src/component/brush/BrushView.js +8 -1
  229. package/src/component/brush/visualEncoding.js +6 -3
  230. package/src/component/dataZoom/SliderZoomView.js +4 -9
  231. package/src/component/helper/BrushController.js +40 -47
  232. package/src/component/helper/MapDraw.js +27 -4
  233. package/src/component/legend/LegendModel.js +3 -3
  234. package/src/component/legend/LegendView.js +18 -12
  235. package/src/component/legend/ScrollableLegendView.js +18 -16
  236. package/src/component/marker/MarkAreaView.js +53 -15
  237. package/src/component/marker/MarkLineModel.js +2 -1
  238. package/src/component/marker/MarkLineView.js +3 -1
  239. package/src/component/marker/MarkPointView.js +7 -1
  240. package/src/component/marker/MarkerModel.js +3 -2
  241. package/src/component/marker/markerHelper.js +8 -5
  242. package/src/component/timeline/SliderTimelineView.js +9 -6
  243. package/src/component/title.js +4 -3
  244. package/src/component/toolbox/.DS_Store +0 -0
  245. package/src/component/toolbox/ToolboxView.js +5 -0
  246. package/src/component/toolbox/feature/DataView.js +20 -8
  247. package/src/component/toolbox/feature/DataZoom.js +6 -6
  248. package/src/component/toolbox/feature/MagicType.js +19 -13
  249. package/src/component/toolbox/feature/SaveAsImage.js +4 -2
  250. package/src/component/tooltip/TooltipContent.js +94 -28
  251. package/src/component/tooltip/TooltipRichContent.js +52 -9
  252. package/src/component/tooltip/TooltipView.js +14 -12
  253. package/src/component/visualMap/PiecewiseModel.js +5 -9
  254. package/src/component/visualMap/VisualMapModel.js +1 -1
  255. package/src/coord/Axis.js +29 -2
  256. package/src/coord/View.js +10 -1
  257. package/src/coord/axisDefault.js +26 -2
  258. package/src/coord/axisHelper.js +30 -21
  259. package/src/coord/calendar/Calendar.js +12 -5
  260. package/src/coord/geo/GeoModel.js +3 -6
  261. package/src/coord/geo/geoJSONLoader.js +3 -2
  262. package/src/coord/geo/geoSourceManager.js +3 -2
  263. package/src/coord/geo/parseGeoJson.js +3 -2
  264. package/src/coord/radar/Radar.js +6 -8
  265. package/src/data/DataDimensionInfo.js +135 -0
  266. package/src/data/Graph.js +0 -5
  267. package/src/data/List.js +30 -17
  268. package/src/data/Tree.js +6 -39
  269. package/src/data/helper/completeDimensions.js +49 -30
  270. package/src/data/helper/createDimensions.js +2 -0
  271. package/src/data/helper/sourceHelper.js +216 -124
  272. package/src/echarts.js +60 -36
  273. package/src/langEN.js +26 -0
  274. package/src/layout/barGrid.js +22 -10
  275. package/src/layout/barPolar.js +4 -6
  276. package/src/loading/default.js +46 -34
  277. package/src/model/.DS_Store +0 -0
  278. package/src/model/Series.js +4 -4
  279. package/src/model/referHelper.js +34 -11
  280. package/src/preprocessor/.DS_Store +0 -0
  281. package/src/processor/dataSample.js +1 -1
  282. package/src/scale/Interval.js +84 -4
  283. package/src/scale/Log.js +9 -2
  284. package/src/scale/helper.js +1 -39
  285. package/src/stream/Scheduler.js +9 -1
  286. package/src/theme/dark.js +3 -0
  287. package/src/util/.DS_Store +0 -0
  288. package/src/util/format.js +17 -1
  289. package/src/util/graphic.js +13 -11
  290. package/src/visual/LegendVisualProvider.js +55 -0
  291. package/src/visual/VisualMapping.js +1 -1
  292. package/src/visual/dataColor.js +0 -13
  293. package/src/visual/seriesColor.js +13 -7
  294. package/src/visual/symbol.js +11 -2
  295. package/theme/.DS_Store +0 -0
  296. package/theme/azul.js +163 -0
  297. package/theme/bee-inspired.js +178 -0
  298. package/theme/blue.js +178 -0
  299. package/theme/caravan.js +178 -0
  300. package/theme/carp.js +163 -0
  301. package/theme/cool.js +180 -0
  302. package/theme/dark-blue.js +168 -0
  303. package/theme/dark-bold.js +168 -0
  304. package/theme/dark-digerati.js +168 -0
  305. package/theme/dark-fresh-cut.js +168 -0
  306. package/theme/dark-mushroom.js +168 -0
  307. package/theme/dark.js +69 -62
  308. package/theme/eduardo.js +178 -0
  309. package/theme/forest.js +163 -0
  310. package/theme/fresh-cut.js +163 -0
  311. package/theme/fruit.js +178 -0
  312. package/theme/gray.js +220 -0
  313. package/theme/green.js +222 -0
  314. package/theme/helianthus.js +263 -0
  315. package/theme/infographic.js +72 -57
  316. package/theme/inspired.js +163 -0
  317. package/theme/jazz.js +163 -0
  318. package/theme/london.js +163 -0
  319. package/theme/macarons.js +80 -57
  320. package/theme/macarons2.js +251 -0
  321. package/theme/mint.js +155 -0
  322. package/theme/red-velvet.js +163 -0
  323. package/theme/red.js +225 -0
  324. package/theme/roma.js +55 -22
  325. package/theme/royal.js +163 -0
  326. package/theme/sakura.js +140 -0
  327. package/theme/shine.js +52 -45
  328. package/theme/tech-blue.js +180 -0
  329. package/theme/vintage.js +37 -23
@@ -37,22 +37,29 @@ function makeSymbolTypeKey(symbolCategory) {
37
37
  * @inner
38
38
  */
39
39
  function createSymbol(name, lineData, idx) {
40
- var color = lineData.getItemVisual(idx, 'color');
41
40
  var symbolType = lineData.getItemVisual(idx, name);
42
- var symbolSize = lineData.getItemVisual(idx, name + 'Size');
43
41
 
44
42
  if (!symbolType || symbolType === 'none') {
45
43
  return;
46
44
  }
47
45
 
46
+ var color = lineData.getItemVisual(idx, 'color');
47
+ var symbolSize = lineData.getItemVisual(idx, name + 'Size');
48
+ var symbolRotate = lineData.getItemVisual(idx, name + 'Rotate');
49
+
48
50
  if (!zrUtil.isArray(symbolSize)) {
49
51
  symbolSize = [symbolSize, symbolSize];
50
52
  }
53
+
51
54
  var symbolPath = symbolUtil.createSymbol(
52
55
  symbolType, -symbolSize[0] / 2, -symbolSize[1] / 2,
53
56
  symbolSize[0], symbolSize[1], color
54
57
  );
55
58
 
59
+ // rotate by default if symbolRotate is not specified or NaN
60
+ symbolPath.__specifiedRotation = symbolRotate == null || isNaN(symbolRotate)
61
+ ? void 0
62
+ : +symbolRotate * Math.PI / 180 || 0;
56
63
  symbolPath.name = name;
57
64
 
58
65
  return symbolPath;
@@ -120,18 +127,38 @@ function updateSymbolAndLabelBeforeLineUpdate() {
120
127
 
121
128
  if (symbolFrom) {
122
129
  symbolFrom.attr('position', fromPos);
123
- var tangent = line.tangentAt(0);
124
- symbolFrom.attr('rotation', Math.PI / 2 - Math.atan2(
125
- tangent[1], tangent[0]
126
- ));
130
+ // Fix #12388
131
+ // when symbol is set to be 'arrow' in markLine,
132
+ // symbolRotate value will be ignored, and compulsively use tangent angle.
133
+ // rotate by default if symbol rotation is not specified
134
+ var specifiedRotation = symbolFrom.__specifiedRotation;
135
+ if (specifiedRotation == null) {
136
+ var tangent = line.tangentAt(0);
137
+ symbolFrom.attr('rotation', Math.PI / 2 - Math.atan2(
138
+ tangent[1], tangent[0]
139
+ ));
140
+ }
141
+ else {
142
+ symbolFrom.attr('rotation', specifiedRotation);
143
+ }
127
144
  symbolFrom.attr('scale', [invScale * percent, invScale * percent]);
128
145
  }
129
146
  if (symbolTo) {
130
147
  symbolTo.attr('position', toPos);
131
- var tangent = line.tangentAt(1);
132
- symbolTo.attr('rotation', -Math.PI / 2 - Math.atan2(
133
- tangent[1], tangent[0]
134
- ));
148
+ // Fix #12388
149
+ // when symbol is set to be 'arrow' in markLine,
150
+ // symbolRotate value will be ignored, and compulsively use tangent angle.
151
+ // rotate by default if symbol rotation is not specified
152
+ var specifiedRotation = symbolTo.__specifiedRotation;
153
+ if (specifiedRotation == null) {
154
+ var tangent = line.tangentAt(1);
155
+ symbolTo.attr('rotation', -Math.PI / 2 - Math.atan2(
156
+ tangent[1], tangent[0]
157
+ ));
158
+ }
159
+ else {
160
+ symbolTo.attr('rotation', specifiedRotation);
161
+ }
135
162
  symbolTo.attr('scale', [invScale * percent, invScale * percent]);
136
163
  }
137
164
 
@@ -141,39 +168,90 @@ function updateSymbolAndLabelBeforeLineUpdate() {
141
168
  var textPosition;
142
169
  var textAlign;
143
170
  var textVerticalAlign;
144
-
145
- var distance = 5 * invScale;
146
- // End
147
- if (label.__position === 'end') {
148
- textPosition = [d[0] * distance + toPos[0], d[1] * distance + toPos[1]];
149
- textAlign = d[0] > 0.8 ? 'left' : (d[0] < -0.8 ? 'right' : 'center');
150
- textVerticalAlign = d[1] > 0.8 ? 'top' : (d[1] < -0.8 ? 'bottom' : 'middle');
171
+ var textOrigin;
172
+
173
+ var distance = label.__labelDistance;
174
+ var distanceX = distance[0] * invScale;
175
+ var distanceY = distance[1] * invScale;
176
+ var halfPercent = percent / 2;
177
+ var tangent = line.tangentAt(halfPercent);
178
+ var n = [tangent[1], -tangent[0]];
179
+ var cp = line.pointAt(halfPercent);
180
+ if (n[1] > 0) {
181
+ n[0] = -n[0];
182
+ n[1] = -n[1];
151
183
  }
152
- // Middle
153
- else if (label.__position === 'middle') {
154
- var halfPercent = percent / 2;
155
- var tangent = line.tangentAt(halfPercent);
156
- var n = [tangent[1], -tangent[0]];
157
- var cp = line.pointAt(halfPercent);
158
- if (n[1] > 0) {
159
- n[0] = -n[0];
160
- n[1] = -n[1];
161
- }
162
- textPosition = [cp[0] + n[0] * distance, cp[1] + n[1] * distance];
163
- textAlign = 'center';
164
- textVerticalAlign = 'bottom';
184
+ var dir = tangent[0] < 0 ? -1 : 1;
185
+
186
+ if (label.__position !== 'start' && label.__position !== 'end') {
165
187
  var rotation = -Math.atan2(tangent[1], tangent[0]);
166
188
  if (toPos[0] < fromPos[0]) {
167
189
  rotation = Math.PI + rotation;
168
190
  }
169
191
  label.attr('rotation', rotation);
170
192
  }
171
- // Start
172
- else {
173
- textPosition = [-d[0] * distance + fromPos[0], -d[1] * distance + fromPos[1]];
174
- textAlign = d[0] > 0.8 ? 'right' : (d[0] < -0.8 ? 'left' : 'center');
175
- textVerticalAlign = d[1] > 0.8 ? 'bottom' : (d[1] < -0.8 ? 'top' : 'middle');
193
+
194
+ var dy;
195
+ switch (label.__position) {
196
+ case 'insideStartTop':
197
+ case 'insideMiddleTop':
198
+ case 'insideEndTop':
199
+ case 'middle':
200
+ dy = -distanceY;
201
+ textVerticalAlign = 'bottom';
202
+ break;
203
+
204
+ case 'insideStartBottom':
205
+ case 'insideMiddleBottom':
206
+ case 'insideEndBottom':
207
+ dy = distanceY;
208
+ textVerticalAlign = 'top';
209
+ break;
210
+
211
+ default:
212
+ dy = 0;
213
+ textVerticalAlign = 'middle';
176
214
  }
215
+
216
+ switch (label.__position) {
217
+ case 'end':
218
+ textPosition = [d[0] * distanceX + toPos[0], d[1] * distanceY + toPos[1]];
219
+ textAlign = d[0] > 0.8 ? 'left' : (d[0] < -0.8 ? 'right' : 'center');
220
+ textVerticalAlign = d[1] > 0.8 ? 'top' : (d[1] < -0.8 ? 'bottom' : 'middle');
221
+ break;
222
+
223
+ case 'start':
224
+ textPosition = [-d[0] * distanceX + fromPos[0], -d[1] * distanceY + fromPos[1]];
225
+ textAlign = d[0] > 0.8 ? 'right' : (d[0] < -0.8 ? 'left' : 'center');
226
+ textVerticalAlign = d[1] > 0.8 ? 'bottom' : (d[1] < -0.8 ? 'top' : 'middle');
227
+ break;
228
+
229
+ case 'insideStartTop':
230
+ case 'insideStart':
231
+ case 'insideStartBottom':
232
+ textPosition = [distanceX * dir + fromPos[0], fromPos[1] + dy];
233
+ textAlign = tangent[0] < 0 ? 'right' : 'left';
234
+ textOrigin = [-distanceX * dir, -dy];
235
+ break;
236
+
237
+ case 'insideMiddleTop':
238
+ case 'insideMiddle':
239
+ case 'insideMiddleBottom':
240
+ case 'middle':
241
+ textPosition = [cp[0], cp[1] + dy];
242
+ textAlign = 'center';
243
+ textOrigin = [0, -dy];
244
+ break;
245
+
246
+ case 'insideEndTop':
247
+ case 'insideEnd':
248
+ case 'insideEndBottom':
249
+ textPosition = [-distanceX * dir + toPos[0], toPos[1] + dy];
250
+ textAlign = tangent[0] >= 0 ? 'right' : 'left';
251
+ textOrigin = [distanceX * dir, -dy];
252
+ break;
253
+ }
254
+
177
255
  label.attr({
178
256
  style: {
179
257
  // Use the user specified text align and baseline first
@@ -181,7 +259,8 @@ function updateSymbolAndLabelBeforeLineUpdate() {
181
259
  textAlign: label.__textAlign || textAlign
182
260
  },
183
261
  position: textPosition,
184
- scale: [invScale, invScale]
262
+ scale: [invScale, invScale],
263
+ origin: textOrigin
185
264
  });
186
265
  }
187
266
  }
@@ -357,6 +436,12 @@ lineProto._updateCommonStl = function (lineData, idx, seriesScope) {
357
436
  label.__verticalAlign = labelStyle.textVerticalAlign;
358
437
  // 'start', 'middle', 'end'
359
438
  label.__position = labelModel.get('position') || 'middle';
439
+
440
+ var distance = labelModel.get('distance');
441
+ if (!zrUtil.isArray(distance)) {
442
+ distance = [distance, distance];
443
+ }
444
+ label.__labelDistance = distance;
360
445
  }
361
446
 
362
447
  if (emphasisText != null) {
@@ -403,4 +488,4 @@ lineProto.setLinePoints = function (points) {
403
488
 
404
489
  zrUtil.inherits(Line, graphic.Group);
405
490
 
406
- export default Line;
491
+ export default Line;
@@ -123,9 +123,13 @@ lineDrawProto.incrementalPrepareUpdate = function (lineData) {
123
123
  this.group.removeAll();
124
124
  };
125
125
 
126
+ function isEffectObject(el) {
127
+ return el.animators && el.animators.length > 0;
128
+ }
129
+
126
130
  lineDrawProto.incrementalUpdate = function (taskParams, lineData) {
127
131
  function updateIncrementalAndHover(el) {
128
- if (!el.isGroup) {
132
+ if (!el.isGroup && !isEffectObject(el)) {
129
133
  el.incremental = el.useHoverLayer = true;
130
134
  }
131
135
  }
@@ -238,7 +238,7 @@ symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {
238
238
  }
239
239
  else {
240
240
  symbolPath.setStyle({
241
- opacity: null,
241
+ opacity: 1,
242
242
  shadowBlur: null,
243
243
  shadowOffsetX: null,
244
244
  shadowOffsetY: null,
@@ -248,7 +248,6 @@ symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {
248
248
 
249
249
  var itemStyle = seriesScope && seriesScope.itemStyle;
250
250
  var hoverItemStyle = seriesScope && seriesScope.hoverItemStyle;
251
- var symbolRotate = seriesScope && seriesScope.symbolRotate;
252
251
  var symbolOffset = seriesScope && seriesScope.symbolOffset;
253
252
  var labelModel = seriesScope && seriesScope.labelModel;
254
253
  var hoverLabelModel = seriesScope && seriesScope.hoverLabelModel;
@@ -264,7 +263,6 @@ symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {
264
263
  itemStyle = itemModel.getModel(normalStyleAccessPath).getItemStyle(['color']);
265
264
  hoverItemStyle = itemModel.getModel(emphasisStyleAccessPath).getItemStyle();
266
265
 
267
- symbolRotate = itemModel.getShallow('symbolRotate');
268
266
  symbolOffset = itemModel.getShallow('symbolOffset');
269
267
 
270
268
  labelModel = itemModel.getModel(normalLabelAccessPath);
@@ -278,6 +276,8 @@ symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {
278
276
 
279
277
  var elStyle = symbolPath.style;
280
278
 
279
+ var symbolRotate = data.getItemVisual(idx, 'symbolRotate');
280
+
281
281
  symbolPath.attr('rotation', (symbolRotate || 0) * Math.PI / 180 || 0);
282
282
 
283
283
  if (symbolOffset) {
@@ -394,4 +394,4 @@ symbolProto.fadeOut = function (cb, opt) {
394
394
 
395
395
  zrUtil.inherits(SymbolClz, graphic.Group);
396
396
 
397
- export default SymbolClz;
397
+ export default SymbolClz;
@@ -35,6 +35,10 @@ function createGridClipPath(cartesian, hasAnimation, seriesModel) {
35
35
  width += lineWidth;
36
36
  height += lineWidth;
37
37
 
38
+ // fix: https://github.com/apache/incubator-echarts/issues/11369
39
+ x = Math.floor(x);
40
+ width = Math.round(width);
41
+
38
42
  var clipPath = new graphic.Rect({
39
43
  shape: {
40
44
  x: x,
@@ -39,10 +39,12 @@ export default function (nodes, edges, seriesModel, directed, beforeLink) {
39
39
  var linkNameList = [];
40
40
  var validEdges = [];
41
41
  var linkCount = 0;
42
+
42
43
  for (var i = 0; i < edges.length; i++) {
43
44
  var link = edges[i];
44
45
  var source = link.source;
45
46
  var target = link.target;
47
+
46
48
  // addEdge may fail when source or target not exists
47
49
  if (graph.addEdge(source, target, linkCount)) {
48
50
  validEdges.push(link);
@@ -89,6 +91,5 @@ export default function (nodes, edges, seriesModel, directed, beforeLink) {
89
91
 
90
92
  // Update dataIndex of nodes and edges because invalid edge may be removed
91
93
  graph.update();
92
-
93
94
  return graph;
94
95
  }
@@ -24,15 +24,17 @@ import {SOURCE_FORMAT_ORIGINAL} from '../../data/helper/sourceType';
24
24
  import {getDimensionTypeByAxis} from '../../data/helper/dimensionHelper';
25
25
  import {getDataItemValue} from '../../util/model';
26
26
  import CoordinateSystem from '../../CoordinateSystem';
27
- import {getCoordSysDefineBySeries} from '../../model/referHelper';
27
+ import {getCoordSysInfoBySeries} from '../../model/referHelper';
28
28
  import Source from '../../data/Source';
29
29
  import {enableDataStack} from '../../data/helper/dataStackHelper';
30
+ import {makeSeriesEncodeForAxisCoordSys} from '../../data/helper/sourceHelper';
30
31
 
31
32
  /**
32
33
  * @param {module:echarts/data/Source|Array} source Or raw data.
33
34
  * @param {module:echarts/model/Series} seriesModel
34
35
  * @param {Object} [opt]
35
36
  * @param {string} [opt.generateCoord]
37
+ * @param {boolean} [opt.useEncodeDefaulter]
36
38
  */
37
39
  function createListFromArray(source, seriesModel, opt) {
38
40
  opt = opt || {};
@@ -44,14 +46,14 @@ function createListFromArray(source, seriesModel, opt) {
44
46
  var coordSysName = seriesModel.get('coordinateSystem');
45
47
  var registeredCoordSys = CoordinateSystem.get(coordSysName);
46
48
 
47
- var coordSysDefine = getCoordSysDefineBySeries(seriesModel);
49
+ var coordSysInfo = getCoordSysInfoBySeries(seriesModel);
48
50
 
49
51
  var coordSysDimDefs;
50
52
 
51
- if (coordSysDefine) {
52
- coordSysDimDefs = zrUtil.map(coordSysDefine.coordSysDims, function (dim) {
53
+ if (coordSysInfo) {
54
+ coordSysDimDefs = zrUtil.map(coordSysInfo.coordSysDims, function (dim) {
53
55
  var dimInfo = {name: dim};
54
- var axisModel = coordSysDefine.axisMap.get(dim);
56
+ var axisModel = coordSysInfo.axisMap.get(dim);
55
57
  if (axisModel) {
56
58
  var axisType = axisModel.get('type');
57
59
  dimInfo.type = getDimensionTypeByAxis(axisType);
@@ -72,14 +74,17 @@ function createListFromArray(source, seriesModel, opt) {
72
74
 
73
75
  var dimInfoList = createDimensions(source, {
74
76
  coordDimensions: coordSysDimDefs,
75
- generateCoord: opt.generateCoord
77
+ generateCoord: opt.generateCoord,
78
+ encodeDefaulter: opt.useEncodeDefaulter
79
+ ? zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordSysDimDefs, seriesModel)
80
+ : null
76
81
  });
77
82
 
78
83
  var firstCategoryDimIndex;
79
84
  var hasNameEncode;
80
- coordSysDefine && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {
85
+ coordSysInfo && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {
81
86
  var coordDim = dimInfo.coordDim;
82
- var categoryAxisModel = coordSysDefine.categoryAxisMap.get(coordDim);
87
+ var categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);
83
88
  if (categoryAxisModel) {
84
89
  if (firstCategoryDimIndex == null) {
85
90
  firstCategoryDimIndex = dimIndex;
@@ -32,8 +32,11 @@ export default function () {
32
32
  var originalLarge = fields.large;
33
33
  var originalProgressive = fields.progressiveRender;
34
34
 
35
- var large = fields.large = pipelineContext.large;
36
- var progressive = fields.progressiveRender = pipelineContext.progressiveRender;
35
+ // FIXME: if the planner works on a filtered series, `pipelineContext` does not
36
+ // exists. See #11611 . Probably we need to modify this structure, see the comment
37
+ // on `performRawSeries` in `Schedular.js`.
38
+ var large = fields.large = pipelineContext && pipelineContext.large;
39
+ var progressive = fields.progressiveRender = pipelineContext && pipelineContext.progressiveRender;
37
40
 
38
41
  return !!((originalLarge ^ large) || (originalProgressive ^ progressive)) && 'reset';
39
42
  };
@@ -0,0 +1,229 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
20
+ import * as zrUtil from 'zrender/src/core/util';
21
+
22
+ var KEY_DELIMITER = '-->';
23
+ /**
24
+ * params handler
25
+ * @param {module:echarts/model/SeriesModel} seriesModel
26
+ * @returns {*}
27
+ */
28
+ var getAutoCurvenessParams = function (seriesModel) {
29
+ return seriesModel.get('autoCurveness') || null;
30
+ };
31
+
32
+ /**
33
+ * Generate a list of edge curvatures, 20 is the default
34
+ * @param {module:echarts/model/SeriesModel} seriesModel
35
+ * @param {number} appendLength
36
+ * @return 20 => [0, -0.2, 0.2, -0.4, 0.4, -0.6, 0.6, -0.8, 0.8, -1, 1, -1.2, 1.2, -1.4, 1.4, -1.6, 1.6, -1.8, 1.8, -2]
37
+ */
38
+ var createCurveness = function (seriesModel, appendLength) {
39
+ var autoCurvenessParmas = getAutoCurvenessParams(seriesModel);
40
+ var length = 20;
41
+ var curvenessList = [];
42
+
43
+ // handler the function set
44
+ if (typeof autoCurvenessParmas === 'number') {
45
+ length = autoCurvenessParmas;
46
+ }
47
+ else if (zrUtil.isArray(autoCurvenessParmas)) {
48
+ seriesModel.__curvenessList = autoCurvenessParmas;
49
+ return;
50
+ }
51
+
52
+ // append length
53
+ if (appendLength > length) {
54
+ length = appendLength;
55
+ }
56
+
57
+ // make sure the length is even
58
+ var len = length % 2 ? length + 2 : length + 3;
59
+ curvenessList = [];
60
+
61
+ for (var i = 0; i < len; i++) {
62
+ curvenessList.push((i % 2 ? i + 1 : i) / 10 * (i % 2 ? -1 : 1));
63
+ }
64
+ seriesModel.__curvenessList = curvenessList;
65
+ };
66
+
67
+ /**
68
+ * Create different cache key data in the positive and negative directions, in order to set the curvature later
69
+ * @param {number|string|module:echarts/data/Graph.Node} n1
70
+ * @param {number|string|module:echarts/data/Graph.Node} n2
71
+ * @param {module:echarts/model/SeriesModel} seriesModel
72
+ * @returns {string} key
73
+ */
74
+ var getKeyOfEdges = function (n1, n2, seriesModel) {
75
+ var source = [n1.id, n1.dataIndex].join('.');
76
+ var target = [n2.id, n2.dataIndex].join('.');
77
+ return [seriesModel.uid, source, target].join(KEY_DELIMITER);
78
+ };
79
+
80
+ /**
81
+ * get opposite key
82
+ * @param {string} key
83
+ * @returns {string}
84
+ */
85
+ var getOppositeKey = function (key) {
86
+ var keys = key.split(KEY_DELIMITER);
87
+ return [keys[0], keys[2], keys[1]].join(KEY_DELIMITER);
88
+ };
89
+
90
+ /**
91
+ * get edgeMap with key
92
+ * @param edge
93
+ * @param {module:echarts/model/SeriesModel} seriesModel
94
+ */
95
+ var getEdgeFromMap = function (edge, seriesModel) {
96
+ var key = getKeyOfEdges(edge.node1, edge.node2, seriesModel);
97
+ return seriesModel.__edgeMap[key];
98
+ };
99
+
100
+ /**
101
+ * calculate all cases total length
102
+ * @param edge
103
+ * @param seriesModel
104
+ * @returns {number}
105
+ */
106
+ var getTotalLengthBetweenNodes = function (edge, seriesModel) {
107
+ var len = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node1, edge.node2, seriesModel), seriesModel);
108
+ var lenV = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node2, edge.node1, seriesModel), seriesModel);
109
+
110
+ return len + lenV;
111
+ };
112
+
113
+ /**
114
+ *
115
+ * @param key
116
+ */
117
+ var getEdgeMapLengthWithKey = function (key, seriesModel) {
118
+ var edgeMap = seriesModel.__edgeMap;
119
+ return edgeMap[key] ? edgeMap[key].length : 0;
120
+ };
121
+
122
+ /**
123
+ * Count the number of edges between the same two points, used to obtain the curvature table and the parity of the edge
124
+ * @see /graph/GraphSeries.js@getInitialData
125
+ * @param {module:echarts/model/SeriesModel} seriesModel
126
+ */
127
+ export function initCurvenessList(seriesModel) {
128
+ if (!getAutoCurvenessParams(seriesModel)) {
129
+ return;
130
+ }
131
+
132
+ seriesModel.__curvenessList = [];
133
+ seriesModel.__edgeMap = {};
134
+ // calc the array of curveness List
135
+ createCurveness(seriesModel);
136
+ }
137
+
138
+ /**
139
+ * set edgeMap with key
140
+ * @param {number|string|module:echarts/data/Graph.Node} n1
141
+ * @param {number|string|module:echarts/data/Graph.Node} n2
142
+ * @param {module:echarts/model/SeriesModel} seriesModel
143
+ * @param {number} index
144
+ */
145
+ export function createEdgeMapForCurveness(n1, n2, seriesModel, index) {
146
+ if (!getAutoCurvenessParams(seriesModel)) {
147
+ return;
148
+ }
149
+
150
+ var key = getKeyOfEdges(n1, n2, seriesModel);
151
+ var edgeMap = seriesModel.__edgeMap;
152
+ var oppositeEdges = edgeMap[getOppositeKey(key)];
153
+ // set direction
154
+ if (edgeMap[key] && !oppositeEdges) {
155
+ edgeMap[key].isForward = true;
156
+ }
157
+ else if (oppositeEdges && edgeMap[key]) {
158
+ oppositeEdges.isForward = true;
159
+ edgeMap[key].isForward = false;
160
+ }
161
+
162
+ edgeMap[key] = edgeMap[key] || [];
163
+ edgeMap[key].push(index);
164
+ }
165
+
166
+ /**
167
+ * get curvature for edge
168
+ * @param edge
169
+ * @param {module:echarts/model/SeriesModel} seriesModel
170
+ * @param index
171
+ */
172
+ export function getCurvenessForEdge(edge, seriesModel, index, needReverse) {
173
+ var autoCurvenessParams = getAutoCurvenessParams(seriesModel);
174
+ var isArrayParam = zrUtil.isArray(autoCurvenessParams);
175
+ if (!autoCurvenessParams) {
176
+ return null;
177
+ }
178
+
179
+ var edgeArray = getEdgeFromMap(edge, seriesModel);
180
+ if (!edgeArray) {
181
+ return null;
182
+ }
183
+
184
+ var edgeIndex = -1;
185
+ for (var i = 0; i < edgeArray.length; i++) {
186
+ if (edgeArray[i] === index) {
187
+ edgeIndex = i;
188
+ break;
189
+ }
190
+ }
191
+ // if totalLen is Longer createCurveness
192
+ var totalLen = getTotalLengthBetweenNodes(edge, seriesModel);
193
+ createCurveness(seriesModel, totalLen);
194
+
195
+ edge.lineStyle = edge.lineStyle || {};
196
+ // if is opposite edge, must set curvenss to opposite number
197
+ var curKey = getKeyOfEdges(edge.node1, edge.node2, seriesModel);
198
+ var curvenessList = seriesModel.__curvenessList;
199
+ // if pass array no need parity
200
+ var parityCorrection = isArrayParam ? 0 : totalLen % 2 ? 0 : 1;
201
+
202
+ if (!edgeArray.isForward) {
203
+ // the opposite edge show outside
204
+ var oppositeKey = getOppositeKey(curKey);
205
+ var len = getEdgeMapLengthWithKey(oppositeKey, seriesModel);
206
+ var resValue = curvenessList[edgeIndex + len + parityCorrection];
207
+ // isNeedReverse, simple, force type need reverse the curveness in the junction of the forword and the opposite
208
+ if (needReverse) {
209
+ // set as array may make the parity handle with the len of opposite
210
+ if (isArrayParam) {
211
+ if (autoCurvenessParams && autoCurvenessParams[0] === 0) {
212
+ return (len + parityCorrection) % 2 ? resValue : -resValue;
213
+ }
214
+ else {
215
+ return ((len % 2 ? 0 : 1) + parityCorrection) % 2 ? resValue : -resValue;
216
+ }
217
+ }
218
+ else {
219
+ return (len + parityCorrection) % 2 ? resValue : -resValue;
220
+ }
221
+ }
222
+ else {
223
+ return curvenessList[edgeIndex + len + parityCorrection];
224
+ }
225
+ }
226
+ else {
227
+ return curvenessList[parityCorrection + edgeIndex];
228
+ }
229
+ }
@@ -21,6 +21,7 @@
21
21
  import createListSimply from '../helper/createListSimply';
22
22
  import * as zrUtil from 'zrender/src/core/util';
23
23
  import {getDimensionTypeByAxis} from '../../data/helper/dimensionHelper';
24
+ import {makeSeriesEncodeForAxisCoordSys} from '../../data/helper/sourceHelper';
24
25
 
25
26
  export var seriesModelMixin = {
26
27
 
@@ -47,7 +48,7 @@ export var seriesModelMixin = {
47
48
  var addOrdinal;
48
49
 
49
50
  // FIXME
50
- // 考虑时间轴
51
+ // Consider time axis.
51
52
 
52
53
  if (xAxisType === 'category') {
53
54
  option.layout = 'horizontal';
@@ -95,25 +96,29 @@ export var seriesModelMixin = {
95
96
  }
96
97
 
97
98
  var defaultValueDimensions = this.defaultValueDimensions;
99
+ var coordDimensions = [{
100
+ name: baseAxisDim,
101
+ type: getDimensionTypeByAxis(baseAxisType),
102
+ ordinalMeta: ordinalMeta,
103
+ otherDims: {
104
+ tooltip: false,
105
+ itemName: 0
106
+ },
107
+ dimsDef: ['base']
108
+ }, {
109
+ name: otherAxisDim,
110
+ type: getDimensionTypeByAxis(otherAxisType),
111
+ dimsDef: defaultValueDimensions.slice()
112
+ }];
98
113
 
99
114
  return createListSimply(
100
115
  this,
101
116
  {
102
- coordDimensions: [{
103
- name: baseAxisDim,
104
- type: getDimensionTypeByAxis(baseAxisType),
105
- ordinalMeta: ordinalMeta,
106
- otherDims: {
107
- tooltip: false,
108
- itemName: 0
109
- },
110
- dimsDef: ['base']
111
- }, {
112
- name: otherAxisDim,
113
- type: getDimensionTypeByAxis(otherAxisType),
114
- dimsDef: defaultValueDimensions.slice()
115
- }],
116
- dimensionsCount: defaultValueDimensions.length + 1
117
+ coordDimensions: coordDimensions,
118
+ dimensionsCount: defaultValueDimensions.length + 1,
119
+ encodeDefaulter: zrUtil.curry(
120
+ makeSeriesEncodeForAxisCoordSys, coordDimensions, this
121
+ )
117
122
  }
118
123
  );
119
124
  },