echarts 4.0.1 → 4.1.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 (918) hide show
  1. package/.jshintrc-dist +70 -0
  2. package/KEYS +74 -0
  3. package/LICENSE +223 -29
  4. package/NOTICE +5 -0
  5. package/README.md +22 -8
  6. package/build/addHeader.js +113 -0
  7. package/build/amd2common.js +19 -0
  8. package/build/build.js +19 -0
  9. package/build/config.js +25 -1
  10. package/build/mangleString.js +19 -0
  11. package/build/optimize.js +19 -0
  12. package/build/pre-publish.js +26 -3
  13. package/build/preamble.js +20 -0
  14. package/build/rollup-plugin-ec-lang.js +20 -0
  15. package/build/rollup-plugin-ec-remove-dev.js +19 -0
  16. package/dist/echarts-en.common.js +7106 -1621
  17. package/dist/echarts-en.common.min.js +21 -1
  18. package/dist/echarts-en.js +13949 -4217
  19. package/dist/echarts-en.js.map +1 -1
  20. package/dist/echarts-en.min.js +21 -1
  21. package/dist/echarts-en.simple.js +5206 -1375
  22. package/dist/echarts-en.simple.min.js +21 -1
  23. package/dist/echarts.common.js +7106 -1621
  24. package/dist/echarts.common.min.js +21 -1
  25. package/dist/echarts.js +13949 -4217
  26. package/dist/echarts.js.map +1 -1
  27. package/dist/echarts.min.js +21 -1
  28. package/dist/echarts.simple.js +5206 -1375
  29. package/dist/echarts.simple.min.js +21 -1
  30. package/dist/extension/bmap.js +76 -0
  31. package/dist/extension/bmap.js.map +1 -1
  32. package/dist/extension/bmap.min.js +20 -0
  33. package/dist/extension/dataTool.js +95 -0
  34. package/dist/extension/dataTool.js.map +1 -1
  35. package/dist/extension/dataTool.min.js +20 -0
  36. package/echarts.all.js +19 -0
  37. package/echarts.blank.js +19 -0
  38. package/echarts.common.js +19 -0
  39. package/echarts.simple.js +19 -0
  40. package/extension/bmap/BMapCoordSys.js +19 -0
  41. package/extension/bmap/BMapModel.js +18 -0
  42. package/extension/bmap/BMapView.js +18 -0
  43. package/extension/bmap/bmap.js +19 -0
  44. package/extension/dataTool/gexf.js +18 -0
  45. package/extension/dataTool/index.js +19 -0
  46. package/extension/dataTool/prepareBoxplotData.js +19 -0
  47. package/extension/dataTool/quantile.js +19 -0
  48. package/extension/echarts.js +19 -0
  49. package/extension/webpack.config.js +19 -0
  50. package/extension-src/bmap/BMapCoordSys.js +19 -0
  51. package/extension-src/bmap/BMapModel.js +19 -0
  52. package/extension-src/bmap/BMapView.js +19 -0
  53. package/extension-src/bmap/bmap.js +19 -0
  54. package/extension-src/dataTool/gexf.js +19 -0
  55. package/extension-src/dataTool/index.js +19 -0
  56. package/extension-src/dataTool/prepareBoxplotData.js +19 -0
  57. package/extension-src/dataTool/quantile.js +19 -0
  58. package/index.common.js +19 -0
  59. package/index.js +19 -0
  60. package/index.simple.js +19 -0
  61. package/lib/CoordinateSystem.js +18 -0
  62. package/lib/ExtensionAPI.js +18 -0
  63. package/lib/action/createDataSelectAction.js +18 -0
  64. package/lib/action/geoRoam.js +19 -0
  65. package/lib/action/roamHelper.js +19 -0
  66. package/lib/chart/bar/BarSeries.js +42 -1
  67. package/lib/chart/bar/BarView.js +120 -15
  68. package/lib/chart/bar/BaseBarSeries.js +22 -0
  69. package/lib/chart/bar/PictorialBarSeries.js +18 -0
  70. package/lib/chart/bar/PictorialBarView.js +19 -0
  71. package/lib/chart/bar/barItemStyle.js +18 -0
  72. package/lib/chart/bar/helper.js +18 -0
  73. package/lib/chart/bar.js +28 -7
  74. package/lib/chart/boxplot/BoxplotSeries.js +35 -1
  75. package/lib/chart/boxplot/BoxplotView.js +128 -21
  76. package/lib/chart/boxplot/boxplotLayout.js +70 -63
  77. package/lib/chart/boxplot/boxplotVisual.js +18 -0
  78. package/lib/chart/boxplot.js +18 -0
  79. package/lib/chart/candlestick/CandlestickSeries.js +38 -4
  80. package/lib/chart/candlestick/CandlestickView.js +236 -22
  81. package/lib/chart/candlestick/candlestickLayout.js +143 -83
  82. package/lib/chart/candlestick/candlestickVisual.js +59 -14
  83. package/lib/chart/candlestick/preprocessor.js +18 -0
  84. package/lib/chart/candlestick.js +18 -0
  85. package/lib/chart/chord/ChordSeries.js +18 -0
  86. package/lib/chart/chord/ChordView.js +18 -0
  87. package/lib/chart/chord/Ribbon.js +18 -0
  88. package/lib/chart/chord/chordCircularLayout.js +19 -0
  89. package/lib/chart/chord.js +18 -0
  90. package/lib/chart/custom.js +20 -2
  91. package/lib/chart/effectScatter/EffectScatterSeries.js +18 -0
  92. package/lib/chart/effectScatter/EffectScatterView.js +18 -0
  93. package/lib/chart/effectScatter.js +18 -0
  94. package/lib/chart/funnel/FunnelSeries.js +19 -0
  95. package/lib/chart/funnel/FunnelView.js +19 -0
  96. package/lib/chart/funnel/funnelLayout.js +18 -0
  97. package/lib/chart/funnel.js +18 -0
  98. package/lib/chart/gauge/GaugeSeries.js +18 -0
  99. package/lib/chart/gauge/GaugeView.js +18 -0
  100. package/lib/chart/gauge/PointerPath.js +18 -0
  101. package/lib/chart/graph/GraphSeries.js +25 -1
  102. package/lib/chart/graph/GraphView.js +18 -0
  103. package/lib/chart/graph/adjustEdge.js +18 -0
  104. package/lib/chart/graph/backwardCompat.js +18 -0
  105. package/lib/chart/graph/categoryFilter.js +18 -0
  106. package/lib/chart/graph/categoryVisual.js +18 -0
  107. package/lib/chart/graph/circularLayout.js +18 -0
  108. package/lib/chart/graph/circularLayoutHelper.js +18 -0
  109. package/lib/chart/graph/createView.js +18 -0
  110. package/lib/chart/graph/edgeVisual.js +18 -0
  111. package/lib/chart/graph/forceHelper.js +18 -0
  112. package/lib/chart/graph/forceLayout.js +18 -0
  113. package/lib/chart/graph/graphAction.js +19 -0
  114. package/lib/chart/graph/simpleLayout.js +18 -0
  115. package/lib/chart/graph/simpleLayoutHelper.js +18 -0
  116. package/lib/chart/graph.js +18 -0
  117. package/lib/chart/heatmap/HeatmapLayer.js +19 -0
  118. package/lib/chart/heatmap/HeatmapSeries.js +21 -1
  119. package/lib/chart/heatmap/HeatmapView.js +18 -0
  120. package/lib/chart/helper/EffectLine.js +19 -0
  121. package/lib/chart/helper/EffectPolyline.js +19 -0
  122. package/lib/chart/helper/EffectSymbol.js +19 -0
  123. package/lib/chart/helper/LargeLineDraw.js +18 -0
  124. package/lib/chart/helper/LargeSymbolDraw.js +18 -0
  125. package/lib/chart/helper/Line.js +31 -13
  126. package/lib/chart/helper/LineDraw.js +26 -1
  127. package/lib/chart/helper/LinePath.js +19 -0
  128. package/lib/chart/helper/Polyline.js +19 -0
  129. package/lib/chart/helper/Symbol.js +63 -12
  130. package/lib/chart/helper/SymbolDraw.js +65 -18
  131. package/lib/chart/helper/createGraphFromNodeEdge.js +27 -3
  132. package/lib/chart/helper/createGraphFromNodeMatrix.js +19 -0
  133. package/lib/chart/helper/createListFromArray.js +33 -8
  134. package/lib/chart/helper/createListSimply.js +19 -0
  135. package/lib/chart/helper/createRenderPlanner.js +22 -3
  136. package/lib/chart/helper/labelHelper.js +19 -0
  137. package/lib/chart/helper/treeHelper.js +18 -0
  138. package/lib/chart/helper/whiskerBoxCommon.js +20 -21
  139. package/lib/chart/line/LineSeries.js +32 -11
  140. package/lib/chart/line/LineView.js +165 -102
  141. package/lib/chart/line/helper.js +117 -0
  142. package/lib/chart/line/lineAnimationDiff.js +31 -32
  143. package/lib/chart/line/poly.js +136 -0
  144. package/lib/chart/line.js +18 -0
  145. package/lib/chart/lines/LinesSeries.js +25 -6
  146. package/lib/chart/lines/LinesView.js +20 -1
  147. package/lib/chart/lines/linesLayout.js +19 -1
  148. package/lib/chart/lines/linesVisual.js +18 -0
  149. package/lib/chart/lines.js +18 -0
  150. package/lib/chart/map/MapSeries.js +45 -8
  151. package/lib/chart/map/MapView.js +18 -0
  152. package/lib/chart/map/backwardCompat.js +18 -0
  153. package/lib/chart/map/mapDataStatistic.js +18 -0
  154. package/lib/chart/map/mapSymbolLayout.js +18 -0
  155. package/lib/chart/map/mapVisual.js +18 -0
  156. package/lib/chart/map.js +18 -0
  157. package/lib/chart/parallel/ParallelSeries.js +20 -7
  158. package/lib/chart/parallel/ParallelView.js +86 -55
  159. package/lib/chart/parallel/parallelVisual.js +38 -15
  160. package/lib/chart/parallel.js +18 -0
  161. package/lib/chart/pictorialBar.js +18 -0
  162. package/lib/chart/pie/PieSeries.js +39 -2
  163. package/lib/chart/pie/PieView.js +19 -0
  164. package/lib/chart/pie/labelLayout.js +18 -0
  165. package/lib/chart/pie/pieLayout.js +19 -1
  166. package/lib/chart/pie.js +18 -0
  167. package/lib/chart/radar/RadarSeries.js +21 -2
  168. package/lib/chart/radar/RadarView.js +18 -0
  169. package/lib/chart/radar/backwardCompat.js +18 -0
  170. package/lib/chart/radar/radarLayout.js +19 -1
  171. package/lib/chart/radar.js +18 -0
  172. package/lib/chart/sankey/SankeySeries.js +26 -0
  173. package/lib/chart/sankey/SankeyView.js +62 -10
  174. package/lib/chart/sankey/sankeyAction.js +34 -0
  175. package/lib/chart/sankey/sankeyLayout.js +68 -19
  176. package/lib/chart/sankey/sankeyVisual.js +49 -19
  177. package/lib/chart/sankey.js +20 -0
  178. package/lib/chart/scatter/ScatterSeries.js +20 -2
  179. package/lib/chart/scatter/ScatterView.js +18 -0
  180. package/lib/chart/scatter.js +18 -0
  181. package/lib/chart/sunburst/SunburstPiece.js +70 -19
  182. package/lib/chart/sunburst/SunburstSeries.js +18 -0
  183. package/lib/chart/sunburst/SunburstView.js +39 -20
  184. package/lib/chart/sunburst/sunburstAction.js +19 -0
  185. package/lib/chart/sunburst/sunburstLayout.js +18 -0
  186. package/lib/chart/sunburst.js +18 -0
  187. package/lib/chart/themeRiver/ThemeRiverSeries.js +19 -1
  188. package/lib/chart/themeRiver/ThemeRiverView.js +19 -0
  189. package/lib/chart/themeRiver/themeRiverLayout.js +19 -0
  190. package/lib/chart/themeRiver/themeRiverVisual.js +19 -0
  191. package/lib/chart/themeRiver.js +18 -0
  192. package/lib/chart/tree/TreeSeries.js +40 -3
  193. package/lib/chart/tree/TreeView.js +32 -6
  194. package/lib/chart/tree/layoutHelper.js +19 -0
  195. package/lib/chart/tree/traversalHelper.js +19 -0
  196. package/lib/chart/tree/treeAction.js +18 -0
  197. package/lib/chart/tree/treeLayout.js +137 -0
  198. package/lib/chart/tree.js +20 -5
  199. package/lib/chart/treemap/Breadcrumb.js +19 -0
  200. package/lib/chart/treemap/TreemapSeries.js +18 -0
  201. package/lib/chart/treemap/TreemapView.js +18 -0
  202. package/lib/chart/treemap/helper.js +18 -0
  203. package/lib/chart/treemap/treemapAction.js +19 -0
  204. package/lib/chart/treemap/treemapLayout.js +18 -0
  205. package/lib/chart/treemap/treemapVisual.js +18 -0
  206. package/lib/chart/treemap.js +18 -0
  207. package/lib/component/axis/AngleAxisView.js +59 -27
  208. package/lib/component/axis/AxisBuilder.js +59 -73
  209. package/lib/component/axis/AxisView.js +19 -0
  210. package/lib/component/axis/CartesianAxisView.js +71 -39
  211. package/lib/component/axis/ParallelAxisView.js +18 -0
  212. package/lib/component/axis/RadiusAxisView.js +26 -4
  213. package/lib/component/axis/SingleAxisView.js +25 -14
  214. package/lib/component/axis/parallelAxisAction.js +19 -0
  215. package/lib/component/axisPointer/AxisPointerModel.js +18 -0
  216. package/lib/component/axisPointer/AxisPointerView.js +18 -0
  217. package/lib/component/axisPointer/BaseAxisPointer.js +19 -0
  218. package/lib/component/axisPointer/CartesianAxisPointer.js +20 -2
  219. package/lib/component/axisPointer/PolarAxisPointer.js +19 -1
  220. package/lib/component/axisPointer/SingleAxisPointer.js +19 -1
  221. package/lib/component/axisPointer/axisTrigger.js +20 -1
  222. package/lib/component/axisPointer/findPointFromSeries.js +19 -0
  223. package/lib/component/axisPointer/globalListener.js +19 -0
  224. package/lib/component/axisPointer/modelHelper.js +20 -1
  225. package/lib/component/axisPointer/viewHelper.js +20 -0
  226. package/lib/component/axisPointer.js +18 -0
  227. package/lib/component/brush/BrushModel.js +25 -1
  228. package/lib/component/brush/BrushView.js +23 -0
  229. package/lib/component/brush/brushAction.js +19 -0
  230. package/lib/component/brush/preprocessor.js +18 -0
  231. package/lib/component/brush/selector.js +18 -0
  232. package/lib/component/brush/visualEncoding.js +18 -0
  233. package/lib/component/brush.js +19 -0
  234. package/lib/component/calendar/CalendarView.js +18 -0
  235. package/lib/component/dataZoom/AxisProxy.js +42 -23
  236. package/lib/component/dataZoom/DataZoomModel.js +18 -0
  237. package/lib/component/dataZoom/DataZoomView.js +18 -0
  238. package/lib/component/dataZoom/InsideZoomModel.js +18 -0
  239. package/lib/component/dataZoom/InsideZoomView.js +36 -13
  240. package/lib/component/dataZoom/SelectZoomModel.js +18 -0
  241. package/lib/component/dataZoom/SelectZoomView.js +18 -0
  242. package/lib/component/dataZoom/SliderZoomModel.js +18 -0
  243. package/lib/component/dataZoom/SliderZoomView.js +29 -6
  244. package/lib/component/dataZoom/dataZoomAction.js +18 -0
  245. package/lib/component/dataZoom/dataZoomProcessor.js +23 -1
  246. package/lib/component/dataZoom/helper.js +18 -0
  247. package/lib/component/dataZoom/history.js +18 -0
  248. package/lib/component/dataZoom/roams.js +19 -18
  249. package/lib/component/dataZoom/typeDefaulter.js +18 -0
  250. package/lib/component/dataset.js +56 -3
  251. package/lib/component/geo/GeoView.js +18 -0
  252. package/lib/component/geo.js +18 -0
  253. package/lib/component/graphic.js +18 -0
  254. package/lib/component/gridSimple.js +18 -0
  255. package/lib/component/helper/BrushController.js +18 -0
  256. package/lib/component/helper/BrushTargetManager.js +18 -0
  257. package/lib/component/helper/MapDraw.js +18 -0
  258. package/lib/component/helper/RoamController.js +19 -0
  259. package/lib/component/helper/brushHelper.js +18 -0
  260. package/lib/component/helper/cursorHelper.js +18 -0
  261. package/lib/component/helper/interactionMutex.js +18 -0
  262. package/lib/component/helper/listComponent.js +19 -0
  263. package/lib/component/helper/roamHelper.js +19 -0
  264. package/lib/component/helper/selectableMixin.js +21 -16
  265. package/lib/component/helper/sliderMove.js +19 -0
  266. package/lib/component/legend/LegendModel.js +25 -6
  267. package/lib/component/legend/LegendView.js +41 -12
  268. package/lib/component/legend/ScrollableLegendModel.js +19 -0
  269. package/lib/component/legend/ScrollableLegendView.js +19 -0
  270. package/lib/component/legend/legendAction.js +18 -0
  271. package/lib/component/legend/legendFilter.js +18 -0
  272. package/lib/component/legend/scrollableLegendAction.js +19 -0
  273. package/lib/component/legend.js +18 -0
  274. package/lib/component/markArea.js +18 -0
  275. package/lib/component/markLine.js +18 -0
  276. package/lib/component/markPoint.js +18 -0
  277. package/lib/component/marker/MarkAreaModel.js +18 -0
  278. package/lib/component/marker/MarkAreaView.js +20 -2
  279. package/lib/component/marker/MarkLineModel.js +18 -0
  280. package/lib/component/marker/MarkLineView.js +20 -2
  281. package/lib/component/marker/MarkPointModel.js +18 -0
  282. package/lib/component/marker/MarkPointView.js +20 -4
  283. package/lib/component/marker/MarkerModel.js +19 -1
  284. package/lib/component/marker/MarkerView.js +18 -0
  285. package/lib/component/marker/markerHelper.js +58 -17
  286. package/lib/component/parallel.js +18 -0
  287. package/lib/component/polar.js +18 -0
  288. package/lib/component/radar/RadarView.js +22 -4
  289. package/lib/component/singleAxis.js +18 -0
  290. package/lib/component/timeline/SliderTimelineModel.js +18 -0
  291. package/lib/component/timeline/SliderTimelineView.js +42 -33
  292. package/lib/component/timeline/TimelineAxis.js +24 -35
  293. package/lib/component/timeline/TimelineModel.js +18 -0
  294. package/lib/component/timeline/TimelineView.js +18 -0
  295. package/lib/component/timeline/preprocessor.js +18 -0
  296. package/lib/component/timeline/timelineAction.js +18 -0
  297. package/lib/component/timeline/typeDefaulter.js +18 -0
  298. package/lib/component/timeline.js +19 -0
  299. package/lib/component/title.js +19 -0
  300. package/lib/component/toolbox/ToolboxModel.js +20 -2
  301. package/lib/component/toolbox/ToolboxView.js +18 -0
  302. package/lib/component/toolbox/feature/Brush.js +18 -0
  303. package/lib/component/toolbox/feature/DataView.js +18 -0
  304. package/lib/component/toolbox/feature/DataZoom.js +22 -1
  305. package/lib/component/toolbox/feature/MagicType.js +18 -0
  306. package/lib/component/toolbox/feature/Restore.js +18 -0
  307. package/lib/component/toolbox/feature/SaveAsImage.js +18 -0
  308. package/lib/component/toolbox/featureManager.js +18 -0
  309. package/lib/component/tooltip/TooltipContent.js +18 -0
  310. package/lib/component/tooltip/TooltipModel.js +18 -0
  311. package/lib/component/tooltip/TooltipView.js +19 -1
  312. package/lib/component/tooltip.js +18 -0
  313. package/lib/component/visualMap/ContinuousModel.js +19 -1
  314. package/lib/component/visualMap/ContinuousView.js +18 -0
  315. package/lib/component/visualMap/PiecewiseModel.js +20 -1
  316. package/lib/component/visualMap/PiecewiseView.js +18 -0
  317. package/lib/component/visualMap/VisualMapModel.js +32 -1
  318. package/lib/component/visualMap/VisualMapView.js +18 -0
  319. package/lib/component/visualMap/helper.js +19 -0
  320. package/lib/component/visualMap/preprocessor.js +18 -0
  321. package/lib/component/visualMap/typeDefaulter.js +18 -0
  322. package/lib/component/visualMap/visualEncoding.js +21 -1
  323. package/lib/component/visualMap/visualMapAction.js +18 -0
  324. package/lib/component/visualMapContinuous.js +19 -0
  325. package/lib/component/visualMapPiecewise.js +19 -0
  326. package/lib/config.js +18 -0
  327. package/lib/coord/Axis.js +166 -87
  328. package/lib/coord/View.js +19 -0
  329. package/lib/coord/axisDefault.js +52 -42
  330. package/lib/coord/axisHelper.js +136 -89
  331. package/lib/coord/axisModelCommonMixin.js +18 -8
  332. package/lib/coord/axisModelCreator.js +26 -3
  333. package/lib/coord/axisTickLabelBuilder.js +350 -0
  334. package/lib/coord/calendar/Calendar.js +20 -2
  335. package/lib/coord/calendar/CalendarModel.js +19 -0
  336. package/lib/coord/calendar/prepareCustom.js +18 -0
  337. package/lib/coord/cartesian/Axis2D.js +24 -16
  338. package/lib/coord/cartesian/AxisModel.js +18 -0
  339. package/lib/coord/cartesian/Cartesian.js +19 -0
  340. package/lib/coord/cartesian/Cartesian2D.js +26 -4
  341. package/lib/coord/cartesian/Grid.js +71 -79
  342. package/lib/coord/cartesian/GridModel.js +18 -0
  343. package/lib/{component/axis → coord/cartesian}/cartesianAxisHelper.js +29 -9
  344. package/lib/coord/cartesian/prepareCustom.js +18 -0
  345. package/lib/coord/geo/Geo.js +18 -0
  346. package/lib/coord/geo/GeoModel.js +18 -0
  347. package/lib/coord/geo/Region.js +19 -0
  348. package/lib/coord/geo/fix/diaoyuIsland.js +18 -0
  349. package/lib/coord/geo/fix/geoCoord.js +18 -0
  350. package/lib/coord/geo/fix/nanhai.js +18 -0
  351. package/lib/coord/geo/fix/textCoord.js +18 -0
  352. package/lib/coord/geo/geoCreator.js +19 -0
  353. package/lib/coord/geo/parseGeoJson.js +19 -0
  354. package/lib/coord/geo/prepareCustom.js +23 -3
  355. package/lib/coord/parallel/AxisModel.js +31 -4
  356. package/lib/coord/parallel/Parallel.js +35 -12
  357. package/lib/coord/parallel/ParallelAxis.js +19 -0
  358. package/lib/coord/parallel/ParallelModel.js +18 -0
  359. package/lib/coord/parallel/parallelCreator.js +19 -0
  360. package/lib/coord/parallel/parallelPreprocessor.js +18 -0
  361. package/lib/coord/polar/AngleAxis.js +18 -0
  362. package/lib/coord/polar/AxisModel.js +18 -0
  363. package/lib/coord/polar/Polar.js +19 -0
  364. package/lib/coord/polar/PolarModel.js +18 -0
  365. package/lib/coord/polar/RadiusAxis.js +18 -0
  366. package/lib/coord/polar/polarCreator.js +24 -3
  367. package/lib/coord/polar/prepareCustom.js +18 -0
  368. package/lib/coord/radar/IndicatorAxis.js +18 -0
  369. package/lib/coord/radar/Radar.js +18 -0
  370. package/lib/coord/radar/RadarModel.js +18 -0
  371. package/lib/coord/single/AxisModel.js +18 -0
  372. package/lib/coord/single/Single.js +19 -0
  373. package/lib/coord/single/SingleAxis.js +19 -5
  374. package/lib/coord/single/prepareCustom.js +18 -0
  375. package/lib/{component/axis → coord/single}/singleAxisHelper.js +20 -2
  376. package/lib/coord/single/singleCreator.js +19 -0
  377. package/lib/data/DataDiffer.js +18 -0
  378. package/lib/data/Graph.js +19 -0
  379. package/lib/data/List.js +413 -201
  380. package/lib/data/OrdinalMeta.js +19 -0
  381. package/lib/data/Source.js +19 -0
  382. package/lib/data/Tree.js +19 -0
  383. package/lib/data/helper/completeDimensions.js +63 -22
  384. package/lib/data/helper/createDimensions.js +23 -4
  385. package/lib/data/helper/dataProvider.js +63 -6
  386. package/lib/data/helper/dataStackHelper.js +162 -0
  387. package/lib/data/helper/dimensionHelper.js +46 -10
  388. package/lib/data/helper/linkList.js +19 -0
  389. package/lib/data/helper/sourceHelper.js +19 -0
  390. package/lib/data/helper/sourceType.js +18 -0
  391. package/lib/echarts.js +128 -118
  392. package/lib/export.js +19 -0
  393. package/lib/helper.js +41 -0
  394. package/lib/lang.js +18 -0
  395. package/lib/langEN.js +18 -0
  396. package/lib/langFI.js +18 -0
  397. package/lib/langTH.js +18 -0
  398. package/lib/layout/barGrid.js +178 -53
  399. package/lib/layout/barPolar.js +88 -71
  400. package/lib/layout/points.js +39 -4
  401. package/lib/loading/default.js +18 -0
  402. package/lib/model/Component.js +19 -0
  403. package/lib/model/Global.js +30 -2
  404. package/lib/model/Model.js +19 -0
  405. package/lib/model/OptionManager.js +19 -0
  406. package/lib/model/Series.js +23 -5
  407. package/lib/model/globalDefault.js +21 -5
  408. package/lib/model/mixin/areaStyle.js +18 -0
  409. package/lib/model/mixin/boxLayout.js +18 -0
  410. package/lib/model/mixin/colorPalette.js +27 -0
  411. package/lib/model/mixin/dataFormat.js +20 -1
  412. package/lib/model/mixin/itemStyle.js +18 -0
  413. package/lib/model/mixin/lineStyle.js +18 -0
  414. package/lib/model/mixin/makeStyleMapper.js +18 -0
  415. package/lib/model/mixin/textStyle.js +18 -0
  416. package/lib/model/referHelper.js +19 -0
  417. package/lib/preprocessor/backwardCompat.js +18 -0
  418. package/lib/preprocessor/helper/compatStyle.js +42 -15
  419. package/lib/processor/dataFilter.js +19 -1
  420. package/lib/processor/dataSample.js +27 -5
  421. package/lib/processor/dataStack.js +118 -0
  422. package/lib/scale/Interval.js +19 -14
  423. package/lib/scale/Log.js +22 -3
  424. package/lib/scale/Ordinal.js +27 -2
  425. package/lib/scale/Scale.js +27 -16
  426. package/lib/scale/Time.js +18 -0
  427. package/lib/scale/helper.js +19 -0
  428. package/lib/stream/Scheduler.js +123 -37
  429. package/lib/stream/task.js +165 -14
  430. package/lib/theme/dark.js +18 -0
  431. package/lib/theme/light.js +18 -0
  432. package/lib/util/KDTree.js +19 -0
  433. package/lib/util/animation.js +19 -0
  434. package/lib/util/array/nest.js +19 -0
  435. package/lib/util/clazz.js +18 -0
  436. package/lib/util/component.js +19 -0
  437. package/lib/util/format.js +36 -11
  438. package/lib/util/graphic.js +19 -0
  439. package/lib/util/layout.js +18 -0
  440. package/lib/util/model.js +33 -6
  441. package/lib/util/number.js +18 -0
  442. package/lib/util/quickSelect.js +19 -0
  443. package/lib/util/symbol.js +18 -0
  444. package/lib/util/throttle.js +26 -1
  445. package/lib/view/Chart.js +44 -7
  446. package/lib/view/Component.js +18 -0
  447. package/lib/visual/VisualMapping.js +28 -0
  448. package/lib/visual/aria.js +18 -0
  449. package/lib/visual/dataColor.js +19 -1
  450. package/lib/visual/seriesColor.js +19 -1
  451. package/lib/visual/symbol.js +28 -2
  452. package/lib/visual/visualDefault.js +19 -0
  453. package/lib/visual/visualSolution.js +24 -3
  454. package/licenses/LICENSE-d3 +27 -0
  455. package/licenses/LICENSE-zrender +29 -0
  456. package/map/js/china-contour.js +19 -0
  457. package/map/js/china.js +19 -0
  458. package/map/js/province/anhui.js +19 -0
  459. package/map/js/province/aomen.js +19 -0
  460. package/map/js/province/beijing.js +19 -0
  461. package/map/js/province/chongqing.js +19 -0
  462. package/map/js/province/fujian.js +19 -0
  463. package/map/js/province/gansu.js +19 -0
  464. package/map/js/province/guangdong.js +19 -0
  465. package/map/js/province/guangxi.js +19 -0
  466. package/map/js/province/guizhou.js +19 -0
  467. package/map/js/province/hainan.js +19 -0
  468. package/map/js/province/hebei.js +19 -0
  469. package/map/js/province/heilongjiang.js +19 -0
  470. package/map/js/province/henan.js +19 -0
  471. package/map/js/province/hubei.js +19 -0
  472. package/map/js/province/hunan.js +19 -0
  473. package/map/js/province/jiangsu.js +19 -0
  474. package/map/js/province/jiangxi.js +19 -0
  475. package/map/js/province/jilin.js +19 -0
  476. package/map/js/province/liaoning.js +19 -0
  477. package/map/js/province/neimenggu.js +19 -0
  478. package/map/js/province/ningxia.js +19 -0
  479. package/map/js/province/qinghai.js +19 -0
  480. package/map/js/province/shandong.js +19 -0
  481. package/map/js/province/shanghai.js +19 -0
  482. package/map/js/province/shanxi.js +19 -0
  483. package/map/js/province/shanxi1.js +19 -0
  484. package/map/js/province/sichuan.js +19 -0
  485. package/map/js/province/taiwan.js +19 -0
  486. package/map/js/province/tianjin.js +19 -0
  487. package/map/js/province/xianggang.js +19 -0
  488. package/map/js/province/xinjiang.js +19 -0
  489. package/map/js/province/xizang.js +19 -0
  490. package/map/js/province/yunnan.js +19 -0
  491. package/map/js/province/zhejiang.js +19 -0
  492. package/map/js/world.js +19 -0
  493. package/package.json +3 -3
  494. package/src/CoordinateSystem.js +19 -0
  495. package/src/ExtensionAPI.js +19 -0
  496. package/src/action/createDataSelectAction.js +19 -0
  497. package/src/action/geoRoam.js +19 -0
  498. package/src/action/roamHelper.js +19 -0
  499. package/src/chart/bar/BarSeries.js +44 -1
  500. package/src/chart/bar/BarView.js +128 -17
  501. package/src/chart/bar/BaseBarSeries.js +24 -0
  502. package/src/chart/bar/PictorialBarSeries.js +19 -0
  503. package/src/chart/bar/PictorialBarView.js +19 -0
  504. package/src/chart/bar/barItemStyle.js +19 -0
  505. package/src/chart/bar/helper.js +20 -1
  506. package/src/chart/bar.js +28 -7
  507. package/src/chart/boxplot/BoxplotSeries.js +26 -1
  508. package/src/chart/boxplot/BoxplotView.js +152 -21
  509. package/src/chart/boxplot/boxplotLayout.js +75 -71
  510. package/src/chart/boxplot/boxplotVisual.js +19 -0
  511. package/src/chart/boxplot.js +19 -0
  512. package/src/chart/candlestick/CandlestickSeries.js +35 -4
  513. package/src/chart/candlestick/CandlestickView.js +272 -24
  514. package/src/chart/candlestick/candlestickLayout.js +151 -97
  515. package/src/chart/candlestick/candlestickVisual.js +66 -17
  516. package/src/chart/candlestick/preprocessor.js +19 -0
  517. package/src/chart/candlestick.js +19 -0
  518. package/src/chart/chord/ChordSeries.js +19 -0
  519. package/src/chart/chord/ChordView.js +19 -0
  520. package/src/chart/chord/Ribbon.js +19 -0
  521. package/src/chart/chord/chordCircularLayout.js +19 -0
  522. package/src/chart/chord.js +19 -0
  523. package/src/chart/custom.js +23 -6
  524. package/src/chart/effectScatter/EffectScatterSeries.js +19 -0
  525. package/src/chart/effectScatter/EffectScatterView.js +19 -0
  526. package/src/chart/effectScatter.js +19 -0
  527. package/src/chart/funnel/FunnelSeries.js +19 -0
  528. package/src/chart/funnel/FunnelView.js +19 -0
  529. package/src/chart/funnel/funnelLayout.js +19 -0
  530. package/src/chart/funnel.js +19 -0
  531. package/src/chart/gauge/GaugeSeries.js +19 -0
  532. package/src/chart/gauge/GaugeView.js +19 -0
  533. package/src/chart/gauge/PointerPath.js +19 -0
  534. package/src/chart/gauge.js +19 -0
  535. package/src/chart/graph/GraphSeries.js +27 -0
  536. package/src/chart/graph/GraphView.js +19 -0
  537. package/src/chart/graph/adjustEdge.js +19 -0
  538. package/src/chart/graph/backwardCompat.js +19 -0
  539. package/src/chart/graph/categoryFilter.js +19 -0
  540. package/src/chart/graph/categoryVisual.js +19 -0
  541. package/src/chart/graph/circularLayout.js +19 -0
  542. package/src/chart/graph/circularLayoutHelper.js +19 -0
  543. package/src/chart/graph/createView.js +19 -0
  544. package/src/chart/graph/edgeVisual.js +19 -0
  545. package/src/chart/graph/forceHelper.js +19 -0
  546. package/src/chart/graph/forceLayout.js +19 -0
  547. package/src/chart/graph/graphAction.js +19 -0
  548. package/src/chart/graph/simpleLayout.js +19 -0
  549. package/src/chart/graph/simpleLayoutHelper.js +19 -0
  550. package/src/chart/graph.js +19 -0
  551. package/src/chart/heatmap/HeatmapLayer.js +19 -0
  552. package/src/chart/heatmap/HeatmapSeries.js +22 -1
  553. package/src/chart/heatmap/HeatmapView.js +19 -0
  554. package/src/chart/heatmap.js +19 -0
  555. package/src/chart/helper/EffectLine.js +19 -0
  556. package/src/chart/helper/EffectPolyline.js +19 -0
  557. package/src/chart/helper/EffectSymbol.js +19 -0
  558. package/src/chart/helper/LargeLineDraw.js +20 -0
  559. package/src/chart/helper/LargeSymbolDraw.js +19 -0
  560. package/src/chart/helper/Line.js +38 -16
  561. package/src/chart/helper/LineDraw.js +27 -0
  562. package/src/chart/helper/LinePath.js +19 -0
  563. package/src/chart/helper/Polyline.js +19 -0
  564. package/src/chart/helper/Symbol.js +68 -15
  565. package/src/chart/helper/SymbolDraw.js +61 -18
  566. package/src/chart/helper/createGraphFromNodeEdge.js +29 -6
  567. package/src/chart/helper/createGraphFromNodeMatrix.js +19 -0
  568. package/src/chart/helper/createListFromArray.js +32 -7
  569. package/src/chart/helper/createListSimply.js +19 -0
  570. package/src/chart/helper/createRenderPlanner.js +22 -3
  571. package/src/chart/helper/labelHelper.js +19 -0
  572. package/src/chart/helper/treeHelper.js +19 -0
  573. package/src/chart/helper/whiskerBoxCommon.js +19 -24
  574. package/src/chart/line/LineSeries.js +35 -11
  575. package/src/chart/line/LineView.js +174 -105
  576. package/src/chart/line/helper.js +106 -0
  577. package/src/chart/line/lineAnimationDiff.js +32 -39
  578. package/src/chart/line/poly.js +149 -0
  579. package/src/chart/line.js +19 -0
  580. package/src/chart/lines/LinesSeries.js +27 -7
  581. package/src/chart/lines/LinesView.js +21 -1
  582. package/src/chart/lines/linesLayout.js +20 -1
  583. package/src/chart/lines/linesVisual.js +19 -0
  584. package/src/chart/lines.js +19 -0
  585. package/src/chart/map/MapSeries.js +42 -5
  586. package/src/chart/map/MapView.js +19 -0
  587. package/src/chart/map/backwardCompat.js +19 -0
  588. package/src/chart/map/mapDataStatistic.js +19 -0
  589. package/src/chart/map/mapSymbolLayout.js +19 -0
  590. package/src/chart/map/mapVisual.js +19 -0
  591. package/src/chart/map.js +19 -0
  592. package/src/chart/parallel/ParallelSeries.js +21 -7
  593. package/src/chart/parallel/ParallelView.js +90 -58
  594. package/src/chart/parallel/parallelVisual.js +39 -14
  595. package/src/chart/parallel.js +19 -0
  596. package/src/chart/pictorialBar.js +19 -0
  597. package/src/chart/pie/PieSeries.js +37 -2
  598. package/src/chart/pie/PieView.js +19 -0
  599. package/src/chart/pie/labelLayout.js +19 -0
  600. package/src/chart/pie/pieLayout.js +20 -1
  601. package/src/chart/pie.js +19 -0
  602. package/src/chart/radar/RadarSeries.js +21 -2
  603. package/src/chart/radar/RadarView.js +19 -0
  604. package/src/chart/radar/backwardCompat.js +19 -0
  605. package/src/chart/radar/radarLayout.js +20 -1
  606. package/src/chart/radar.js +19 -0
  607. package/src/chart/sankey/SankeySeries.js +28 -0
  608. package/src/chart/sankey/SankeyView.js +62 -11
  609. package/src/chart/sankey/sankeyAction.js +31 -0
  610. package/src/chart/sankey/sankeyLayout.js +71 -17
  611. package/src/chart/sankey/sankeyVisual.js +49 -25
  612. package/src/chart/sankey.js +20 -0
  613. package/src/chart/scatter/ScatterSeries.js +21 -2
  614. package/src/chart/scatter/ScatterView.js +19 -0
  615. package/src/chart/scatter.js +19 -0
  616. package/src/chart/sunburst/SunburstPiece.js +72 -20
  617. package/src/chart/sunburst/SunburstSeries.js +19 -0
  618. package/src/chart/sunburst/SunburstView.js +39 -17
  619. package/src/chart/sunburst/sunburstAction.js +19 -0
  620. package/src/chart/sunburst/sunburstLayout.js +19 -0
  621. package/src/chart/sunburst.js +19 -0
  622. package/src/chart/themeRiver/ThemeRiverSeries.js +19 -1
  623. package/src/chart/themeRiver/ThemeRiverView.js +19 -0
  624. package/src/chart/themeRiver/themeRiverLayout.js +19 -0
  625. package/src/chart/themeRiver/themeRiverVisual.js +19 -0
  626. package/src/chart/themeRiver.js +19 -0
  627. package/src/chart/tree/TreeSeries.js +38 -2
  628. package/src/chart/tree/TreeView.js +31 -5
  629. package/src/chart/tree/layoutHelper.js +19 -0
  630. package/src/chart/tree/traversalHelper.js +19 -0
  631. package/src/chart/tree/treeAction.js +19 -0
  632. package/src/chart/tree/treeLayout.js +128 -0
  633. package/src/chart/tree.js +21 -4
  634. package/src/chart/treemap/Breadcrumb.js +19 -0
  635. package/src/chart/treemap/TreemapSeries.js +19 -0
  636. package/src/chart/treemap/TreemapView.js +19 -0
  637. package/src/chart/treemap/helper.js +19 -0
  638. package/src/chart/treemap/treemapAction.js +19 -0
  639. package/src/chart/treemap/treemapLayout.js +19 -0
  640. package/src/chart/treemap/treemapVisual.js +19 -0
  641. package/src/chart/treemap.js +19 -0
  642. package/src/component/angleAxis.js +19 -0
  643. package/src/component/axis/AngleAxisView.js +62 -25
  644. package/src/component/axis/AxisBuilder.js +68 -94
  645. package/src/component/axis/AxisView.js +19 -0
  646. package/src/component/axis/CartesianAxisView.js +69 -54
  647. package/src/component/axis/ParallelAxisView.js +19 -0
  648. package/src/component/axis/RadiusAxisView.js +26 -4
  649. package/src/component/axis/SingleAxisView.js +26 -18
  650. package/src/component/axis/parallelAxisAction.js +19 -0
  651. package/src/component/axis.js +19 -0
  652. package/src/component/axisPointer/AxisPointerModel.js +19 -0
  653. package/src/component/axisPointer/AxisPointerView.js +19 -0
  654. package/src/component/axisPointer/BaseAxisPointer.js +19 -0
  655. package/src/component/axisPointer/CartesianAxisPointer.js +21 -2
  656. package/src/component/axisPointer/PolarAxisPointer.js +20 -1
  657. package/src/component/axisPointer/SingleAxisPointer.js +20 -1
  658. package/src/component/axisPointer/axisTrigger.js +21 -1
  659. package/src/component/axisPointer/findPointFromSeries.js +19 -0
  660. package/src/component/axisPointer/globalListener.js +19 -0
  661. package/src/component/axisPointer/modelHelper.js +21 -1
  662. package/src/component/axisPointer/viewHelper.js +20 -0
  663. package/src/component/axisPointer.js +19 -0
  664. package/src/component/brush/BrushModel.js +26 -1
  665. package/src/component/brush/BrushView.js +24 -0
  666. package/src/component/brush/brushAction.js +19 -0
  667. package/src/component/brush/preprocessor.js +19 -0
  668. package/src/component/brush/selector.js +19 -0
  669. package/src/component/brush/visualEncoding.js +19 -0
  670. package/src/component/brush.js +19 -0
  671. package/src/component/calendar/CalendarView.js +19 -0
  672. package/src/component/calendar.js +19 -0
  673. package/src/component/dataZoom/AxisProxy.js +42 -20
  674. package/src/component/dataZoom/DataZoomModel.js +19 -0
  675. package/src/component/dataZoom/DataZoomView.js +19 -0
  676. package/src/component/dataZoom/InsideZoomModel.js +19 -0
  677. package/src/component/dataZoom/InsideZoomView.js +37 -10
  678. package/src/component/dataZoom/SelectZoomModel.js +19 -0
  679. package/src/component/dataZoom/SelectZoomView.js +19 -0
  680. package/src/component/dataZoom/SliderZoomModel.js +19 -0
  681. package/src/component/dataZoom/SliderZoomView.js +30 -5
  682. package/src/component/dataZoom/dataZoomAction.js +19 -0
  683. package/src/component/dataZoom/dataZoomProcessor.js +24 -1
  684. package/src/component/dataZoom/helper.js +19 -0
  685. package/src/component/dataZoom/history.js +19 -0
  686. package/src/component/dataZoom/roams.js +20 -15
  687. package/src/component/dataZoom/typeDefaulter.js +19 -0
  688. package/src/component/dataZoom.js +19 -0
  689. package/src/component/dataZoomInside.js +19 -0
  690. package/src/component/dataZoomSelect.js +19 -0
  691. package/src/component/dataset.js +63 -3
  692. package/src/component/geo/GeoView.js +19 -0
  693. package/src/component/geo.js +19 -0
  694. package/src/component/graphic.js +19 -0
  695. package/src/component/grid.js +19 -0
  696. package/src/component/gridSimple.js +19 -0
  697. package/src/component/helper/BrushController.js +19 -0
  698. package/src/component/helper/BrushTargetManager.js +19 -0
  699. package/src/component/helper/MapDraw.js +19 -0
  700. package/src/component/helper/RoamController.js +19 -0
  701. package/src/component/helper/brushHelper.js +19 -0
  702. package/src/component/helper/cursorHelper.js +19 -0
  703. package/src/component/helper/interactionMutex.js +19 -0
  704. package/src/component/helper/listComponent.js +19 -0
  705. package/src/component/helper/roamHelper.js +19 -0
  706. package/src/component/helper/selectableMixin.js +22 -12
  707. package/src/component/helper/sliderMove.js +19 -0
  708. package/src/component/legend/LegendModel.js +25 -6
  709. package/src/component/legend/LegendView.js +51 -13
  710. package/src/component/legend/ScrollableLegendModel.js +19 -0
  711. package/src/component/legend/ScrollableLegendView.js +19 -0
  712. package/src/component/legend/legendAction.js +19 -0
  713. package/src/component/legend/legendFilter.js +19 -0
  714. package/src/component/legend/scrollableLegendAction.js +19 -0
  715. package/src/component/legend.js +19 -0
  716. package/src/component/legendScroll.js +19 -0
  717. package/src/component/markArea.js +19 -0
  718. package/src/component/markLine.js +19 -0
  719. package/src/component/markPoint.js +19 -0
  720. package/src/component/marker/MarkAreaModel.js +19 -0
  721. package/src/component/marker/MarkAreaView.js +22 -3
  722. package/src/component/marker/MarkLineModel.js +19 -0
  723. package/src/component/marker/MarkLineView.js +22 -3
  724. package/src/component/marker/MarkPointModel.js +19 -0
  725. package/src/component/marker/MarkPointView.js +21 -3
  726. package/src/component/marker/MarkerModel.js +20 -1
  727. package/src/component/marker/MarkerView.js +19 -0
  728. package/src/component/marker/markerHelper.js +60 -20
  729. package/src/component/parallel.js +19 -0
  730. package/src/component/parallelAxis.js +19 -0
  731. package/src/component/polar.js +19 -0
  732. package/src/component/radar/RadarView.js +23 -4
  733. package/src/component/radar.js +19 -0
  734. package/src/component/radiusAxis.js +19 -0
  735. package/src/component/singleAxis.js +19 -0
  736. package/src/component/timeline/SliderTimelineModel.js +19 -0
  737. package/src/component/timeline/SliderTimelineView.js +41 -33
  738. package/src/component/timeline/TimelineAxis.js +25 -43
  739. package/src/component/timeline/TimelineModel.js +19 -0
  740. package/src/component/timeline/TimelineView.js +19 -0
  741. package/src/component/timeline/preprocessor.js +19 -0
  742. package/src/component/timeline/timelineAction.js +19 -0
  743. package/src/component/timeline/typeDefaulter.js +19 -0
  744. package/src/component/timeline.js +19 -0
  745. package/src/component/title.js +19 -0
  746. package/src/component/toolbox/ToolboxModel.js +21 -2
  747. package/src/component/toolbox/ToolboxView.js +19 -0
  748. package/src/component/toolbox/feature/Brush.js +19 -0
  749. package/src/component/toolbox/feature/DataView.js +19 -0
  750. package/src/component/toolbox/feature/DataZoom.js +22 -0
  751. package/src/component/toolbox/feature/MagicType.js +19 -0
  752. package/src/component/toolbox/feature/Restore.js +19 -0
  753. package/src/component/toolbox/feature/SaveAsImage.js +19 -0
  754. package/src/component/toolbox/featureManager.js +19 -0
  755. package/src/component/toolbox.js +19 -0
  756. package/src/component/tooltip/TooltipContent.js +19 -0
  757. package/src/component/tooltip/TooltipModel.js +19 -0
  758. package/src/component/tooltip/TooltipView.js +20 -1
  759. package/src/component/tooltip.js +19 -0
  760. package/src/component/visualMap/ContinuousModel.js +20 -1
  761. package/src/component/visualMap/ContinuousView.js +19 -0
  762. package/src/component/visualMap/PiecewiseModel.js +20 -1
  763. package/src/component/visualMap/PiecewiseView.js +19 -0
  764. package/src/component/visualMap/VisualMapModel.js +31 -3
  765. package/src/component/visualMap/VisualMapView.js +19 -0
  766. package/src/component/visualMap/helper.js +19 -0
  767. package/src/component/visualMap/preprocessor.js +19 -0
  768. package/src/component/visualMap/typeDefaulter.js +19 -0
  769. package/src/component/visualMap/visualEncoding.js +23 -1
  770. package/src/component/visualMap/visualMapAction.js +19 -0
  771. package/src/component/visualMap.js +19 -0
  772. package/src/component/visualMapContinuous.js +19 -0
  773. package/src/component/visualMapPiecewise.js +19 -0
  774. package/src/config.js +19 -0
  775. package/src/coord/Axis.js +159 -100
  776. package/src/coord/View.js +19 -0
  777. package/src/coord/axisDefault.js +68 -41
  778. package/src/coord/axisHelper.js +142 -93
  779. package/src/coord/axisModelCommonMixin.js +19 -11
  780. package/src/coord/axisModelCreator.js +25 -2
  781. package/src/coord/axisTickLabelBuilder.js +369 -0
  782. package/src/coord/calendar/Calendar.js +24 -2
  783. package/src/coord/calendar/CalendarModel.js +19 -0
  784. package/src/coord/calendar/prepareCustom.js +20 -1
  785. package/src/coord/cartesian/Axis2D.js +25 -18
  786. package/src/coord/cartesian/AxisModel.js +19 -0
  787. package/src/coord/cartesian/Cartesian.js +19 -0
  788. package/src/coord/cartesian/Cartesian2D.js +27 -4
  789. package/src/coord/cartesian/Grid.js +65 -76
  790. package/src/coord/cartesian/GridModel.js +19 -0
  791. package/src/{component/axis → coord/cartesian}/cartesianAxisHelper.js +28 -9
  792. package/src/coord/cartesian/prepareCustom.js +19 -0
  793. package/src/coord/geo/Geo.js +19 -0
  794. package/src/coord/geo/GeoModel.js +19 -0
  795. package/src/coord/geo/Region.js +19 -0
  796. package/src/coord/geo/fix/diaoyuIsland.js +19 -0
  797. package/src/coord/geo/fix/geoCoord.js +19 -0
  798. package/src/coord/geo/fix/nanhai.js +19 -0
  799. package/src/coord/geo/fix/textCoord.js +19 -0
  800. package/src/coord/geo/geoCreator.js +19 -0
  801. package/src/coord/geo/parseGeoJson.js +19 -0
  802. package/src/coord/geo/prepareCustom.js +24 -3
  803. package/src/coord/parallel/AxisModel.js +32 -3
  804. package/src/coord/parallel/Parallel.js +38 -12
  805. package/src/coord/parallel/ParallelAxis.js +19 -0
  806. package/src/coord/parallel/ParallelModel.js +19 -0
  807. package/src/coord/parallel/parallelCreator.js +19 -0
  808. package/src/coord/parallel/parallelPreprocessor.js +19 -0
  809. package/src/coord/polar/AngleAxis.js +19 -0
  810. package/src/coord/polar/AxisModel.js +19 -0
  811. package/src/coord/polar/Polar.js +19 -0
  812. package/src/coord/polar/PolarModel.js +19 -0
  813. package/src/coord/polar/RadiusAxis.js +19 -0
  814. package/src/coord/polar/polarCreator.js +26 -3
  815. package/src/coord/polar/prepareCustom.js +19 -0
  816. package/src/coord/radar/IndicatorAxis.js +19 -0
  817. package/src/coord/radar/Radar.js +19 -0
  818. package/src/coord/radar/RadarModel.js +19 -0
  819. package/src/coord/single/AxisModel.js +19 -0
  820. package/src/coord/single/Single.js +19 -0
  821. package/src/coord/single/SingleAxis.js +19 -5
  822. package/src/coord/single/prepareCustom.js +19 -0
  823. package/src/{component/axis → coord/single}/singleAxisHelper.js +21 -4
  824. package/src/coord/single/singleCreator.js +19 -0
  825. package/src/data/DataDiffer.js +19 -0
  826. package/src/data/Graph.js +20 -1
  827. package/src/data/List.js +412 -207
  828. package/src/data/OrdinalMeta.js +19 -0
  829. package/src/data/Source.js +19 -0
  830. package/src/data/Tree.js +19 -0
  831. package/src/data/helper/completeDimensions.js +62 -29
  832. package/src/data/helper/createDimensions.js +23 -4
  833. package/src/data/helper/dataProvider.js +61 -6
  834. package/src/data/helper/dataStackHelper.js +162 -0
  835. package/src/data/helper/dimensionHelper.js +49 -10
  836. package/src/data/helper/linkList.js +19 -0
  837. package/src/data/helper/sourceHelper.js +19 -0
  838. package/src/data/helper/sourceType.js +19 -0
  839. package/src/echarts.js +127 -114
  840. package/src/export.js +19 -0
  841. package/src/helper.js +30 -1
  842. package/src/lang.js +19 -0
  843. package/src/langEN.js +19 -0
  844. package/src/langFI.js +19 -0
  845. package/src/langTH.js +19 -0
  846. package/src/layout/barGrid.js +174 -64
  847. package/src/layout/barPolar.js +81 -66
  848. package/src/layout/points.js +32 -4
  849. package/src/loading/default.js +19 -0
  850. package/src/model/Component.js +19 -0
  851. package/src/model/Global.js +29 -2
  852. package/src/model/Model.js +19 -0
  853. package/src/model/OptionManager.js +19 -0
  854. package/src/model/Series.js +23 -5
  855. package/src/model/globalDefault.js +23 -5
  856. package/src/model/mixin/areaStyle.js +19 -0
  857. package/src/model/mixin/boxLayout.js +19 -0
  858. package/src/model/mixin/colorPalette.js +26 -0
  859. package/src/model/mixin/dataFormat.js +20 -1
  860. package/src/model/mixin/itemStyle.js +19 -0
  861. package/src/model/mixin/lineStyle.js +19 -0
  862. package/src/model/mixin/makeStyleMapper.js +19 -0
  863. package/src/model/mixin/textStyle.js +19 -0
  864. package/src/model/referHelper.js +19 -0
  865. package/src/preprocessor/backwardCompat.js +19 -0
  866. package/src/preprocessor/helper/compatStyle.js +45 -15
  867. package/src/processor/dataFilter.js +20 -1
  868. package/src/processor/dataSample.js +29 -3
  869. package/src/processor/dataStack.js +129 -0
  870. package/src/scale/Interval.js +19 -12
  871. package/src/scale/Log.js +22 -3
  872. package/src/scale/Ordinal.js +28 -2
  873. package/src/scale/Scale.js +27 -13
  874. package/src/scale/Time.js +19 -0
  875. package/src/scale/helper.js +19 -0
  876. package/src/stream/Scheduler.js +124 -32
  877. package/src/stream/task.js +166 -16
  878. package/src/theme/dark.js +19 -0
  879. package/src/theme/light.js +19 -0
  880. package/src/util/KDTree.js +19 -0
  881. package/src/util/animation.js +19 -0
  882. package/src/util/array/nest.js +19 -0
  883. package/src/util/clazz.js +19 -0
  884. package/src/util/component.js +19 -0
  885. package/src/util/format.js +47 -20
  886. package/src/util/graphic.js +19 -0
  887. package/src/util/layout.js +19 -0
  888. package/src/util/model.js +33 -5
  889. package/src/util/number.js +19 -0
  890. package/src/util/quickSelect.js +19 -0
  891. package/src/util/symbol.js +19 -0
  892. package/src/util/throttle.js +27 -0
  893. package/src/view/Chart.js +48 -10
  894. package/src/view/Component.js +19 -0
  895. package/src/visual/VisualMapping.js +29 -0
  896. package/src/visual/aria.js +19 -0
  897. package/src/visual/dataColor.js +21 -1
  898. package/src/visual/seriesColor.js +20 -1
  899. package/src/visual/symbol.js +34 -2
  900. package/src/visual/visualDefault.js +19 -0
  901. package/src/visual/visualSolution.js +23 -3
  902. package/theme/dark.js +19 -0
  903. package/theme/infographic.js +19 -0
  904. package/theme/macarons.js +19 -0
  905. package/theme/roma.js +19 -0
  906. package/theme/shine.js +19 -0
  907. package/theme/vintage.js +19 -0
  908. package/build/rollup-plugin-ec-dev.js +0 -38
  909. package/lib/chart/helper/WhiskerBoxDraw.js +0 -201
  910. package/lib/chart/tree/commonLayout.js +0 -108
  911. package/lib/chart/tree/orthogonalLayout.js +0 -9
  912. package/lib/chart/tree/radialLayout.js +0 -9
  913. package/lib/component/dataset/DatasetModel.js +0 -29
  914. package/src/chart/helper/WhiskerBoxDraw.js +0 -213
  915. package/src/chart/tree/commonLayout.js +0 -96
  916. package/src/chart/tree/orthogonalLayout.js +0 -7
  917. package/src/chart/tree/radialLayout.js +0 -7
  918. package/src/component/dataset/DatasetModel.js +0 -31
