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
@@ -65,19 +65,23 @@ function makeSymbolTypeKey(symbolCategory) {
65
65
 
66
66
 
67
67
  function createSymbol(name, lineData, idx) {
68
- var color = lineData.getItemVisual(idx, 'color');
69
68
  var symbolType = lineData.getItemVisual(idx, name);
70
- var symbolSize = lineData.getItemVisual(idx, name + 'Size');
71
69
 
72
70
  if (!symbolType || symbolType === 'none') {
73
71
  return;
74
72
  }
75
73
 
74
+ var color = lineData.getItemVisual(idx, 'color');
75
+ var symbolSize = lineData.getItemVisual(idx, name + 'Size');
76
+ var symbolRotate = lineData.getItemVisual(idx, name + 'Rotate');
77
+
76
78
  if (!zrUtil.isArray(symbolSize)) {
77
79
  symbolSize = [symbolSize, symbolSize];
78
80
  }
79
81
 
80
- var symbolPath = symbolUtil.createSymbol(symbolType, -symbolSize[0] / 2, -symbolSize[1] / 2, symbolSize[0], symbolSize[1], color);
82
+ var symbolPath = symbolUtil.createSymbol(symbolType, -symbolSize[0] / 2, -symbolSize[1] / 2, symbolSize[0], symbolSize[1], color); // rotate by default if symbolRotate is not specified or NaN
83
+
84
+ symbolPath.__specifiedRotation = symbolRotate == null || isNaN(symbolRotate) ? void 0 : +symbolRotate * Math.PI / 180 || 0;
81
85
  symbolPath.name = name;
82
86
  return symbolPath;
83
87
  }
@@ -143,16 +147,38 @@ function updateSymbolAndLabelBeforeLineUpdate() {
143
147
  vector.normalize(d, d);
144
148
 
145
149
  if (symbolFrom) {
146
- symbolFrom.attr('position', fromPos);
147
- var tangent = line.tangentAt(0);
148
- symbolFrom.attr('rotation', Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));
150
+ symbolFrom.attr('position', fromPos); // Fix #12388
151
+ // when symbol is set to be 'arrow' in markLine,
152
+ // symbolRotate value will be ignored, and compulsively use tangent angle.
153
+ // rotate by default if symbol rotation is not specified
154
+
155
+ var specifiedRotation = symbolFrom.__specifiedRotation;
156
+
157
+ if (specifiedRotation == null) {
158
+ var tangent = line.tangentAt(0);
159
+ symbolFrom.attr('rotation', Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));
160
+ } else {
161
+ symbolFrom.attr('rotation', specifiedRotation);
162
+ }
163
+
149
164
  symbolFrom.attr('scale', [invScale * percent, invScale * percent]);
150
165
  }
151
166
 
152
167
  if (symbolTo) {
153
- symbolTo.attr('position', toPos);
154
- var tangent = line.tangentAt(1);
155
- symbolTo.attr('rotation', -Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));
168
+ symbolTo.attr('position', toPos); // Fix #12388
169
+ // when symbol is set to be 'arrow' in markLine,
170
+ // symbolRotate value will be ignored, and compulsively use tangent angle.
171
+ // rotate by default if symbol rotation is not specified
172
+
173
+ var specifiedRotation = symbolTo.__specifiedRotation;
174
+
175
+ if (specifiedRotation == null) {
176
+ var tangent = line.tangentAt(1);
177
+ symbolTo.attr('rotation', -Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));
178
+ } else {
179
+ symbolTo.attr('rotation', specifiedRotation);
180
+ }
181
+
156
182
  symbolTo.attr('scale', [invScale * percent, invScale * percent]);
157
183
  }
158
184
 
