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
@@ -3,7 +3,34 @@ var zrUtil = require("zrender/lib/core/util");
3
3
  var _number = require("../util/number");
4
4
 
5
5
  var parsePercent = _number.parsePercent;
6
+
7
+ var _dataStackHelper = require("../data/helper/dataStackHelper");
8
+
9
+ var isDimensionStacked = _dataStackHelper.isDimensionStacked;
10
+
11
+ var createRenderPlanner = require("../chart/helper/createRenderPlanner");
12
+
13
+ /*
14
+ * Licensed to the Apache Software Foundation (ASF) under one
15
+ * or more contributor license agreements. See the NOTICE file
16
+ * distributed with this work for additional information
17
+ * regarding copyright ownership. The ASF licenses this file
18
+ * to you under the Apache License, Version 2.0 (the
19
+ * "License"); you may not use this file except in compliance
20
+ * with the License. You may obtain a copy of the License at
21
+ *
22
+ * http://www.apache.org/licenses/LICENSE-2.0
23
+ *
24
+ * Unless required by applicable law or agreed to in writing,
25
+ * software distributed under the License is distributed on an
26
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
27
+ * KIND, either express or implied. See the License for the
28
+ * specific language governing permissions and limitations
29
+ * under the License.
30
+ */
6
31
  var STACK_PREFIX = '__ec_stack_';
32
+ var LARGE_BAR_MIN_WIDTH = 0.5;
33
+ var LargeArr = typeof Float32Array !== 'undefined' ? Float32Array : Array;
7
34
 