@@ -6,6 +6,24 @@ var createListFromArray = require("../helper/createListFromArray");
6
6
 
7
7
  var SeriesModel = require("../../model/Series");
8
8
 
9
+ /*
10
+ * Licensed to the Apache Software Foundation (ASF) under one
11
+ * or more contributor license agreements. See the NOTICE file
12
+ * distributed with this work for additional information
13
+ * regarding copyright ownership. The ASF licenses this file
14
+ * to you under the Apache License, Version 2.0 (the
15
+ * "License"); you may not use this file except in compliance
16
+ * with the License. You may obtain a copy of the License at
17
+ *
18
+ * http://www.apache.org/licenses/LICENSE-2.0
19
+ *
20
+ * Unless required by applicable law or agreed to in writing,
21
+ * software distributed under the License is distributed on an
22
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ * KIND, either express or implied. See the License for the
24
+ * specific language governing permissions and limitations
25
+ * under the License.
26
+ */
9
27
  var _default = SeriesModel.extend({
10
28
  type: 'series.line',
11
29
  dependencies: ['grid', 'polar'],
@@ -14,9 +32,7 @@ var _default = SeriesModel.extend({
14
32
  },
15
33
  defaultOption: {
16
34
  zlevel: 0,
17
- // 一级层叠
18
35
  z: 2,
19
- // 二级层叠
20
36
  coordinateSystem: 'cartesian2d',
21
37
  legendHoverLink: true,
22
38
  hoverAnimation: true,
@@ -36,25 +52,30 @@ var _default = SeriesModel.extend({
36
52
  width: 2,
37
53
  type: 'solid'
38
54
  },
39
- // areaStyle: {origin: 'auto'},
55
+ // areaStyle: {
56
+ // origin of areaStyle. Valid values:
57
+ // `'auto'/null/undefined`: from axisLine to data
58
+ // `'start'`: from min to data
59
+ // `'end'`: from data to max
60
+ // origin: 'auto'
61
+ // },
40
62
  // false, 'start', 'end', 'middle'
41
63
  step: false,
42
64
  // Disabled if step is true
43
65
  smooth: false,
44
66
  smoothMonotone: null,
45
- // 拐点图形类型
46
67
  symbol: 'emptyCircle',
47
- // 拐点图形大小
48
68
  symbolSize: 4,
49
- // 拐点图形旋转控制
50
69
  symbolRotate: null,
51
- // 是否显示 symbol, 只有在 tooltip hover 的时候显示
52
70
  showSymbol: true,
53
- // 标志图形默认只有主轴显示(随主轴标签间隔隐藏策略)
54
- showAllSymbol: false,
55
- // 是否连接断点
71
+ // `false`: follow the label interval strategy.
72
+ // `true`: show all symbols.
73
+ // `'auto'`: If possible, show all symbols, otherwise
74
+ // follow the label interval strategy.
75
+ showAllSymbol: 'auto',
76
+ // Whether to connect break point.
56
77
  connectNulls: false,
57
- // 数据过滤,'average', 'max', 'min', 'sum'
78
+ // Sampling for large data. Can be: 'average', 'max', 'min', 'sum'.
58
79
  sampling: 'none',
59
80
  animationEasing: 'linear',
60
81
  // Disable progressive
@@ -21,6 +21,33 @@ var Polygon = _poly.Polygon;
21
21
 
22
22
  var ChartView = require("../../view/Chart");
23
23
 
24
+ var _number = require("../../util/number");
25
+
26
+ var round = _number.round;
27
+
28
+ var _helper = require("./helper");
29
+
30
+ var prepareDataCoordInfo = _helper.prepareDataCoordInfo;
31
+ var getStackedOnPoint = _helper.getStackedOnPoint;
32
+
33
+ /*
34
+ * Licensed to the Apache Software Foundation (ASF) under one
35
+ * or more contributor license agreements. See the NOTICE file
36
+ * distributed with this work for additional information
37
+ * regarding copyright ownership. The ASF licenses this file
38
+ * to you under the Apache License, Version 2.0 (the
39
+ * "License"); you may not use this file except in compliance
40
+ * with the License. You may obtain a copy of the License at
41
+ *
42
+ * http://www.apache.org/licenses/LICENSE-2.0
43
+ *
44
+ * Unless required by applicable law or agreed to in writing,
45
+ * software distributed under the License is distributed on an
46
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
47
+ * KIND, either express or implied. See the License for the
48
+ * specific language governing permissions and limitations
49
+ * under the License.
50
+ */
24
51
  // FIXME step not support polar
25
52
  function isPointsSame(points1, points2) {
26
53
  if (points1.length !== points2.length) {
@@ -40,7 +67,7 @@ function isPointsSame(points1, points2) {
40
67
  }
41
68
 
42
69
  function getSmooth(smooth) {
43
- return typeof smooth === 'number' ? smooth : smooth ? 0.3 : 0;
70
+ return typeof smooth === 'number' ? smooth : smooth ? 0.5 : 0;
44
71
  }
45
72
 
46
73
  function getAxisExtentWithGap(axis) {
@@ -56,84 +83,55 @@ function getAxisExtentWithGap(axis) {
56
83
 
57
84
  return extent;
58
85
  }
59
-
60
- function sign(val) {
61
- return val >= 0 ? 1 : -1;
62
- }
63
86
  /**
64
87
  * @param {module:echarts/coord/cartesian/Cartesian2D|module:echarts/coord/polar/Polar} coordSys
65
88
  * @param {module:echarts/data/List} data
89
+ * @param {Object} dataCoordInfo
66
90
  * @param {Array.<Array.<number>>} points
67
- * @param {string} origin origin of areaStyle. Valid values: 'auto', 'start',
68
- * 'end'.
69
- * auto: from axisLine to data
70
- * start: from min to data
71
- * end: from data to max
72
- * @private
73
91
  */
74
92
 
75
93
 
76
- function getStackedOnPoints(seriesModel, coordSys, data, origin) {
77
- var baseAxis = coordSys.getBaseAxis();
78
- var valueAxis = coordSys.getOtherAxis(baseAxis);
79
- var valueStart = 0;
80
- var extent = valueAxis.scale.getExtent();
81
-
82
- if (origin === 'start') {
83
- valueStart = extent[0];
84
- } else if (origin === 'end') {
85
- valueStart = extent[1];
86
- } else {
87
- // auto
88
- var extent = valueAxis.scale.getExtent();
89
-
90
- if (extent[0] > 0) {
91
- // Both positive
92
- valueStart = extent[0];
93
- } else if (extent[1] < 0) {
94
- // Both negative
95
- valueStart = extent[1];
96
- } // If is one positive, and one negative, onZero shall be true
97
-
94
+ function getStackedOnPoints(coordSys, data, dataCoordInfo) {
95
+ if (!dataCoordInfo.valueDim) {
96
+ return [];
98
97
  }
99
98
 
100
- var valueCoordDim = valueAxis.dim;
101
- var baseDataOffset = valueCoordDim === 'x' || valueCoordDim === 'radius' ? 1 : 0;
102
- var valueDim = data.mapDimension(valueCoordDim);
103
- return data.mapArray(valueDim ? [valueDim] : [], function (val, idx) {
104
- var stackedOnSameSign;
105
- var stackedOn = data.stackedOn; // Find first stacked value with same sign
99
+ var points = [];
106
100
 
107
- while (stackedOn && sign(stackedOn.get(valueDim, idx)) === sign(val)) {
108
- stackedOnSameSign = stackedOn;
109
- break;
110
- }
101
+ for (var idx = 0, len = data.count(); idx < len; idx++) {
102
+ points.push(getStackedOnPoint(dataCoordInfo, coordSys, data, idx));
103
+ }
111
104
 
112
- var stackedData = [];
113
- stackedData[baseDataOffset] = data.get(baseAxis.dim, idx);
114
- stackedData[1 - baseDataOffset] = stackedOnSameSign ? stackedOnSameSign.get(valueDim, idx, true) : valueStart;
115
- return coordSys.dataToPoint(stackedData);
116
- }, true);
105
+ return points;
117
106
  }
118
107
 
119
- function createGridClipShape(cartesian, hasAnimation, seriesModel) {
108
+ function createGridClipShape(cartesian, hasAnimation, forSymbol, seriesModel) {
120
109
  var xExtent = getAxisExtentWithGap(cartesian.getAxis('x'));
121
110
  var yExtent = getAxisExtentWithGap(cartesian.getAxis('y'));
122
111
  var isHorizontal = cartesian.getBaseAxis().isHorizontal();
123
112
  var x = Math.min(xExtent[0], xExtent[1]);
124
113
  var y = Math.min(yExtent[0], yExtent[1]);
125
114
  var width = Math.max(xExtent[0], xExtent[1]) - x;
126
- var height = Math.max(yExtent[0], yExtent[1]) - y;
127
- var lineWidth = seriesModel.get('lineStyle.width') || 2; // Expand clip shape to avoid clipping when line value exceeds axis
115
+ var height = Math.max(yExtent[0], yExtent[1]) - y; // Avoid float number rounding error for symbol on the edge of axis extent.
116
+ // See #7913 and `test/dataZoom-clip.html`.
117
+
118
+ if (forSymbol) {
119
+ x -= 0.5;
120
+ width += 0.5;
121
+ y -= 0.5;
122
+ height += 0.5;
123
+ } else {
124
+ var lineWidth = seriesModel.get('lineStyle.width') || 2; // Expand clip shape to avoid clipping when line value exceeds axis
128
125
 
129
- var expandSize = seriesModel.get('clipOverflow') ? lineWidth / 2 : Math.max(width, height);
126
+ var expandSize = seriesModel.get('clipOverflow') ? lineWidth / 2 : Math.max(width, height);
130
127
 
131
- if (isHorizontal) {
132
- y -= expandSize;
133
- height += expandSize * 2;
134
- } else {
135
- x -= expandSize;
136
- width += expandSize * 2;
128
+ if (isHorizontal) {
129
+ y -= expandSize;
130
+ height += expandSize * 2;
131
+ } else {
132
+ x -= expandSize;
133
+ width += expandSize * 2;
134
+ }
137
135
  }
138
136
 
139
137
  var clipPath = new graphic.Rect({
@@ -158,18 +156,25 @@ function createGridClipShape(cartesian, hasAnimation, seriesModel) {
158
156
  return clipPath;
159
157
  }
160
158
 
161
- function createPolarClipShape(polar, hasAnimation, seriesModel) {
159
+ function createPolarClipShape(polar, hasAnimation, forSymbol, seriesModel) {
162
160
  var angleAxis = polar.getAngleAxis();
163
161
  var radiusAxis = polar.getRadiusAxis();
164
- var radiusExtent = radiusAxis.getExtent();
162
+ var radiusExtent = radiusAxis.getExtent().slice();
163
+ radiusExtent[0] > radiusExtent[1] && radiusExtent.reverse();
165
164
  var angleExtent = angleAxis.getExtent();
166
- var RADIAN = Math.PI / 180;
165
+ var RADIAN = Math.PI / 180; // Avoid float number rounding error for symbol on the edge of axis extent.
166
+
167
+ if (forSymbol) {
168
+ radiusExtent[0] -= 0.5;
169
+ radiusExtent[1] += 0.5;
170
+ }
171
+
167
172
  var clipPath = new graphic.Sector({
168
173
  shape: {
169
- cx: polar.cx,
170
- cy: polar.cy,
171
- r0: radiusExtent[0],
172
- r: radiusExtent[1],
174
+ cx: round(polar.cx, 1),
175
+ cy: round(polar.cy, 1),
176
+ r0: round(radiusExtent[0], 1),
177
+ r: round(radiusExtent[1], 1),
173
178
  startAngle: -angleExtent[0] * RADIAN,
174
179
  endAngle: -angleExtent[1] * RADIAN,
175
180
  clockwise: angleAxis.inverse
@@ -188,8 +193,8 @@ function createPolarClipShape(polar, hasAnimation, seriesModel) {
188
193
  return clipPath;
189
194
  }
190
195
 
191
- function createClipShape(coordSys, hasAnimation, seriesModel) {
192
- return coordSys.type === 'polar' ? createPolarClipShape(coordSys, hasAnimation, seriesModel) : createGridClipShape(coordSys, hasAnimation, seriesModel);
196
+ function createClipShape(coordSys, hasAnimation, forSymbol, seriesModel) {
197
+ return coordSys.type === 'polar' ? createPolarClipShape(coordSys, hasAnimation, forSymbol, seriesModel) : createGridClipShape(coordSys, hasAnimation, forSymbol, seriesModel);
193
198
  }
194
199
 
195
200
  function turnPointsIntoStep(points, coordSys, stepTurnAt) {
@@ -243,17 +248,26 @@ function getVisualGradient(data, coordSys) {
243
248
  return;
244
249
  }
245
250
 
251
+ if (coordSys.type !== 'cartesian2d') {
252
+ return;
253
+ }
254
+
255
+ var coordDim;
246
256
  var visualMeta;
247
257
 
248
258
  for (var i = visualMetaList.length - 1; i >= 0; i--) {
249
- // Can only be x or y
250
- if (visualMetaList[i].dimension < 2) {
259
+ var dimIndex = visualMetaList[i].dimension;
260
+ var dimName = data.dimensions[dimIndex];
261
+ var dimInfo = data.getDimensionInfo(dimName);
262
+ coordDim = dimInfo && dimInfo.coordDim; // Can only be x or y
263
+
264
+ if (coordDim === 'x' || coordDim === 'y') {
251
265
  visualMeta = visualMetaList[i];
252
266
  break;
253
267
  }
254
268
  }
255
269
 
256
- if (!visualMeta || coordSys.type !== 'cartesian2d') {
270
+ if (!visualMeta) {
257
271
  return;
258
272
  } // If the area to be rendered is bigger than area defined by LinearGradient,
259
273
  // the canvas spec prescribes that the color of the first stop and the last
@@ -263,9 +277,7 @@ function getVisualGradient(data, coordSys) {
263
277
  // LinearGradient to render `outerColors`.
264
278
 
265
279
 
266
- var dimension = visualMeta.dimension;
267
- var dimName = data.dimensions[dimension];
268
- var axis = coordSys.getAxis(dimName); // dataToCoor mapping may not be linear, but must be monotonic.
280
+ var axis = coordSys.getAxis(coordDim); // dataToCoor mapping may not be linear, but must be monotonic.
269
281
 
270
282
  var colorStops = zrUtil.map(visualMeta.stops, function (stop) {
271
283
  return {
@@ -308,11 +320,68 @@ function getVisualGradient(data, coordSys) {
308
320
  // });
309
321
 
310
322
  var gradient = new graphic.LinearGradient(0, 0, 0, 0, colorStops, true);
311
- gradient[dimName] = minCoord;
312
- gradient[dimName + '2'] = maxCoord;
323
+ gradient[coordDim] = minCoord;
324
+ gradient[coordDim + '2'] = maxCoord;
313
325
  return gradient;
314
326
  }
315
327
 
328
+ function getIsIgnoreFunc(seriesModel, data, coordSys) {
329
+ var showAllSymbol = seriesModel.get('showAllSymbol');
330
+ var isAuto = showAllSymbol === 'auto';
331
+
332
+ if (showAllSymbol && !isAuto) {
333
+ return;
334
+ }
335
+
336
+ var categoryAxis = coordSys.getAxesByScale('ordinal')[0];
337
+
338
+ if (!categoryAxis) {
339
+ return;
340
+ } // Note that category label interval strategy might bring some weird effect
341
+ // in some scenario: users may wonder why some of the symbols are not
342
+ // displayed. So we show all symbols as possible as we can.
343
+
344
+
345
+ if (isAuto // Simplify the logic, do not determine label overlap here.
346
+ && canShowAllSymbolForCategory(categoryAxis, data)) {
347
+ return;
348
+ } // Otherwise follow the label interval strategy on category axis.
349
+
350
+
351
+ var categoryDataDim = data.mapDimension(categoryAxis.dim);
352
+ var labelMap = {};
353
+ zrUtil.each(categoryAxis.getViewLabels(), function (labelItem) {
354
+ labelMap[labelItem.tickValue] = 1;
355
+ });
356
+ return function (dataIndex) {
357
+ return !labelMap.hasOwnProperty(data.get(categoryDataDim, dataIndex));
358
+ };
359
+ }
360
+
361
+ function canShowAllSymbolForCategory(categoryAxis, data) {
362
+ // In mose cases, line is monotonous on category axis, and the label size
363
+ // is close with each other. So we check the symbol size and some of the
364
+ // label size alone with the category axis to estimate whether all symbol
365
+ // can be shown without overlap.
366
+ var axisExtent = categoryAxis.getExtent();
367
+ var availSize = Math.abs(axisExtent[1] - axisExtent[0]) / categoryAxis.scale.count();
368
+ isNaN(availSize) && (availSize = 0); // 0/0 is NaN.
369
+ // Sampling some points, max 5.
370
+
371
+ var dataLen = data.count();
372
+ var step = Math.max(1, Math.round(dataLen / 5));
373
+
374
+ for (var dataIndex = 0; dataIndex < dataLen; dataIndex += step) {
375
+ if (SymbolClz.getSymbolSize(data, dataIndex // Only for cartesian, where `isHorizontal` exists.
376
+ )[categoryAxis.isHorizontal() ? 1 : 0] // Empirical number
377
+ * 1.5 > availSize) {
378
+ return false;
379
+ }
380
+ }
381
+
382
+ return true;
383
+ }
384
+
316
385
  var _default = ChartView.extend({
317
386
  type: 'line',
318
387
  init: function () {
@@ -328,7 +397,7 @@ var _default = ChartView.extend({
328
397
  var data = seriesModel.getData();
329
398
  var lineStyleModel = seriesModel.getModel('lineStyle');
330
399
  var areaStyleModel = seriesModel.getModel('areaStyle');
331
- var points = data.mapArray(data.getItemLayout, true);
400
+ var points = data.mapArray(data.getItemLayout);
332
401
  var isCoordSysPolar = coordSys.type === 'polar';
333
402
  var prevCoordSys = this._coordSys;
334
403
  var symbolDraw = this._symbolDraw;
@@ -337,12 +406,11 @@ var _default = ChartView.extend({
337
406
  var lineGroup = this._lineGroup;
338
407
  var hasAnimation = seriesModel.get('animation');
339
408
  var isAreaChart = !areaStyleModel.isEmpty();
340
- var origin = areaStyleModel.get('origin');
341
- var stackedOnPoints = getStackedOnPoints(seriesModel, coordSys, data, origin);
409
+ var valueOrigin = areaStyleModel.get('origin');
410
+ var dataCoordInfo = prepareDataCoordInfo(coordSys, data, valueOrigin);
411
+ var stackedOnPoints = getStackedOnPoints(coordSys, data, dataCoordInfo);
342
412
  var showSymbol = seriesModel.get('showSymbol');
343
-
344
- var isSymbolIgnore = showSymbol && !isCoordSysPolar && !seriesModel.get('showAllSymbol') && this._getSymbolIgnoreFunc(data, coordSys); // Remove temporary symbols
345
-
413
+ var isIgnoreFunc = showSymbol && !isCoordSysPolar && getIsIgnoreFunc(seriesModel, data, coordSys); // Remove temporary symbols
346
414
 
347
415
  var oldData = this._data;
348
416
  oldData && oldData.eachItemGraphicEl(function (el, idx) {
@@ -361,7 +429,10 @@ var _default = ChartView.extend({
361
429
  var step = !isCoordSysPolar && seriesModel.get('step'); // Initialization animation or coordinate system changed
362
430
 
363
431
  if (!(polyline && prevCoordSys.type === coordSys.type && step === this._step)) {
364
- showSymbol && symbolDraw.updateData(data, isSymbolIgnore);
432
+ showSymbol && symbolDraw.updateData(data, {
433
+ isIgnore: isIgnoreFunc,
434
+ clipShape: createClipShape(coordSys, false, true, seriesModel)
435
+ });
365
436
 
366
437
  if (step) {
367
438
  // TODO If stacked series is not step
@@ -375,7 +446,7 @@ var _default = ChartView.extend({
375
446
  polygon = this._newPolygon(points, stackedOnPoints, coordSys, hasAnimation);
376
447
  }
377
448
 
378
- lineGroup.setClipPath(createClipShape(coordSys, true, seriesModel));
449
+ lineGroup.setClipPath(createClipShape(coordSys, true, false, seriesModel));
379
450
  } else {
380
451
  if (isAreaChart && !polygon) {
381
452
  // If areaStyle is added
@@ -387,10 +458,13 @@ var _default = ChartView.extend({
387
458
  } // Update clipPath
388
459
 
389
460
 
390
- lineGroup.setClipPath(createClipShape(coordSys, false, seriesModel)); // Always update, or it is wrong in the case turning on legend
461
+ lineGroup.setClipPath(createClipShape(coordSys, false, false, seriesModel)); // Always update, or it is wrong in the case turning on legend
391
462
  // because points are not changed
392
463
 
393
- showSymbol && symbolDraw.updateData(data, isSymbolIgnore); // Stop symbol animation and sync with line points
464
+ showSymbol && symbolDraw.updateData(data, {
465
+ isIgnore: isIgnoreFunc,
466
+ clipShape: createClipShape(coordSys, false, true, seriesModel)
467
+ }); // Stop symbol animation and sync with line points
394
468
  // FIXME performance?
395
469
 
396
470
  data.eachItemGraphicEl(function (el) {
@@ -400,7 +474,7 @@ var _default = ChartView.extend({
400
474
 
401
475
  if (!isPointsSame(this._stackedOnPoints, stackedOnPoints) || !isPointsSame(this._points, points)) {
402
476
  if (hasAnimation) {
403
- this._updateAnimation(data, stackedOnPoints, coordSys, api, step);
477
+ this._updateAnimation(data, stackedOnPoints, coordSys, api, step, valueOrigin);
404
478
  } else {
405
479
  // Not do it in update with animation
406
480
  if (step) {
@@ -436,7 +510,7 @@ var _default = ChartView.extend({
436
510
  });
437
511
 
438
512
  if (polygon) {
439
- var stackedOn = data.stackedOn;
513
+ var stackedOnSeries = data.getCalculationInfo('stackedOnSeries');
440
514
  var stackedOnSmooth = 0;
441
515
  polygon.useStyle(zrUtil.defaults(areaStyleModel.getAreaStyle(), {
442
516
  fill: visualColor,
@@ -444,8 +518,7 @@ var _default = ChartView.extend({
444
518
  lineJoin: 'bevel'
445
519
  }));
446
520
 
447
- if (stackedOn) {
448
- var stackedOnSeries = stackedOn.hostModel;
521
+ if (stackedOnSeries) {
449
522
  stackedOnSmooth = getSmooth(stackedOnSeries.get('smooth'));
450
523
  }
451
524
 
@@ -463,6 +536,7 @@ var _default = ChartView.extend({
463
536
  this._stackedOnPoints = stackedOnPoints;
464
537
  this._points = points;
465
538
  this._step = step;
539
+ this._valueOrigin = valueOrigin;
466
540
  },
467
541
  dispose: function () {},
468
542
  highlight: function (seriesModel, ecModel, api, payload) {
@@ -574,26 +648,15 @@ var _default = ChartView.extend({
574
648
  return polygon;
575
649
  },
576
650
 
577
- /**
578
- * @private
579
- */
580
- _getSymbolIgnoreFunc: function (data, coordSys) {
581
- var categoryAxis = coordSys.getAxesByScale('ordinal')[0]; // `getLabelInterval` is provided by echarts/component/axis
582
-
583
- if (categoryAxis && categoryAxis.isLabelIgnored) {
584
- return zrUtil.bind(categoryAxis.isLabelIgnored, categoryAxis);
585
- }
586
- },
587
-
588
651
  /**
589
652
  * @private
590
653
  */
591
654
  // FIXME Two value axis
592
- _updateAnimation: function (data, stackedOnPoints, coordSys, api, step) {
655
+ _updateAnimation: function (data, stackedOnPoints, coordSys, api, step, valueOrigin) {
593
656
  var polyline = this._polyline;
594
657
  var polygon = this._polygon;
595
658
  var seriesModel = data.hostModel;
596
- var diff = lineAnimationDiff(this._data, data, this._stackedOnPoints, stackedOnPoints, this._coordSys, coordSys);
659
+ var diff = lineAnimationDiff(this._data, data, this._stackedOnPoints, stackedOnPoints, this._coordSys, coordSys, this._valueOrigin, valueOrigin);
597
660
  var current = diff.current;
598
661
  var stackedOnCurrent = diff.stackedOnCurrent;
599
662
  var next = diff.next;
@@ -0,0 +1,117 @@
1
+ var _dataStackHelper = require("../../data/helper/dataStackHelper");
2
+
3
+ var isDimensionStacked = _dataStackHelper.isDimensionStacked;
4
+
5
+ var _util = require("zrender/lib/core/util");
6
+
7
+ var map = _util.map;
8
+
9
+ /*
10
+ * Licensed to the Apache Software Foundation (ASF) under one
11
+ * or more contributor license agreements. See the NOTICE file
12
+ * distributed with this work for additional information
13
+ * regarding copyright ownership. The ASF licenses this file
14
+ * to you under the Apache License, Version 2.0 (the
15
+ * "License"); you may not use this file except in compliance
16
+ * with the License. You may obtain a copy of the License at
17
+ *
18
+ * http://www.apache.org/licenses/LICENSE-2.0
19
+ *
20
+ * Unless required by applicable law or agreed to in writing,
21
+ * software distributed under the License is distributed on an
22
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ * KIND, either express or implied. See the License for the
24
+ * specific language governing permissions and limitations
25
+ * under the License.
26
+ */
27
+
28
+ /**
29
+ * @param {Object} coordSys
30
+ * @param {module:echarts/data/List} data
31
+ * @param {string} valueOrigin lineSeries.option.areaStyle.origin
32
+ */
33
+ function prepareDataCoordInfo(coordSys, data, valueOrigin) {
34
+ var baseAxis = coordSys.getBaseAxis();
35
+ var valueAxis = coordSys.getOtherAxis(baseAxis);
36
+ var valueStart = getValueStart(valueAxis, valueOrigin);
37
+ var baseAxisDim = baseAxis.dim;
38
+ var valueAxisDim = valueAxis.dim;
39
+ var valueDim = data.mapDimension(valueAxisDim);
40
+ var baseDim = data.mapDimension(baseAxisDim);
41
+ var baseDataOffset = valueAxisDim === 'x' || valueAxisDim === 'radius' ? 1 : 0;
42
+ var dims = map(coordSys.dimensions, function (coordDim) {
43
+ return data.mapDimension(coordDim);
44
+ });
45
+ var stacked;
46
+ var stackResultDim = data.getCalculationInfo('stackResultDimension');
47
+
48
+ if (stacked |= isDimensionStacked(data, dims[0]
49
+ /*, dims[1]*/
50
+ )) {
51
+ // jshint ignore:line
52
+ dims[0] = stackResultDim;
53
+ }
54
+
55
+ if (stacked |= isDimensionStacked(data, dims[1]
56
+ /*, dims[0]*/
57
+ )) {
58
+ // jshint ignore:line
59
+ dims[1] = stackResultDim;
60
+ }
61
+
62
+ return {
63
+ dataDimsForPoint: dims,
64
+ valueStart: valueStart,
65
+ valueAxisDim: valueAxisDim,
66
+ baseAxisDim: baseAxisDim,
67
+ stacked: !!stacked,
68
+ valueDim: valueDim,
69
+ baseDim: baseDim,
70
+ baseDataOffset: baseDataOffset,
71
+ stackedOverDimension: data.getCalculationInfo('stackedOverDimension')
72
+ };
73
+ }
74
+
75
+ function getValueStart(valueAxis, valueOrigin) {
76
+ var valueStart = 0;
77
+ var extent = valueAxis.scale.getExtent();
78
+
79
+ if (valueOrigin === 'start') {
80
+ valueStart = extent[0];
81
+ } else if (valueOrigin === 'end') {
82
+ valueStart = extent[1];
83
+ } // auto
84
+ else {
85
+ // Both positive
86
+ if (extent[0] > 0) {
87
+ valueStart = extent[0];
88
+ } // Both negative
89
+ else if (extent[1] < 0) {
90
+ valueStart = extent[1];
91
+ } // If is one positive, and one negative, onZero shall be true
92
+
93
+ }
94
+
95
+ return valueStart;
96
+ }
97
+
98
+ function getStackedOnPoint(dataCoordInfo, coordSys, data, idx) {
99
+ var value = NaN;
100
+
101
+ if (dataCoordInfo.stacked) {
102
+ value = data.get(data.getCalculationInfo('stackedOverDimension'), idx);
103
+ }
104
+
105
+ if (isNaN(value)) {
106
+ value = dataCoordInfo.valueStart;
107
+ }
108
+
109
+ var baseDataOffset = dataCoordInfo.baseDataOffset;
110
+ var stackedData = [];
111
+ stackedData[baseDataOffset] = data.get(dataCoordInfo.baseDim, idx);
112
+ stackedData[1 - baseDataOffset] = value;
113
+ return coordSys.dataToPoint(stackedData);
114
+ }
115
+
116
+ exports.prepareDataCoordInfo = prepareDataCoordInfo;
117
+ exports.getStackedOnPoint = getStackedOnPoint;