@@ -161,40 +187,93 @@ function updateSymbolAndLabelBeforeLineUpdate() {
161
187
  var textPosition;
162
188
  var textAlign;
163
189
  var textVerticalAlign;
164
- var distance = 5 * invScale; // End
165
-
166
- if (label.__position === 'end') {
167
- textPosition = [d[0] * distance + toPos[0], d[1] * distance + toPos[1]];
168
- textAlign = d[0] > 0.8 ? 'left' : d[0] < -0.8 ? 'right' : 'center';
169
- textVerticalAlign = d[1] > 0.8 ? 'top' : d[1] < -0.8 ? 'bottom' : 'middle';
170
- } // Middle
171
- else if (label.__position === 'middle') {
172
- var halfPercent = percent / 2;
173
- var tangent = line.tangentAt(halfPercent);
174
- var n = [tangent[1], -tangent[0]];
175
- var cp = line.pointAt(halfPercent);
176
-
177
- if (n[1] > 0) {
178
- n[0] = -n[0];
179
- n[1] = -n[1];
180
- }
181
-
182
- textPosition = [cp[0] + n[0] * distance, cp[1] + n[1] * distance];
183
- textAlign = 'center';
184
- textVerticalAlign = 'bottom';
185
- var rotation = -Math.atan2(tangent[1], tangent[0]);
190
+ var textOrigin;
191
+ var distance = label.__labelDistance;
192
+ var distanceX = distance[0] * invScale;
193
+ var distanceY = distance[1] * invScale;
194
+ var halfPercent = percent / 2;
195
+ var tangent = line.tangentAt(halfPercent);
196
+ var n = [tangent[1], -tangent[0]];
197
+ var cp = line.pointAt(halfPercent);
198
+
199
+ if (n[1] > 0) {
200
+ n[0] = -n[0];
201
+ n[1] = -n[1];
202
+ }
186
203
 
187
- if (toPos[0] < fromPos[0]) {
188
- rotation = Math.PI + rotation;
189
- }
204
+ var dir = tangent[0] < 0 ? -1 : 1;
190
205
 
191
- label.attr('rotation', rotation);
192
- } // Start
193
- else {
194
- textPosition = [-d[0] * distance + fromPos[0], -d[1] * distance + fromPos[1]];
195
- textAlign = d[0] > 0.8 ? 'right' : d[0] < -0.8 ? 'left' : 'center';
196
- textVerticalAlign = d[1] > 0.8 ? 'bottom' : d[1] < -0.8 ? 'top' : 'middle';
197
- }
206
+ if (label.__position !== 'start' && label.__position !== 'end') {
207
+ var rotation = -Math.atan2(tangent[1], tangent[0]);
208
+
209
+ if (toPos[0] < fromPos[0]) {
210
+ rotation = Math.PI + rotation;
211
+ }
212
+
213
+ label.attr('rotation', rotation);
214
+ }
215
+
216
+ var dy;
217
+
218
+ switch (label.__position) {
219
+ case 'insideStartTop':
220
+ case 'insideMiddleTop':
221
+ case 'insideEndTop':
222
+ case 'middle':
223
+ dy = -distanceY;
224
+ textVerticalAlign = 'bottom';
225
+ break;
226
+
227
+ case 'insideStartBottom':
228
+ case 'insideMiddleBottom':
229
+ case 'insideEndBottom':
230
+ dy = distanceY;
231
+ textVerticalAlign = 'top';
232
+ break;
233
+
234
+ default:
235
+ dy = 0;
236
+ textVerticalAlign = 'middle';
237
+ }
238
+
239
+ switch (label.__position) {
240
+ case 'end':
241
+ textPosition = [d[0] * distanceX + toPos[0], d[1] * distanceY + toPos[1]];
242
+ textAlign = d[0] > 0.8 ? 'left' : d[0] < -0.8 ? 'right' : 'center';
243
+ textVerticalAlign = d[1] > 0.8 ? 'top' : d[1] < -0.8 ? 'bottom' : 'middle';
244
+ break;
245
+
246
+ case 'start':
247
+ textPosition = [-d[0] * distanceX + fromPos[0], -d[1] * distanceY + fromPos[1]];
248
+ textAlign = d[0] > 0.8 ? 'right' : d[0] < -0.8 ? 'left' : 'center';
249
+ textVerticalAlign = d[1] > 0.8 ? 'bottom' : d[1] < -0.8 ? 'top' : 'middle';
250
+ break;
251
+
252
+ case 'insideStartTop':
253
+ case 'insideStart':
254
+ case 'insideStartBottom':
255
+ textPosition = [distanceX * dir + fromPos[0], fromPos[1] + dy];
256
+ textAlign = tangent[0] < 0 ? 'right' : 'left';
257
+ textOrigin = [-distanceX * dir, -dy];
258
+ break;
259
+
260
+ case 'insideMiddleTop':
261
+ case 'insideMiddle':
262
+ case 'insideMiddleBottom':
263
+ case 'middle':
264
+ textPosition = [cp[0], cp[1] + dy];
265
+ textAlign = 'center';
266
+ textOrigin = [0, -dy];
267
+ break;
268
+
269
+ case 'insideEndTop':
270
+ case 'insideEnd':
271
+ case 'insideEndBottom':
272
+ textPosition = [-distanceX * dir + toPos[0], toPos[1] + dy];
273
+ textAlign = tangent[0] >= 0 ? 'right' : 'left';
274
+ textOrigin = [distanceX * dir, -dy];
275
+ break;
276
+ }
198
277
 
199
278
  label.attr({
200
279
  style: {
@@ -203,7 +282,8 @@ function updateSymbolAndLabelBeforeLineUpdate() {
203
282
  textAlign: label.__textAlign || textAlign
204
283
  },
205
284
  position: textPosition,
206
- scale: [invScale, invScale]
285
+ scale: [invScale, invScale],
286
+ origin: textOrigin
207
287
  });
208
288
  }
209
289
  }