8
35
  function getSeriesStackId(seriesModel) {
9
36
  return seriesModel.get('stack') || STACK_PREFIX + seriesModel.seriesIndex;
@@ -24,7 +51,7 @@ function getAxisKey(axis) {
24
51
  */
25
52
 
26
53
 
27
- function getLayoutOnAxis(opt, api) {
54
+ function getLayoutOnAxis(opt) {
28
55
  var params = [];
29
56
  var baseAxis = opt.axis;
30
57
  var axisKey = 'axis0';
@@ -43,7 +70,7 @@ function getLayoutOnAxis(opt, api) {
43
70
  }, opt));
44
71
  }
45
72
 
46
- var widthAndOffsets = doCalBarWidthAndOffset(params, api);
73
+ var widthAndOffsets = doCalBarWidthAndOffset(params);
47
74
  var result = [];
48
75
 
49
76
  for (var i = 0; i < opt.count; i++) {
@@ -55,8 +82,20 @@ function getLayoutOnAxis(opt, api) {
55
82
  return result;
56
83
  }
57
84
 
58
- function calBarWidthAndOffset(barSeries, api) {
59
- var seriesInfoList = zrUtil.map(barSeries, function (seriesModel) {
85
+ function prepareLayoutBarSeries(seriesType, ecModel) {
86
+ var seriesModels = [];
87
+ ecModel.eachSeriesByType(seriesType, function (seriesModel) {
88
+ // Check series coordinate, do layout for cartesian2d only
89
+ if (isOnCartesian(seriesModel) && !isInLargeMode(seriesModel)) {
90
+ seriesModels.push(seriesModel);
91
+ }
92
+ });
93
+ return seriesModels;
94
+ }
95
+
96
+ function makeColumnLayout(barSeries) {
97
+ var seriesInfoList = [];
98
+ zrUtil.each(barSeries, function (seriesModel) {
60
99
  var data = seriesModel.getData();
61
100
  var cartesian = seriesModel.coordinateSystem;
62
101
  var baseAxis = cartesian.getBaseAxis();
@@ -66,7 +105,7 @@ function calBarWidthAndOffset(barSeries, api) {
66
105
  var barMaxWidth = parsePercent(seriesModel.get('barMaxWidth'), bandWidth);
67
106
  var barGap = seriesModel.get('barGap');
68
107
  var barCategoryGap = seriesModel.get('barCategoryGap');
69
- return {
108
+ seriesInfoList.push({
70
109
  bandWidth: bandWidth,
71
110
  barWidth: barWidth,
72
111
  barMaxWidth: barMaxWidth,
@@ -74,12 +113,12 @@ function calBarWidthAndOffset(barSeries, api) {
74
113
  barCategoryGap: barCategoryGap,
75
114
  axisKey: getAxisKey(baseAxis),
76
115
  stackId: getSeriesStackId(seriesModel)
77
- };
116
+ });
78
117
  });
79
- return doCalBarWidthAndOffset(seriesInfoList, api);
118
+ return doCalBarWidthAndOffset(seriesInfoList);
80
119
  }
81
120
 
82
- function doCalBarWidthAndOffset(seriesInfoList, api) {
121
+ function doCalBarWidthAndOffset(seriesInfoList) {
83
122
  // Columns info on each category axis. Key is cartesian name
84
123
  var columnsMap = {};
85
124
  zrUtil.each(seriesInfoList, function (seriesInfo, idx) {
@@ -182,25 +221,37 @@ function doCalBarWidthAndOffset(seriesInfoList, api) {
182
221
  });
183
222
  return result;
184
223
  }
224
+ /**
225
+ * @param {Object} barWidthAndOffset The result of makeColumnLayout
226
+ * @param {module:echarts/coord/Axis} axis
227
+ * @param {module:echarts/model/Series} [seriesModel] If not provided, return all.
228
+ * @return {Object} {stackId: {offset, width}} or {offset, width} if seriesModel provided.
229
+ */
230
+
231
+
232
+ function retrieveColumnLayout(barWidthAndOffset, axis, seriesModel) {
233
+ if (barWidthAndOffset && axis) {
234
+ var result = barWidthAndOffset[getAxisKey(axis)];
235
+
236
+ if (result != null && seriesModel != null) {
237
+ result = result[getSeriesStackId(seriesModel)];
238
+ }
239
+
240
+ return result;
241
+ }
242
+ }
185
243
  /**
186
244
  * @param {string} seriesType
187
245
  * @param {module:echarts/model/Global} ecModel
188
- * @param {module:echarts/ExtensionAPI} api
189
246
  */
190
247
 
191
248
 
192
- function layout(seriesType, ecModel, api) {
193
- var barWidthAndOffset = calBarWidthAndOffset(zrUtil.filter(ecModel.getSeriesByType(seriesType), function (seriesModel) {
194
- return !ecModel.isSeriesFiltered(seriesModel) && seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === 'cartesian2d';
195
- }));
249
+ function layout(seriesType, ecModel) {
250
+ var seriesModels = prepareLayoutBarSeries(seriesType, ecModel);
251
+ var barWidthAndOffset = makeColumnLayout(seriesModels);
196
252
  var lastStackCoords = {};
197
253
  var lastStackCoordsOrigin = {};
198
- ecModel.eachSeriesByType(seriesType, function (seriesModel) {
199
- // Check series coordinate, do layout for cartesian2d only
200
- if (seriesModel.coordinateSystem.type !== 'cartesian2d') {
201
- return;
202
- }
203
-
254
+ zrUtil.each(seriesModels, function (seriesModel) {
204
255
  var data = seriesModel.getData();
205
256
  var cartesian = seriesModel.coordinateSystem;
206
257
  var baseAxis = cartesian.getBaseAxis();
@@ -210,11 +261,6 @@ function layout(seriesType, ecModel, api) {
210
261
  var columnWidth = columnLayoutInfo.width;
211
262
  var valueAxis = cartesian.getOtherAxis(baseAxis);
212
263
  var barMinHeight = seriesModel.get('barMinHeight') || 0;
213
- var valueAxisStart = baseAxis.onZero ? valueAxis.toGlobalCoord(valueAxis.dataToCoord(0)) : valueAxis.getGlobalExtent()[0];
214
- var coordDims = [data.mapDimension('x'), data.mapDimension('y')];
215
- var coords = data.mapArray(coordDims, function (x, y) {
216
- return cartesian.dataToPoint([x, y]);
217
- }, true);
218
264
  lastStackCoords[stackId] = lastStackCoords[stackId] || [];
219
265
  lastStackCoordsOrigin[stackId] = lastStackCoordsOrigin[stackId] || []; // Fix #4243
220
266
 
@@ -222,60 +268,71 @@ function layout(seriesType, ecModel, api) {
222
268
  offset: columnOffset,
223
269
  size: columnWidth
224
270
  });
225
- data.each(data.mapDimension(valueAxis.dim), function (value, idx) {
271
+ var valueDim = data.mapDimension(valueAxis.dim);
272
+ var baseDim = data.mapDimension(baseAxis.dim);
273
+ var stacked = isDimensionStacked(data, valueDim
274
+ /*, baseDim*/
275
+ );
276
+ var isValueAxisH = valueAxis.isHorizontal();
277
+ var valueAxisStart = getValueAxisStart(baseAxis, valueAxis, stacked);
278
+
279
+ for (var idx = 0, len = data.count(); idx < len; idx++) {
280
+ var value = data.get(valueDim, idx);
281
+ var baseValue = data.get(baseDim, idx);
282
+
226
283
  if (isNaN(value)) {
227
- return;
284
+ continue;
228
285
  }
229
286
 
230
- if (!lastStackCoords[stackId][idx]) {
231
- lastStackCoords[stackId][idx] = {
232
- p: valueAxisStart,
233
- // Positive stack
234
- n: valueAxisStart // Negative stack
287
+ var sign = value >= 0 ? 'p' : 'n';
288
+ var baseCoord = valueAxisStart; // Because of the barMinHeight, we can not use the value in
289
+ // stackResultDimension directly.
290
+
291
+ if (stacked) {
292
+ // Only ordinal axis can be stacked.
293
+ if (!lastStackCoords[stackId][baseValue]) {
294
+ lastStackCoords[stackId][baseValue] = {
295
+ p: valueAxisStart,
296
+ // Positive stack
297
+ n: valueAxisStart // Negative stack
235
298
 
236
- };
237
- lastStackCoordsOrigin[stackId][idx] = {
238
- p: valueAxisStart,
239
- // Positive stack
240
- n: valueAxisStart // Negative stack
299
+ };
300
+ } // Should also consider #4243
241
301
 
242
- };
302
+
303
+ baseCoord = lastStackCoords[stackId][baseValue][sign];
243
304
  }
244
305
 
245
- var sign = value >= 0 ? 'p' : 'n';
246
- var coord = coords[idx];
247
- var lastCoord = lastStackCoords[stackId][idx][sign];
248
- var lastCoordOrigin = lastStackCoordsOrigin[stackId][idx][sign];
249
306
  var x;
250
307
  var y;
251
308
  var width;
252
309
  var height;
253
310
 
254
- if (valueAxis.isHorizontal()) {
255
- x = lastCoord;
311
+ if (isValueAxisH) {
312
+ var coord = cartesian.dataToPoint([value, baseValue]);
313
+ x = baseCoord;
256
314
  y = coord[1] + columnOffset;
257
- width = coord[0] - lastCoordOrigin;
315
+ width = coord[0] - valueAxisStart;
258
316
  height = columnWidth;
259
- lastStackCoordsOrigin[stackId][idx][sign] += width;
260
317
 
261
318
  if (Math.abs(width) < barMinHeight) {
262
319
  width = (width < 0 ? -1 : 1) * barMinHeight;
263
320
  }
264
321
 
265
- lastStackCoords[stackId][idx][sign] += width;
322
+ stacked && (lastStackCoords[stackId][baseValue][sign] += width);
266
323
  } else {
324
+ var coord = cartesian.dataToPoint([baseValue, value]);
267
325
  x = coord[0] + columnOffset;
268
- y = lastCoord;
326
+ y = baseCoord;
269
327
  width = columnWidth;
270
- height = coord[1] - lastCoordOrigin;
271
- lastStackCoordsOrigin[stackId][idx][sign] += height;
328
+ height = coord[1] - valueAxisStart;
272
329
 
273
330
  if (Math.abs(height) < barMinHeight) {
274
331
  // Include zero to has a positive bar
275
332
  height = (height <= 0 ? -1 : 1) * barMinHeight;
276
333
  }
277
334
 
278
- lastStackCoords[stackId][idx][sign] += height;
335
+ stacked && (lastStackCoords[stackId][baseValue][sign] += height);
279
336
  }
280
337
 
281
338
  data.setItemLayout(idx, {
@@ -284,10 +341,78 @@ function layout(seriesType, ecModel, api) {
284
341
  width: width,
285
342
  height: height
286
343
  });
287
- }, true);
344
+ }
288
345
  }, this);
346
+ } // TODO: Do not support stack in large mode yet.
347
+
348
+
349
+ var largeLayout = {
350
+ seriesType: 'bar',
351
+ plan: createRenderPlanner(),
352
+ reset: function (seriesModel) {
353
+ if (!isOnCartesian(seriesModel) || !isInLargeMode(seriesModel)) {
354
+ return;
355
+ }
356
+
357
+ var data = seriesModel.getData();
358
+ var cartesian = seriesModel.coordinateSystem;
359
+ var baseAxis = cartesian.getBaseAxis();
360
+ var valueAxis = cartesian.getOtherAxis(baseAxis);
361
+ var valueDim = data.mapDimension(valueAxis.dim);
362
+ var baseDim = data.mapDimension(baseAxis.dim);
363
+ var valueAxisHorizontal = valueAxis.isHorizontal();
364
+ var valueDimIdx = valueAxisHorizontal ? 0 : 1;
365
+ var barWidth = retrieveColumnLayout(makeColumnLayout([seriesModel]), baseAxis, seriesModel).width;
366
+
367
+ if (!(barWidth > LARGE_BAR_MIN_WIDTH)) {
368
+ // jshint ignore:line
369
+ barWidth = LARGE_BAR_MIN_WIDTH;
370
+ }
371
+
372
+ return {
373
+ progress: progress
374
+ };
375
+
376
+ function progress(params, data) {
377
+ var largePoints = new LargeArr(params.count * 2);
378
+ var dataIndex;
379
+ var coord = [];
380
+ var valuePair = [];
381
+ var offset = 0;
382
+
383
+ while ((dataIndex = params.next()) != null) {
384
+ valuePair[valueDimIdx] = data.get(valueDim, dataIndex);
385
+ valuePair[1 - valueDimIdx] = data.get(baseDim, dataIndex);
386
+ coord = cartesian.dataToPoint(valuePair, null, coord);
387
+ largePoints[offset++] = coord[0];
388
+ largePoints[offset++] = coord[1];
389
+ }
390
+
391
+ data.setLayout({
392
+ largePoints: largePoints,
393
+ barWidth: barWidth,
394
+ valueAxisStart: getValueAxisStart(baseAxis, valueAxis, false),
395
+ valueAxisHorizontal: valueAxisHorizontal
396
+ });
397
+ }
398
+ }
399
+ };
400
+
401
+ function isOnCartesian(seriesModel) {
402
+ return seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === 'cartesian2d';
403
+ }
404
+
405
+ function isInLargeMode(seriesModel) {
406
+ return seriesModel.pipelineContext && seriesModel.pipelineContext.large;
407
+ }
408
+
409
+ function getValueAxisStart(baseAxis, valueAxis, stacked) {
410
+ return zrUtil.indexOf(baseAxis.getAxesOnZeroOf(), valueAxis) >= 0 || stacked ? valueAxis.toGlobalCoord(valueAxis.dataToCoord(0)) : valueAxis.getGlobalExtent()[0];
289
411
  }
290
412
 
291
413
  exports.getLayoutOnAxis = getLayoutOnAxis;
292
- exports.calBarWidthAndOffset = calBarWidthAndOffset;
293
- exports.layout = layout;
414
+ exports.prepareLayoutBarSeries = prepareLayoutBarSeries;
415
+ exports.makeColumnLayout = makeColumnLayout;
416
+ exports.retrieveColumnLayout = retrieveColumnLayout;
417
+ exports.layout = layout;
418
+ exports.largeLayout = largeLayout;
@@ -4,6 +4,28 @@ var _number = require("../util/number");
4
4
 
5
5
  var parsePercent = _number.parsePercent;
6
6
 
7
+ var _dataStackHelper = require("../data/helper/dataStackHelper");
8
+
9
+ var isDimensionStacked = _dataStackHelper.isDimensionStacked;
10
+
11
+ /*
12
+ * Licensed to the Apache Software Foundation (ASF) under one
13
+ * or more contributor license agreements. See the NOTICE file
14
+ * distributed with this work for additional information
15
+ * regarding copyright ownership. The ASF licenses this file
16
+ * to you under the Apache License, Version 2.0 (the
17
+ * "License"); you may not use this file except in compliance
18
+ * with the License. You may obtain a copy of the License at
19
+ *
20
+ * http://www.apache.org/licenses/LICENSE-2.0
21
+ *
22
+ * Unless required by applicable law or agreed to in writing,
23
+ * software distributed under the License is distributed on an
24
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
25
+ * KIND, either express or implied. See the License for the
26
+ * specific language governing permissions and limitations
27
+ * under the License.
28
+ */
7
29
  function getSeriesStackId(seriesModel) {
8
30
  return seriesModel.get('stack') || '__ec_stack_' + seriesModel.seriesIndex;
9
31
  }
@@ -22,7 +44,6 @@ function barLayoutPolar(seriesType, ecModel, api) {
22
44
  var width = api.getWidth();
23
45
  var height = api.getHeight();
24
46
  var lastStackCoords = {};
25
- var lastStackCoordsOrigin = {};
26
47
  var barWidthAndOffset = calRadialBar(zrUtil.filter(ecModel.getSeriesByType(seriesType), function (seriesModel) {
27
48
  return !ecModel.isSeriesFiltered(seriesModel) && seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === 'polar';
28
49
  }));
@@ -34,7 +55,6 @@ function barLayoutPolar(seriesType, ecModel, api) {
34
55
 
35
56
  var data = seriesModel.getData();
36
57
  var polar = seriesModel.coordinateSystem;
37
- var angleAxis = polar.getAngleAxis();
38
58
  var baseAxis = polar.getBaseAxis();
39
59
  var stackId = getSeriesStackId(seriesModel);
40
60
  var columnLayoutInfo = barWidthAndOffset[getAxisKey(baseAxis)][stackId];
@@ -46,100 +66,97 @@ function barLayoutPolar(seriesType, ecModel, api) {
46
66
  var cy = parsePercent(center[1], height);
47
67
  var barMinHeight = seriesModel.get('barMinHeight') || 0;
48
68
  var barMinAngle = seriesModel.get('barMinAngle') || 0;
49
- var valueAxisStart = valueAxis.getExtent()[0];
50
- var valueMax = valueAxis.model.get('max');
51
- var valueMin = valueAxis.model.get('min');
52
- var coordDims = [data.mapDimension('radius'), data.mapDimension('angle')];
53
- var coords = data.mapArray(coordDims, function (radius, angle) {
54
- return polar.dataToPoint([radius, angle]);
55
- }, true);
56
69
  lastStackCoords[stackId] = lastStackCoords[stackId] || [];
57
- lastStackCoordsOrigin[stackId] = lastStackCoordsOrigin[stackId] || []; // Fix #4243
70
+ var valueDim = data.mapDimension(valueAxis.dim);
71
+ var baseDim = data.mapDimension(baseAxis.dim);
72
+ var stacked = isDimensionStacked(data, valueDim
73
+ /*, baseDim*/
74
+ );
75
+ var valueAxisStart = valueAxis.getExtent()[0];
76
+
77
+ for (var idx = 0, len = data.count(); idx < len; idx++) {
78
+ var value = data.get(valueDim, idx);
79
+ var baseValue = data.get(baseDim, idx);
58
80
 
59
- data.each(data.mapDimension(valueAxis.dim), function (value, idx) {
60
81
  if (isNaN(value)) {
61
- return;
82
+ continue;
62
83
  }
63
84
 
64
- if (!lastStackCoords[stackId][idx]) {
65
- lastStackCoords[stackId][idx] = {
66
- p: valueAxisStart,
67
- // Positive stack
68
- n: valueAxisStart // Negative stack
85
+ var sign = value >= 0 ? 'p' : 'n';
86
+ var baseCoord = valueAxisStart; // Because of the barMinHeight, we can not use the value in
87
+ // stackResultDimension directly.
88
+ // Only ordinal axis can be stacked.
89
+
90
+ if (stacked) {
91
+ if (!lastStackCoords[stackId][baseValue]) {
92
+ lastStackCoords[stackId][baseValue] = {
93
+ p: valueAxisStart,
94
+ // Positive stack
95
+ n: valueAxisStart // Negative stack
69
96
 
70
- };
71
- lastStackCoordsOrigin[stackId][idx] = {
72
- p: valueAxisStart,
73
- // Positive stack
74
- n: valueAxisStart // Negative stack
97
+ };
98
+ } // Should also consider #4243
75
99
 
76
- };
100
+
101
+ baseCoord = lastStackCoords[stackId][baseValue][sign];
77
102
  }
78
103
 
79
- var sign = value >= 0 ? 'p' : 'n';
80
- var coord = polar.pointToCoord(coords[idx]);
81
- var lastCoordOrigin = lastStackCoordsOrigin[stackId][idx][sign];
82
104
  var r0;
83
105
  var r;
84
106
  var startAngle;
85
- var endAngle;
107
+ var endAngle; // radial sector
86
108
 
87
109
  if (valueAxis.dim === 'radius') {
88
- // radial sector
89
- r0 = lastCoordOrigin;
90
- r = coord[0];
91
- startAngle = (-coord[1] + columnOffset) * Math.PI / 180;
92
- endAngle = startAngle + columnWidth * Math.PI / 180;
93
-
94
- if (Math.abs(r) < barMinHeight) {
95
- r = r0 + (r < 0 ? -1 : 1) * barMinHeight;
96
- }
110
+ var radiusSpan = valueAxis.dataToRadius(value) - valueAxisStart;
111
+ var angle = baseAxis.dataToAngle(baseValue);
97
112
 
98
- lastStackCoordsOrigin[stackId][idx][sign] = r;
99
- } else {
100
- // tangential sector
101
- r0 = coord[0] + columnOffset;
102
- r = r0 + columnWidth; // clamp data if min or max is defined for valueAxis
103
-
104
- if (valueMax != null) {
105
- value = Math.min(value, valueMax);
113
+ if (Math.abs(radiusSpan) < barMinHeight) {
114
+ radiusSpan = (radiusSpan < 0 ? -1 : 1) * barMinHeight;
106
115
  }
107
116
 
108
- if (valueMin != null) {
109
- value = Math.max(value, valueMin);
117
+ r0 = baseCoord;
118
+ r = baseCoord + radiusSpan;
119
+ startAngle = angle - columnOffset;
120
+ endAngle = startAngle - columnWidth;
121
+ stacked && (lastStackCoords[stackId][baseValue][sign] = r);
122
+ } // tangential sector
123
+ else {
124
+ // angleAxis must be clamped.
125
+ var angleSpan = valueAxis.dataToAngle(value, true) - valueAxisStart;
126
+ var radius = baseAxis.dataToRadius(baseValue);
127
+
128
+ if (Math.abs(angleSpan) < barMinAngle) {
129
+ angleSpan = (angleSpan < 0 ? -1 : 1) * barMinAngle;
130
+ }
131
+
132
+ r0 = radius + columnOffset;
133
+ r = r0 + columnWidth;
134
+ startAngle = baseCoord;
135
+ endAngle = baseCoord + angleSpan; // if the previous stack is at the end of the ring,
136
+ // add a round to differentiate it from origin
137
+ // var extent = angleAxis.getExtent();
138
+ // var stackCoord = angle;
139
+ // if (stackCoord === extent[0] && value > 0) {
140
+ // stackCoord = extent[1];
141
+ // }
142
+ // else if (stackCoord === extent[1] && value < 0) {
143
+ // stackCoord = extent[0];
144
+ // }
145
+
146
+ stacked && (lastStackCoords[stackId][baseValue][sign] = endAngle);
110
147
  }
111
148
 
112
- var angle = angleAxis.dataToAngle(value);
113
-
114
- if (Math.abs(angle - lastCoordOrigin) < barMinAngle) {
115
- angle = lastCoordOrigin - (value < 0 ? -1 : 1) * barMinAngle;
116
- }
117
-
118
- startAngle = -lastCoordOrigin * Math.PI / 180;
119
- endAngle = -angle * Math.PI / 180; // if the previous stack is at the end of the ring,
120
- // add a round to differentiate it from origin
121
-
122
- var extent = angleAxis.getExtent();
123
- var stackCoord = angle;
124
-
125
- if (stackCoord === extent[0] && value > 0) {
126
- stackCoord = extent[1];
127
- } else if (stackCoord === extent[1] && value < 0) {
128
- stackCoord = extent[0];
129
- }
130
-
131
- lastStackCoordsOrigin[stackId][idx][sign] = stackCoord;
132
- }
133
-
134
149
  data.setItemLayout(idx, {
135
150
  cx: cx,
136
151
  cy: cy,
137
152
  r0: r0,
138
153
  r: r,
139
- startAngle: startAngle,
140
- endAngle: endAngle
154
+ // Consider that positive angle is anti-clockwise,
155
+ // while positive radian of sector is clockwise
156
+ startAngle: -startAngle * Math.PI / 180,
157
+ endAngle: -endAngle * Math.PI / 180
141
158
  });
142
- }, true);
159
+ }
143
160
  }, this);
144
161
  }
145
162
  /**
@@ -4,6 +4,28 @@ var map = _util.map;
4
4
 
5
5
  var createRenderPlanner = require("../chart/helper/createRenderPlanner");
6
6
 
7
+ var _dataStackHelper = require("../data/helper/dataStackHelper");
8
+
9
+ var isDimensionStacked = _dataStackHelper.isDimensionStacked;
10
+
11
+ /*
12
+ * Licensed to the Apache Software Foundation (ASF) under one
13
+ * or more contributor license agreements. See the NOTICE file
14
+ * distributed with this work for additional information
15
+ * regarding copyright ownership. The ASF licenses this file
16
+ * to you under the Apache License, Version 2.0 (the
17
+ * "License"); you may not use this file except in compliance
18
+ * with the License. You may obtain a copy of the License at
19
+ *
20
+ * http://www.apache.org/licenses/LICENSE-2.0
21
+ *
22
+ * Unless required by applicable law or agreed to in writing,
23
+ * software distributed under the License is distributed on an
24
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
25
+ * KIND, either express or implied. See the License for the
26
+ * specific language governing permissions and limitations
27
+ * under the License.
28
+ */
7
29
  function _default(seriesType) {
8
30
  return {
9
31
  seriesType: seriesType,
@@ -19,9 +41,22 @@ function _default(seriesType) {
19
41
  }
20
42
 
21
43
  var dims = map(coordSys.dimensions, function (dim) {
22
- return data.getDimension(data.mapDimension(dim));
44
+ return data.mapDimension(dim);
23
45
  }).slice(0, 2);
24
46
  var dimLen = dims.length;
47
+ var stackResultDim = data.getCalculationInfo('stackResultDimension');
48
+
49
+ if (isDimensionStacked(data, dims[0]
50
+ /*, dims[1]*/
51
+ )) {
52
+ dims[0] = stackResultDim;
53
+ }
54
+
55
+ if (isDimensionStacked(data, dims[1]
56
+ /*, dims[0]*/
57
+ )) {
58
+ dims[1] = stackResultDim;
59
+ }
25
60
 
26
61
  function progress(params, data) {
27
62
  var segCount = params.end - params.start;
@@ -31,11 +66,11 @@ function _default(seriesType) {
31
66
  var point;
32
67
 
33
68
  if (dimLen === 1) {
34
- var x = data.get(dims[0], i, true);
69
+ var x = data.get(dims[0], i);
35
70
  point = !isNaN(x) && coordSys.dataToPoint(x, null, tmpOut);
36
71
  } else {
37
- var x = tmpIn[0] = data.get(dims[0], i, true);
38
- var y = tmpIn[1] = data.get(dims[1], i, true); // Also {Array.<number>}, not undefined to avoid if...else... statement
72
+ var x = tmpIn[0] = data.get(dims[0], i);
73
+ var y = tmpIn[1] = data.get(dims[1], i); // Also {Array.<number>}, not undefined to avoid if...else... statement
39
74
 
40
75
  point = !isNaN(x) && !isNaN(y) && coordSys.dataToPoint(tmpIn, null, tmpOut);
41
76
  }
@@ -2,6 +2,24 @@ var zrUtil = require("zrender/lib/core/util");
2
2
 
3
3
  var graphic = require("../util/graphic");
4
4
 
5
+ /*
6
+ * Licensed to the Apache Software Foundation (ASF) under one
7
+ * or more contributor license agreements. See the NOTICE file
8
+ * distributed with this work for additional information
9
+ * regarding copyright ownership. The ASF licenses this file
10
+ * to you under the Apache License, Version 2.0 (the
11
+ * "License"); you may not use this file except in compliance
12
+ * with the License. You may obtain a copy of the License at
13
+ *
14
+ * http://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing,
17
+ * software distributed under the License is distributed on an
18
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19
+ * KIND, either express or implied. See the License for the
20
+ * specific language governing permissions and limitations
21
+ * under the License.
22
+ */
5
23
  var PI = Math.PI;
6
24
  /**
7
25
  * @param {module:echarts/ExtensionAPI} api
@@ -17,6 +17,25 @@ var layout = require("../util/layout");
17
17
 
18
18
  var boxLayoutMixin = require("./mixin/boxLayout");
19
19
 
20
+ /*
21
+ * Licensed to the Apache Software Foundation (ASF) under one
22
+ * or more contributor license agreements. See the NOTICE file
23
+ * distributed with this work for additional information
24
+ * regarding copyright ownership. The ASF licenses this file
25
+ * to you under the Apache License, Version 2.0 (the
26
+ * "License"); you may not use this file except in compliance
27
+ * with the License. You may obtain a copy of the License at
28
+ *
29
+ * http://www.apache.org/licenses/LICENSE-2.0
30
+ *
31
+ * Unless required by applicable law or agreed to in writing,
32
+ * software distributed under the License is distributed on an
33
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
34
+ * KIND, either express or implied. See the License for the
35
+ * specific language governing permissions and limitations
36
+ * under the License.
37
+ */
38
+
20
39
  /**
21
40
  * Component model
22
41
  *