@@ -347,6 +427,13 @@ lineProto._updateCommonStl = function (lineData, idx, seriesScope) {
347
427
  label.__verticalAlign = labelStyle.textVerticalAlign; // 'start', 'middle', 'end'
348
428
 
349
429
  label.__position = labelModel.get('position') || 'middle';
430
+ var distance = labelModel.get('distance');
431
+
432
+ if (!zrUtil.isArray(distance)) {
433
+ distance = [distance, distance];
434
+ }
435
+
436
+ label.__labelDistance = distance;
350
437
  }
351
438
 
352
439
  if (emphasisText != null) {
@@ -134,9 +134,13 @@ lineDrawProto.incrementalPrepareUpdate = function (lineData) {
134
134
  this.group.removeAll();
135
135
  };
136
136
 
137
+ function isEffectObject(el) {
138
+ return el.animators && el.animators.length > 0;
139
+ }
140
+
137
141
  lineDrawProto.incrementalUpdate = function (taskParams, lineData) {
138
142
  function updateIncrementalAndHover(el) {
139
- if (!el.isGroup) {
143
+ if (!el.isGroup && !isEffectObject(el)) {
140
144
  el.incremental = el.useHoverLayer = true;
141
145
  }
142
146
  }
@@ -257,7 +257,7 @@ symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {
257
257
  });
258
258
  } else {
259
259
  symbolPath.setStyle({
260
- opacity: null,
260
+ opacity: 1,
261
261
  shadowBlur: null,
262
262
  shadowOffsetX: null,
263
263
  shadowOffsetY: null,
@@ -267,7 +267,6 @@ symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {
267
267
 
268
268
  var itemStyle = seriesScope && seriesScope.itemStyle;
269
269
  var hoverItemStyle = seriesScope && seriesScope.hoverItemStyle;
270
- var symbolRotate = seriesScope && seriesScope.symbolRotate;
271
270
  var symbolOffset = seriesScope && seriesScope.symbolOffset;
272
271
  var labelModel = seriesScope && seriesScope.labelModel;
273
272
  var hoverLabelModel = seriesScope && seriesScope.hoverLabelModel;
@@ -280,7 +279,6 @@ symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {
280
279
 
281
280
  itemStyle = itemModel.getModel(normalStyleAccessPath).getItemStyle(['color']);
282
281
  hoverItemStyle = itemModel.getModel(emphasisStyleAccessPath).getItemStyle();
283
- symbolRotate = itemModel.getShallow('symbolRotate');
284
282
  symbolOffset = itemModel.getShallow('symbolOffset');
285
283
  labelModel = itemModel.getModel(normalLabelAccessPath);
286
284
  hoverLabelModel = itemModel.getModel(emphasisLabelAccessPath);
@@ -291,6 +289,7 @@ symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {
291
289
  }
292
290
 
293
291
  var elStyle = symbolPath.style;
292
+ var symbolRotate = data.getItemVisual(idx, 'symbolRotate');
294
293
  symbolPath.attr('rotation', (symbolRotate || 0) * Math.PI / 180 || 0);
295
294
 
296
295
  if (symbolOffset) {
@@ -54,7 +54,10 @@ function createGridClipPath(cartesian, hasAnimation, seriesModel) {
54
54
  x -= lineWidth / 2;
55
55
  y -= lineWidth / 2;
56
56
  width += lineWidth;
57
- height += lineWidth;
57
+ height += lineWidth; // fix: https://github.com/apache/incubator-echarts/issues/11369
58
+
59
+ x = Math.floor(x);
60
+ width = Math.round(width);
58
61
  var clipPath = new graphic.Rect({
59
62
  shape: {
60
63
  x: x,
@@ -40,7 +40,7 @@ var CoordinateSystem = require("../../CoordinateSystem");
40
40
 
41
41
  var _referHelper = require("../../model/referHelper");
42
42
 
43
- var getCoordSysDefineBySeries = _referHelper.getCoordSysDefineBySeries;
43
+ var getCoordSysInfoBySeries = _referHelper.getCoordSysInfoBySeries;
44
44
 
45
45
  var Source = require("../../data/Source");
46
46
 
@@ -48,6 +48,10 @@ var _dataStackHelper = require("../../data/helper/dataStackHelper");
48
48
 
49
49
  var enableDataStack = _dataStackHelper.enableDataStack;
50
50
 
51
+ var _sourceHelper = require("../../data/helper/sourceHelper");
52
+
53
+ var makeSeriesEncodeForAxisCoordSys = _sourceHelper.makeSeriesEncodeForAxisCoordSys;
54
+
51
55
  /*
52
56
  * Licensed to the Apache Software Foundation (ASF) under one
53
57
  * or more contributor license agreements. See the NOTICE file
@@ -72,6 +76,7 @@ var enableDataStack = _dataStackHelper.enableDataStack;
72
76
  * @param {module:echarts/model/Series} seriesModel
73
77
  * @param {Object} [opt]
74
78
  * @param {string} [opt.generateCoord]
79
+ * @param {boolean} [opt.useEncodeDefaulter]
75
80
  */
76
81
  function createListFromArray(source, seriesModel, opt) {
77
82
  opt = opt || {};
@@ -82,15 +87,15 @@ function createListFromArray(source, seriesModel, opt) {
82
87
 
83
88
  var coordSysName = seriesModel.get('coordinateSystem');
84
89
  var registeredCoordSys = CoordinateSystem.get(coordSysName);
85
- var coordSysDefine = getCoordSysDefineBySeries(seriesModel);
90
+ var coordSysInfo = getCoordSysInfoBySeries(seriesModel);
86
91
  var coordSysDimDefs;
87
92
 
88
- if (coordSysDefine) {
89
- coordSysDimDefs = zrUtil.map(coordSysDefine.coordSysDims, function (dim) {
93
+ if (coordSysInfo) {
94
+ coordSysDimDefs = zrUtil.map(coordSysInfo.coordSysDims, function (dim) {
90
95
  var dimInfo = {
91
96
  name: dim
92
97
  };
93
- var axisModel = coordSysDefine.axisMap.get(dim);
98
+ var axisModel = coordSysInfo.axisMap.get(dim);
94
99
 
95
100
  if (axisModel) {
96
101
  var axisType = axisModel.get('type');
@@ -108,13 +113,14 @@ function createListFromArray(source, seriesModel, opt) {
108
113
 
109
114
  var dimInfoList = createDimensions(source, {
110
115
  coordDimensions: coordSysDimDefs,
111
- generateCoord: opt.generateCoord
116
+ generateCoord: opt.generateCoord,
117
+ encodeDefaulter: opt.useEncodeDefaulter ? zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordSysDimDefs, seriesModel) : null
112
118
  });
113
119
  var firstCategoryDimIndex;
114
120
  var hasNameEncode;
115
- coordSysDefine && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {
121
+ coordSysInfo && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {
116
122
  var coordDim = dimInfo.coordDim;
117
- var categoryAxisModel = coordSysDefine.categoryAxisMap.get(coordDim);
123
+ var categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);
118
124
 
119
125
  if (categoryAxisModel) {
120
126
  if (firstCategoryDimIndex == null) {
@@ -50,9 +50,12 @@ function _default() {
50
50
  var fields = inner(seriesModel);
51
51
  var pipelineContext = seriesModel.pipelineContext;
52
52
  var originalLarge = fields.large;
53
- var originalProgressive = fields.progressiveRender;
54
- var large = fields.large = pipelineContext.large;
55
- var progressive = fields.progressiveRender = pipelineContext.progressiveRender;
53
+ var originalProgressive = fields.progressiveRender; // FIXME: if the planner works on a filtered series, `pipelineContext` does not
54
+ // exists. See #11611 . Probably we need to modify this structure, see the comment
55
+ // on `performRawSeries` in `Schedular.js`.
56
+
57
+ var large = fields.large = pipelineContext && pipelineContext.large;
58
+ var progressive = fields.progressiveRender = pipelineContext && pipelineContext.progressiveRender;
56
59
  return !!(originalLarge ^ large || originalProgressive ^ progressive) && 'reset';
57
60
  };
58
61
  }
@@ -0,0 +1,258 @@
1
+
2
+ /*
3
+ * Licensed to the Apache Software Foundation (ASF) under one
4
+ * or more contributor license agreements. See the NOTICE file
5
+ * distributed with this work for additional information
6
+ * regarding copyright ownership. The ASF licenses this file
7
+ * to you under the Apache License, Version 2.0 (the
8
+ * "License"); you may not use this file except in compliance
9
+ * with the License. You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing,
14
+ * software distributed under the License is distributed on an
15
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ * KIND, either express or implied. See the License for the
17
+ * specific language governing permissions and limitations
18
+ * under the License.
19
+ */
20
+
21
+ var zrUtil = require("zrender/lib/core/util");
22
+
23
+ /*
24
+ * Licensed to the Apache Software Foundation (ASF) under one
25
+ * or more contributor license agreements. See the NOTICE file
26
+ * distributed with this work for additional information
27
+ * regarding copyright ownership. The ASF licenses this file
28
+ * to you under the Apache License, Version 2.0 (the
29
+ * "License"); you may not use this file except in compliance
30
+ * with the License. You may obtain a copy of the License at
31
+ *
32
+ * http://www.apache.org/licenses/LICENSE-2.0
33
+ *
34
+ * Unless required by applicable law or agreed to in writing,
35
+ * software distributed under the License is distributed on an
36
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
37
+ * KIND, either express or implied. See the License for the
38
+ * specific language governing permissions and limitations
39
+ * under the License.
40
+ */
41
+ var KEY_DELIMITER = '-->';
42
+ /**
43
+ * params handler
44
+ * @param {module:echarts/model/SeriesModel} seriesModel
45
+ * @returns {*}
46
+ */
47
+
48
+ var getAutoCurvenessParams = function (seriesModel) {
49
+ return seriesModel.get('autoCurveness') || null;
50
+ };
51
+ /**
52
+ * Generate a list of edge curvatures, 20 is the default
53
+ * @param {module:echarts/model/SeriesModel} seriesModel
54
+ * @param {number} appendLength
55
+ * @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]
56
+ */
57
+
58
+
59
+ var createCurveness = function (seriesModel, appendLength) {
60
+ var autoCurvenessParmas = getAutoCurvenessParams(seriesModel);
61
+ var length = 20;
62
+ var curvenessList = []; // handler the function set
63
+
64
+ if (typeof autoCurvenessParmas === 'number') {
65
+ length = autoCurvenessParmas;
66
+ } else if (zrUtil.isArray(autoCurvenessParmas)) {
67
+ seriesModel.__curvenessList = autoCurvenessParmas;
68
+ return;
69
+ } // append length
70
+
71
+
72
+ if (appendLength > length) {
73
+ length = appendLength;
74
+ } // make sure the length is even
75
+
76
+
77
+ var len = length % 2 ? length + 2 : length + 3;
78
+ curvenessList = [];
79
+
80
+ for (var i = 0; i < len; i++) {
81
+ curvenessList.push((i % 2 ? i + 1 : i) / 10 * (i % 2 ? -1 : 1));
82
+ }
83
+
84
+ seriesModel.__curvenessList = curvenessList;
85
+ };
86
+ /**
87
+ * Create different cache key data in the positive and negative directions, in order to set the curvature later
88
+ * @param {number|string|module:echarts/data/Graph.Node} n1
89
+ * @param {number|string|module:echarts/data/Graph.Node} n2
90
+ * @param {module:echarts/model/SeriesModel} seriesModel
91
+ * @returns {string} key
92
+ */
93
+
94
+
95
+ var getKeyOfEdges = function (n1, n2, seriesModel) {
96
+ var source = [n1.id, n1.dataIndex].join('.');
97
+ var target = [n2.id, n2.dataIndex].join('.');
98
+ return [seriesModel.uid, source, target].join(KEY_DELIMITER);
99
+ };
100
+ /**
101
+ * get opposite key
102
+ * @param {string} key
103
+ * @returns {string}
104
+ */
105
+
106
+
107
+ var getOppositeKey = function (key) {
108
+ var keys = key.split(KEY_DELIMITER);
109
+ return [keys[0], keys[2], keys[1]].join(KEY_DELIMITER);
110
+ };
111
+ /**
112
+ * get edgeMap with key
113
+ * @param edge
114
+ * @param {module:echarts/model/SeriesModel} seriesModel
115
+ */
116
+
117
+
118
+ var getEdgeFromMap = function (edge, seriesModel) {
119
+ var key = getKeyOfEdges(edge.node1, edge.node2, seriesModel);
120
+ return seriesModel.__edgeMap[key];
121
+ };
122
+ /**
123
+ * calculate all cases total length
124
+ * @param edge
125
+ * @param seriesModel
126
+ * @returns {number}
127
+ */
128
+
129
+
130
+ var getTotalLengthBetweenNodes = function (edge, seriesModel) {
131
+ var len = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node1, edge.node2, seriesModel), seriesModel);
132
+ var lenV = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node2, edge.node1, seriesModel), seriesModel);
133
+ return len + lenV;
134
+ };
135
+ /**
136
+ *
137
+ * @param key
138
+ */
139
+
140
+
141
+ var getEdgeMapLengthWithKey = function (key, seriesModel) {
142
+ var edgeMap = seriesModel.__edgeMap;
143
+ return edgeMap[key] ? edgeMap[key].length : 0;
144
+ };
145
+ /**
146
+ * Count the number of edges between the same two points, used to obtain the curvature table and the parity of the edge
147
+ * @see /graph/GraphSeries.js@getInitialData
148
+ * @param {module:echarts/model/SeriesModel} seriesModel
149
+ */
150
+
151
+
152
+ function initCurvenessList(seriesModel) {
153
+ if (!getAutoCurvenessParams(seriesModel)) {
154
+ return;
155
+ }
156
+
157
+ seriesModel.__curvenessList = [];
158
+ seriesModel.__edgeMap = {}; // calc the array of curveness List
159
+
160
+ createCurveness(seriesModel);
161
+ }
162
+ /**
163
+ * set edgeMap with key
164
+ * @param {number|string|module:echarts/data/Graph.Node} n1
165
+ * @param {number|string|module:echarts/data/Graph.Node} n2
166
+ * @param {module:echarts/model/SeriesModel} seriesModel
167
+ * @param {number} index
168
+ */
169
+
170
+
171
+ function createEdgeMapForCurveness(n1, n2, seriesModel, index) {
172
+ if (!getAutoCurvenessParams(seriesModel)) {
173
+ return;
174
+ }
175
+
176
+ var key = getKeyOfEdges(n1, n2, seriesModel);
177
+ var edgeMap = seriesModel.__edgeMap;
178
+ var oppositeEdges = edgeMap[getOppositeKey(key)]; // set direction
179
+
180
+ if (edgeMap[key] && !oppositeEdges) {
181
+ edgeMap[key].isForward = true;
182
+ } else if (oppositeEdges && edgeMap[key]) {
183
+ oppositeEdges.isForward = true;
184
+ edgeMap[key].isForward = false;
185
+ }
186
+
187
+ edgeMap[key] = edgeMap[key] || [];
188
+ edgeMap[key].push(index);
189
+ }
190
+ /**
191
+ * get curvature for edge
192
+ * @param edge
193
+ * @param {module:echarts/model/SeriesModel} seriesModel
194
+ * @param index
195
+ */
196
+
197
+
198
+ function getCurvenessForEdge(edge, seriesModel, index, needReverse) {
199
+ var autoCurvenessParams = getAutoCurvenessParams(seriesModel);
200
+ var isArrayParam = zrUtil.isArray(autoCurvenessParams);
201
+
202
+ if (!autoCurvenessParams) {
203
+ return null;
204
+ }
205
+
206
+ var edgeArray = getEdgeFromMap(edge, seriesModel);
207
+
208
+ if (!edgeArray) {
209
+ return null;
210
+ }
211
+
212
+ var edgeIndex = -1;
213
+
214
+ for (var i = 0; i < edgeArray.length; i++) {
215
+ if (edgeArray[i] === index) {
216
+ edgeIndex = i;
217
+ break;
218
+ }
219
+ } // if totalLen is Longer createCurveness
220
+
221
+
222
+ var totalLen = getTotalLengthBetweenNodes(edge, seriesModel);
223
+ createCurveness(seriesModel, totalLen);
224
+ edge.lineStyle = edge.lineStyle || {}; // if is opposite edge, must set curvenss to opposite number
225
+
226
+ var curKey = getKeyOfEdges(edge.node1, edge.node2, seriesModel);
227
+ var curvenessList = seriesModel.__curvenessList; // if pass array no need parity
228
+
229
+ var parityCorrection = isArrayParam ? 0 : totalLen % 2 ? 0 : 1;
230
+
231
+ if (!edgeArray.isForward) {
232
+ // the opposite edge show outside
233
+ var oppositeKey = getOppositeKey(curKey);
234
+ var len = getEdgeMapLengthWithKey(oppositeKey, seriesModel);
235
+ var resValue = curvenessList[edgeIndex + len + parityCorrection]; // isNeedReverse, simple, force type need reverse the curveness in the junction of the forword and the opposite
236
+
237
+ if (needReverse) {
238
+ // set as array may make the parity handle with the len of opposite
239
+ if (isArrayParam) {
240
+ if (autoCurvenessParams && autoCurvenessParams[0] === 0) {
241
+ return (len + parityCorrection) % 2 ? resValue : -resValue;
242
+ } else {
243
+ return ((len % 2 ? 0 : 1) + parityCorrection) % 2 ? resValue : -resValue;
244
+ }
245
+ } else {
246
+ return (len + parityCorrection) % 2 ? resValue : -resValue;
247
+ }
248
+ } else {
249
+ return curvenessList[edgeIndex + len + parityCorrection];
250
+ }
251
+ } else {
252
+ return curvenessList[parityCorrection + edgeIndex];
253
+ }
254
+ }
255
+
256
+ exports.initCurvenessList = initCurvenessList;
257
+ exports.createEdgeMapForCurveness = createEdgeMapForCurveness;
258
+ exports.getCurvenessForEdge = getCurvenessForEdge;
@@ -26,6 +26,10 @@ var _dimensionHelper = require("../../data/helper/dimensionHelper");
26
26
 
27
27
  var getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;
28
28
 
29
+ var _sourceHelper = require("../../data/helper/sourceHelper");
30
+
31
+ var makeSeriesEncodeForAxisCoordSys = _sourceHelper.makeSeriesEncodeForAxisCoordSys;
32
+
29
33
  /*
30
34
  * Licensed to the Apache Software Foundation (ASF) under one
31
35
  * or more contributor license agreements. See the NOTICE file
@@ -64,7 +68,7 @@ var seriesModelMixin = {
64
68
  var xAxisType = xAxisModel.get('type');
65
69
  var yAxisType = yAxisModel.get('type');
66
70
  var addOrdinal; // FIXME
67
- // 考虑时间轴
71
+ // Consider time axis.
68
72
 
69
73
  if (xAxisType === 'category') {
70
74
  option.layout = 'horizontal';
@@ -109,22 +113,24 @@ var seriesModelMixin = {
109
113
  }
110
114
 
111
115
  var defaultValueDimensions = this.defaultValueDimensions;
116
+ var coordDimensions = [{
117
+ name: baseAxisDim,
118
+ type: getDimensionTypeByAxis(baseAxisType),
119
+ ordinalMeta: ordinalMeta,
120
+ otherDims: {
121
+ tooltip: false,
122
+ itemName: 0
123
+ },
124
+ dimsDef: ['base']
125
+ }, {
126
+ name: otherAxisDim,
127
+ type: getDimensionTypeByAxis(otherAxisType),
128
+ dimsDef: defaultValueDimensions.slice()
129
+ }];
112
130
  return createListSimply(this, {
113
- coordDimensions: [{
114
- name: baseAxisDim,
115
- type: getDimensionTypeByAxis(baseAxisType),
116
- ordinalMeta: ordinalMeta,
117
- otherDims: {
118
- tooltip: false,
119
- itemName: 0
120
- },
121
- dimsDef: ['base']
122
- }, {
123
- name: otherAxisDim,
124
- type: getDimensionTypeByAxis(otherAxisType),
125
- dimsDef: defaultValueDimensions.slice()
126
- }],
127
- dimensionsCount: defaultValueDimensions.length + 1
131
+ coordDimensions: coordDimensions,
132
+ dimensionsCount: defaultValueDimensions.length + 1,
133
+ encodeDefaulter: zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordDimensions, this)
128
134
  });
129
135
  },
130
136