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 Model = require("../../model/Model");
6
6
 
7
7
  var AxisView = require("./AxisView");
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 elementList = ['axisLine', 'axisLabel', 'axisTick', 'splitLine', 'splitArea'];
10
28
 
11
29
  function getAxisLineShape(polar, rExtent, angle) {
@@ -23,6 +41,16 @@ function getAxisLineShape(polar, rExtent, angle) {
23
41
  function getRadiusIdx(polar) {
24
42
  var radiusAxis = polar.getRadiusAxis();
25
43
  return radiusAxis.inverse ? 0 : 1;
44
+ } // Remove the last tick which will overlap the first tick
45
+
46
+
47
+ function fixAngleOverlap(list) {
48
+ var firstItem = list[0];
49
+ var lastItem = list[list.length - 1];
50
+
51
+ if (firstItem && lastItem && Math.abs(Math.abs(firstItem.coord - lastItem.coord) - 360) < 1e-4) {
52
+ list.pop();
53
+ }
26
54
  }
27
55
 
28
56
  var _default = AxisView.extend({
@@ -39,15 +67,16 @@ var _default = AxisView.extend({
39
67
  var polar = angleAxis.polar;
40
68
  var radiusExtent = polar.getRadiusAxis().getExtent();
41
69
  var ticksAngles = angleAxis.getTicksCoords();
42
-
43
- if (angleAxis.type !== 'category') {
44
- // Remove the last tick which will overlap the first tick
45
- ticksAngles.pop();
46
- }
47
-
70
+ var labels = zrUtil.map(angleAxis.getViewLabels(), function (labelItem) {
71
+ var labelItem = zrUtil.clone(labelItem);
72
+ labelItem.coord = angleAxis.dataToCoord(labelItem.tickValue);
73
+ return labelItem;
74
+ });
75
+ fixAngleOverlap(labels);
76
+ fixAngleOverlap(ticksAngles);
48
77
  zrUtil.each(elementList, function (name) {
49
78
  if (angleAxisModel.get(name + '.show') && (!angleAxis.scale.isBlank() || name === 'axisLine')) {
50
- this['_' + name](angleAxisModel, polar, ticksAngles, radiusExtent);
79
+ this['_' + name](angleAxisModel, polar, ticksAngles, radiusExtent, labels);
51
80
  }
52
81
  }, this);
53
82
  },
@@ -78,9 +107,9 @@ var _default = AxisView.extend({
78
107
  var tickModel = angleAxisModel.getModel('axisTick');
79
108
  var tickLen = (tickModel.get('inside') ? -1 : 1) * tickModel.get('length');
80
109
  var radius = radiusExtent[getRadiusIdx(polar)];
81
- var lines = zrUtil.map(ticksAngles, function (tickAngle) {
110
+ var lines = zrUtil.map(ticksAngles, function (tickAngleItem) {
82
111
  return new graphic.Line({
83
- shape: getAxisLineShape(polar, [radius, radius + tickLen], tickAngle)
112
+ shape: getAxisLineShape(polar, [radius, radius + tickLen], tickAngleItem.coord)
84
113
  });
85
114
  });
86
115
  this.group.add(graphic.mergePath(lines, {
@@ -93,24 +122,23 @@ var _default = AxisView.extend({
93
122
  /**
94
123
  * @private
95
124
  */
96
- _axisLabel: function (angleAxisModel, polar, ticksAngles, radiusExtent) {
97
- var axis = angleAxisModel.axis;
98
- var categoryData = angleAxisModel.getCategories();
99
- var labelModel = angleAxisModel.getModel('axisLabel');
100
- var labels = angleAxisModel.getFormattedLabels();
101
- var labelMargin = labelModel.get('margin');
102
- var labelsAngles = axis.getLabelsCoords(); // Use length of ticksAngles because it may remove the last tick to avoid overlapping
103
-
104
- for (var i = 0; i < ticksAngles.length; i++) {
125
+ _axisLabel: function (angleAxisModel, polar, ticksAngles, radiusExtent, labels) {
126
+ var rawCategoryData = angleAxisModel.getCategories(true);
127
+ var commonLabelModel = angleAxisModel.getModel('axisLabel');
128
+ var labelMargin = commonLabelModel.get('margin'); // Use length of ticksAngles because it may remove the last tick to avoid overlapping
129
+
130
+ zrUtil.each(labels, function (labelItem, idx) {
131
+ var labelModel = commonLabelModel;
132
+ var tickValue = labelItem.tickValue;
105
133
  var r = radiusExtent[getRadiusIdx(polar)];
106
- var p = polar.coordToPoint([r + labelMargin, labelsAngles[i]]);
134
+ var p = polar.coordToPoint([r + labelMargin, labelItem.coord]);
107
135
  var cx = polar.cx;
108
136
  var cy = polar.cy;
109
137
  var labelTextAlign = Math.abs(p[0] - cx) / r < 0.3 ? 'center' : p[0] > cx ? 'left' : 'right';
110
138
  var labelTextVerticalAlign = Math.abs(p[1] - cy) / r < 0.3 ? 'middle' : p[1] > cy ? 'top' : 'bottom';
111
139
 
112
- if (categoryData && categoryData[i] && categoryData[i].textStyle) {
113
- labelModel = new Model(categoryData[i].textStyle, labelModel, labelModel.ecModel);
140
+ if (rawCategoryData && rawCategoryData[tickValue] && rawCategoryData[tickValue].textStyle) {
141
+ labelModel = new Model(rawCategoryData[tickValue].textStyle, commonLabelModel, commonLabelModel.ecModel);
114
142
  }
115
143
 
116
144
  var textEl = new graphic.Text({
@@ -121,11 +149,11 @@ var _default = AxisView.extend({
121
149
  x: p[0],
122
150
  y: p[1],
123
151
  textFill: labelModel.getTextColor() || angleAxisModel.get('axisLine.lineStyle.color'),
124
- text: labels[i],
152
+ text: labelItem.formattedLabel,
125
153
  textAlign: labelTextAlign,
126
154
  textVerticalAlign: labelTextVerticalAlign
127
155
  });
128
- }
156
+ }, this);
129
157
  },
130
158
 
131
159
  /**
@@ -143,7 +171,7 @@ var _default = AxisView.extend({
143
171
  var colorIndex = lineCount++ % lineColors.length;
144
172
  splitLines[colorIndex] = splitLines[colorIndex] || [];
145
173
  splitLines[colorIndex].push(new graphic.Line({
146
- shape: getAxisLineShape(polar, radiusExtent, ticksAngles[i])
174
+ shape: getAxisLineShape(polar, radiusExtent, ticksAngles[i].coord)
147
175
  }));
148
176
  } // Simple optimization
149
177
  // Batching the lines if color are the same
@@ -164,6 +192,10 @@ var _default = AxisView.extend({
164
192
  * @private
165
193
  */
166
194
  _splitArea: function (angleAxisModel, polar, ticksAngles, radiusExtent) {
195
+ if (!ticksAngles.length) {
196
+ return;
197
+ }
198
+
167
199
  var splitAreaModel = angleAxisModel.getModel('splitArea');
168
200
  var areaStyleModel = splitAreaModel.getModel('areaStyle');
169
201
  var areaColors = areaStyleModel.get('color');
@@ -171,7 +203,7 @@ var _default = AxisView.extend({
171
203
  areaColors = areaColors instanceof Array ? areaColors : [areaColors];
172
204
  var splitAreas = [];
173
205
  var RADIAN = Math.PI / 180;
174
- var prevAngle = -ticksAngles[0] * RADIAN;
206
+ var prevAngle = -ticksAngles[0].coord * RADIAN;
175
207
  var r0 = Math.min(radiusExtent[0], radiusExtent[1]);
176
208
  var r1 = Math.max(radiusExtent[0], radiusExtent[1]);
177
209
  var clockwise = angleAxisModel.get('clockwise');
@@ -186,12 +218,12 @@ var _default = AxisView.extend({
186
218
  r0: r0,
187
219
  r: r1,
188
220
  startAngle: prevAngle,
189
- endAngle: -ticksAngles[i] * RADIAN,
221
+ endAngle: -ticksAngles[i].coord * RADIAN,
190
222
  clockwise: clockwise
191
223
  },
192
224
  silent: true
193
225
  }));
194
- prevAngle = -ticksAngles[i] * RADIAN;
226
+ prevAngle = -ticksAngles[i].coord * RADIAN;
195
227
  } // Simple optimization
196
228
  // Batching the lines if color are the same
197
229
 
@@ -25,6 +25,25 @@ var matrixUtil = require("zrender/lib/core/matrix");
25
25
  var _vector = require("zrender/lib/core/vector");
26
26
 
27
27
  var v2ApplyTransform = _vector.applyTransform;
28
+
29
+ /*
30
+ * Licensed to the Apache Software Foundation (ASF) under one
31
+ * or more contributor license agreements. See the NOTICE file
32
+ * distributed with this work for additional information
33
+ * regarding copyright ownership. The ASF licenses this file
34
+ * to you under the Apache License, Version 2.0 (the
35
+ * "License"); you may not use this file except in compliance
36
+ * with the License. You may obtain a copy of the License at
37
+ *
38
+ * http://www.apache.org/licenses/LICENSE-2.0
39
+ *
40
+ * Unless required by applicable law or agreed to in writing,
41
+ * software distributed under the License is distributed on an
42
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
43
+ * KIND, either express or implied. See the License for the
44
+ * specific language governing permissions and limitations
45
+ * under the License.
46
+ */
28
47
  var PI = Math.PI;
29
48
 
30
49
  function makeAxisEventDataBase(axisModel) {
@@ -69,8 +88,6 @@ function makeAxisEventDataBase(axisModel) {
69
88
  * @param {string} [opt.axisName] default get from axisModel.
70
89
  * @param {number} [opt.axisNameAvailableWidth]
71
90
  * @param {number} [opt.labelRotate] by degree, default get from axisModel.
72
- * @param {number} [opt.labelInterval] Default label interval when label
73
- * interval from model is null or 'auto'.
74
91
  * @param {number} [opt.strokeContainThreshold] Default label interval when label
75
92
  * @param {number} [opt.nameTruncateMaxWidth]
76
93
  */
@@ -164,6 +181,11 @@ var builders = {
164
181
  })));
165
182
  var arrows = axisModel.get('axisLine.symbol');
166
183
  var arrowSize = axisModel.get('axisLine.symbolSize');
184
+ var arrowOffset = axisModel.get('axisLine.symbolOffset') || 0;
185
+
186
+ if (typeof arrowOffset === 'number') {
187
+ arrowOffset = [arrowOffset, arrowOffset];
188
+ }
167
189
 
168
190
  if (arrows != null) {
169
191
  if (typeof arrows === 'string') {
@@ -178,12 +200,23 @@ var builders = {
178
200
 
179
201
  var symbolWidth = arrowSize[0];
180
202
  var symbolHeight = arrowSize[1];
181
- each([[opt.rotation + Math.PI / 2, pt1], [opt.rotation - Math.PI / 2, pt2]], function (item, index) {
203
+ each([{
204
+ rotate: opt.rotation + Math.PI / 2,
205
+ offset: arrowOffset[0],
206
+ r: 0
207
+ }, {
208
+ rotate: opt.rotation - Math.PI / 2,
209
+ offset: arrowOffset[1],
210
+ r: Math.sqrt((pt1[0] - pt2[0]) * (pt1[0] - pt2[0]) + (pt1[1] - pt2[1]) * (pt1[1] - pt2[1]))
211
+ }], function (point, index) {
182
212
  if (arrows[index] !== 'none' && arrows[index] != null) {
183
- var symbol = createSymbol(arrows[index], -symbolWidth / 2, -symbolHeight / 2, symbolWidth, symbolHeight, lineStyle.stroke, true);
213
+ var symbol = createSymbol(arrows[index], -symbolWidth / 2, -symbolHeight / 2, symbolWidth, symbolHeight, lineStyle.stroke, true); // Calculate arrow position with offset
214
+
215
+ var r = point.r + point.offset;
216
+ var pos = [pt1[0] + r * Math.cos(opt.rotation), pt1[1] - r * Math.sin(opt.rotation)];
184
217
  symbol.attr({
185
- rotation: item[0],
186
- position: item[1],
218
+ rotation: point.rotate,
219
+ position: pos,
187
220
  silent: true
188
221
  });
189
222
  this.group.add(symbol);
@@ -454,36 +487,6 @@ function isTwoLabelOverlapped(current, next, labelLayout) {
454
487
  function isNameLocationCenter(nameLocation) {
455
488
  return nameLocation === 'middle' || nameLocation === 'center';
456
489
  }
457
- /**
458
- * @static
459
- */
460
-
461
-
462
- var ifIgnoreOnTick = AxisBuilder.ifIgnoreOnTick = function (axis, i, interval, ticksCnt, showMinLabel, showMaxLabel) {
463
- if (i === 0 && showMinLabel || i === ticksCnt - 1 && showMaxLabel) {
464
- return false;
465
- } // FIXME
466
- // Have not consider label overlap (if label is too long) yet.
467
-
468
-
469
- var rawTick;
470
- var scale = axis.scale;
471
- return scale.type === 'ordinal' && (typeof interval === 'function' ? (rawTick = scale.getTicks()[i], !interval(rawTick, scale.getLabel(rawTick))) : i % (interval + 1));
472
- };
473
- /**
474
- * @static
475
- */
476
-
477
-
478
- var getInterval = AxisBuilder.getInterval = function (model, labelInterval) {
479
- var interval = model.get('interval');
480
-
481
- if (interval == null || interval == 'auto') {
482
- interval = labelInterval;
483
- }
484
-
485
- return interval;
486
- };
487
490
 
488
491
  function buildAxisTick(axisBuilder, axisModel, opt) {
489
492
  var axis = axisModel.axis;
@@ -495,26 +498,14 @@ function buildAxisTick(axisBuilder, axisModel, opt) {
495
498
  var tickModel = axisModel.getModel('axisTick');
496
499
  var lineStyleModel = tickModel.getModel('lineStyle');
497
500
  var tickLen = tickModel.get('length');
498
- var tickInterval = getInterval(tickModel, opt.labelInterval);
499
- var ticksCoords = axis.getTicksCoords(tickModel.get('alignWithLabel')); // FIXME
500
- // Corresponds to ticksCoords ?
501
-
502
- var ticks = axis.scale.getTicks();
503
- var showMinLabel = axisModel.get('axisLabel.showMinLabel');
504
- var showMaxLabel = axisModel.get('axisLabel.showMaxLabel');
501
+ var ticksCoords = axis.getTicksCoords();
505
502
  var pt1 = [];
506
503
  var pt2 = [];
507
504
  var matrix = axisBuilder._transform;
508
505
  var tickEls = [];
509
- var ticksCnt = ticksCoords.length;
510
-
511
- for (var i = 0; i < ticksCnt; i++) {
512
- // Only ordinal scale support tick interval
513
- if (ifIgnoreOnTick(axis, i, tickInterval, ticksCnt, showMinLabel, showMaxLabel)) {
514
- continue;
515
- }
516
506
 
517
- var tickCoord = ticksCoords[i];
507
+ for (var i = 0; i < ticksCoords.length; i++) {
508
+ var tickCoord = ticksCoords[i].coord;
518
509
  pt1[0] = tickCoord;
519
510
  pt1[1] = 0;
520
511
  pt2[0] = tickCoord;
@@ -528,7 +519,7 @@ function buildAxisTick(axisBuilder, axisModel, opt) {
528
519
 
529
520
  var tickEl = new graphic.Line(graphic.subPixelOptimizeLine({
530
521
  // Id for animation
531
- anid: 'tick_' + ticks[i],
522
+ anid: 'tick_' + ticksCoords[i].tickValue,
532
523
  shape: {
533
524
  x1: pt1[0],
534
525
  y1: pt1[1],
@@ -558,58 +549,53 @@ function buildAxisLabel(axisBuilder, axisModel, opt) {
558
549
 
559
550
  var labelModel = axisModel.getModel('axisLabel');
560
551
  var labelMargin = labelModel.get('margin');
561
- var ticks = axis.scale.getTicks();
562
- var labels = axisModel.getFormattedLabels(); // Special label rotate.
552
+ var labels = axis.getViewLabels(); // Special label rotate.
563
553
 
564
554
  var labelRotation = (retrieve(opt.labelRotate, labelModel.get('rotate')) || 0) * PI / 180;
565
555
  var labelLayout = innerTextLayout(opt.rotation, labelRotation, opt.labelDirection);
566
- var categoryData = axisModel.getCategories();
556
+ var rawCategoryData = axisModel.getCategories(true);
567
557
  var labelEls = [];
568
558
  var silent = isSilent(axisModel);
569
559
  var triggerEvent = axisModel.get('triggerEvent');
570
- var showMinLabel = axisModel.get('axisLabel.showMinLabel');
571
- var showMaxLabel = axisModel.get('axisLabel.showMaxLabel');
572
- each(ticks, function (tickVal, index) {
573
- if (ifIgnoreOnTick(axis, index, opt.labelInterval, ticks.length, showMinLabel, showMaxLabel)) {
574
- return;
575
- }
576
-
560
+ each(labels, function (labelItem, index) {
561
+ var tickValue = labelItem.tickValue;
562
+ var formattedLabel = labelItem.formattedLabel;
563
+ var rawLabel = labelItem.rawLabel;
577
564
  var itemLabelModel = labelModel;
578
565
 
579
- if (categoryData && categoryData[tickVal] && categoryData[tickVal].textStyle) {
580
- itemLabelModel = new Model(categoryData[tickVal].textStyle, labelModel, axisModel.ecModel);
566
+ if (rawCategoryData && rawCategoryData[tickValue] && rawCategoryData[tickValue].textStyle) {
567
+ itemLabelModel = new Model(rawCategoryData[tickValue].textStyle, labelModel, axisModel.ecModel);
581
568
  }
582
569
 
583
570
  var textColor = itemLabelModel.getTextColor() || axisModel.get('axisLine.lineStyle.color');
584
- var tickCoord = axis.dataToCoord(tickVal);
571
+ var tickCoord = axis.dataToCoord(tickValue);
585
572
  var pos = [tickCoord, opt.labelOffset + opt.labelDirection * labelMargin];
586
- var labelStr = axis.scale.getLabel(tickVal);
587
573
  var textEl = new graphic.Text({
588
574
  // Id for animation
589
- anid: 'label_' + tickVal,
575
+ anid: 'label_' + tickValue,
590
576
  position: pos,
591
577
  rotation: labelLayout.rotation,
592
578
  silent: silent,
593
579
  z2: 10
594
580
  });
595
581
  graphic.setTextStyle(textEl.style, itemLabelModel, {
596
- text: labels[index],
582
+ text: formattedLabel,
597
583
  textAlign: itemLabelModel.getShallow('align', true) || labelLayout.textAlign,
598
584
  textVerticalAlign: itemLabelModel.getShallow('verticalAlign', true) || itemLabelModel.getShallow('baseline', true) || labelLayout.textVerticalAlign,
599
585
  textFill: typeof textColor === 'function' ? textColor( // (1) In category axis with data zoom, tick is not the original
600
586
  // index of axis.data. So tick should not be exposed to user
601
587
  // in category axis.
602
- // (2) Compatible with previous version, which always returns labelStr.
603
- // But in interval scale labelStr is like '223,445', which maked
604
- // user repalce ','. So we modify it to return original val but remain
588
+ // (2) Compatible with previous version, which always use formatted label as
589
+ // input. But in interval scale the formatted label is like '223,445', which
590
+ // maked user repalce ','. So we modify it to return original val but remain
605
591
  // it as 'string' to avoid error in replacing.
606
- axis.type === 'category' ? labelStr : axis.type === 'value' ? tickVal + '' : tickVal, index) : textColor
592
+ axis.type === 'category' ? rawLabel : axis.type === 'value' ? tickValue + '' : tickValue, index) : textColor
607
593
  }); // Pack data for mouse event
608
594
 
609
595
  if (triggerEvent) {
610
596
  textEl.eventData = makeAxisEventDataBase(axisModel);
611
597
  textEl.eventData.targetType = 'axisLabel';
612
- textEl.eventData.value = labelStr;
598
+ textEl.eventData.value = rawLabel;
613
599
  } // FIXME
614
600
 
615
601
 
@@ -6,6 +6,25 @@ var echarts = require("../../echarts");
6
6
 
7
7
  var axisPointerModelHelper = require("../axisPointer/modelHelper");
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
+ */
27
+
9
28
  /**
10
29
  * Base class of AxisView.
11
30
  */
@@ -6,10 +6,26 @@ var AxisBuilder = require("./AxisBuilder");
6
6
 
7
7
  var AxisView = require("./AxisView");
8
8
 
9
- var cartesianAxisHelper = require("./cartesianAxisHelper");
10
-
11
- var ifIgnoreOnTick = AxisBuilder.ifIgnoreOnTick;
12
- var getInterval = AxisBuilder.getInterval;
9
+ var cartesianAxisHelper = require("../../coord/cartesian/cartesianAxisHelper");
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
+ */
13
29
  var axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];
14
30
  var selfBuilderAttrs = ['splitArea', 'splitLine']; // function getAlignWithLabel(model, axisModel) {
15
31
  // var alignWithLabel = model.get('alignWithLabel');
@@ -45,20 +61,22 @@ var CartesianAxisView = AxisView.extend({
45
61
 
46
62
  zrUtil.each(selfBuilderAttrs, function (name) {
47
63
  if (axisModel.get(name + '.show')) {
48
- this['_' + name](axisModel, gridModel, layout.labelInterval);
64
+ this['_' + name](axisModel, gridModel);
49
65
  }
50
66
  }, this);
51
67
  graphic.groupTransition(oldAxisGroup, this._axisGroup, axisModel);
52
68
  CartesianAxisView.superCall(this, 'render', axisModel, ecModel, api, payload);
53
69
  },
70
+ remove: function () {
71
+ this._splitAreaColors = null;
72
+ },
54
73
 
55
74
  /**
56
75
  * @param {module:echarts/coord/cartesian/AxisModel} axisModel
57
76
  * @param {module:echarts/coord/cartesian/GridModel} gridModel
58
- * @param {number|Function} labelInterval
59
77
  * @private
60
78
  */
61
- _splitLine: function (axisModel, gridModel, labelInterval) {
79
+ _splitLine: function (axisModel, gridModel) {
62
80
  var axis = axisModel.axis;
63
81
 
64
82
  if (axis.scale.isBlank()) {
@@ -68,15 +86,13 @@ var CartesianAxisView = AxisView.extend({
68
86
  var splitLineModel = axisModel.getModel('splitLine');
69
87
  var lineStyleModel = splitLineModel.getModel('lineStyle');
70
88
  var lineColors = lineStyleModel.get('color');
71
- var lineInterval = getInterval(splitLineModel, labelInterval);
72
89
  lineColors = zrUtil.isArray(lineColors) ? lineColors : [lineColors];
73
90
  var gridRect = gridModel.coordinateSystem.getRect();
74
91
  var isHorizontal = axis.isHorizontal();
75
92
  var lineCount = 0;
76
- var ticksCoords = axis.getTicksCoords();
77
- var ticks = axis.scale.getTicks();
78
- var showMinLabel = axisModel.get('axisLabel.showMinLabel');
79
- var showMaxLabel = axisModel.get('axisLabel.showMaxLabel');
93
+ var ticksCoords = axis.getTicksCoords({
94
+ tickModel: splitLineModel
95
+ });
80
96
  var p1 = [];
81
97
  var p2 = []; // Simple optimization
82
98
  // Batching the lines if color are the same
@@ -84,11 +100,7 @@ var CartesianAxisView = AxisView.extend({
84
100
  var lineStyle = lineStyleModel.getLineStyle();
85
101
 
86
102
  for (var i = 0; i < ticksCoords.length; i++) {
87
- if (ifIgnoreOnTick(axis, i, lineInterval, ticksCoords.length, showMinLabel, showMaxLabel)) {
88
- continue;
89
- }
90
-
91
- var tickCoord = axis.toGlobalCoord(ticksCoords[i]);
103
+ var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);
92
104
 
93
105
  if (isHorizontal) {
94
106
  p1[0] = tickCoord;
@@ -103,9 +115,10 @@ var CartesianAxisView = AxisView.extend({
103
115
  }
104
116
 
105
117
  var colorIndex = lineCount++ % lineColors.length;
118
+ var tickValue = ticksCoords[i].tickValue;
106
119
 
107
120
  this._axisGroup.add(new graphic.Line(graphic.subPixelOptimizeLine({
108
- anid: 'line_' + ticks[i],
121
+ anid: tickValue != null ? 'line_' + ticksCoords[i].tickValue : null,
109
122
  shape: {
110
123
  x1: p1[0],
111
124
  y1: p1[1],
@@ -123,10 +136,9 @@ var CartesianAxisView = AxisView.extend({
123
136
  /**
124
137
  * @param {module:echarts/coord/cartesian/AxisModel} axisModel
125
138
  * @param {module:echarts/coord/cartesian/GridModel} gridModel
126
- * @param {number|Function} labelInterval
127
139
  * @private
128
140
  */
129
- _splitArea: function (axisModel, gridModel, labelInterval) {
141
+ _splitArea: function (axisModel, gridModel) {
130
142
  var axis = axisModel.axis;
131
143
 
132
144
  if (axis.scale.isBlank()) {
@@ -137,44 +149,63 @@ var CartesianAxisView = AxisView.extend({
137
149
  var areaStyleModel = splitAreaModel.getModel('areaStyle');
138
150
  var areaColors = areaStyleModel.get('color');
139
151
  var gridRect = gridModel.coordinateSystem.getRect();
140
- var ticksCoords = axis.getTicksCoords();
141
- var ticks = axis.scale.getTicks();
142
- var prevX = axis.toGlobalCoord(ticksCoords[0]);
143
- var prevY = axis.toGlobalCoord(ticksCoords[0]);
144
- var count = 0;
145
- var areaInterval = getInterval(splitAreaModel, labelInterval);
152
+ var ticksCoords = axis.getTicksCoords({
153
+ tickModel: splitAreaModel,
154
+ clamp: true
155
+ });
156
+
157
+ if (!ticksCoords.length) {
158
+ return;
159
+ } // For Making appropriate splitArea animation, the color and anid
160
+ // should be corresponding to previous one if possible.
161
+
162
+
163
+ var areaColorsLen = areaColors.length;
164
+ var lastSplitAreaColors = this._splitAreaColors;
165
+ var newSplitAreaColors = zrUtil.createHashMap();
166
+ var colorIndex = 0;
167
+
168
+ if (lastSplitAreaColors) {
169
+ for (var i = 0; i < ticksCoords.length; i++) {
170
+ var cIndex = lastSplitAreaColors.get(ticksCoords[i].tickValue);
171
+
172
+ if (cIndex != null) {
173
+ colorIndex = (cIndex + (areaColorsLen - 1) * i) % areaColorsLen;
174
+ break;
175
+ }
176
+ }
177
+ }
178
+
179
+ var prev = axis.toGlobalCoord(ticksCoords[0].coord);
146
180
  var areaStyle = areaStyleModel.getAreaStyle();
147
181
  areaColors = zrUtil.isArray(areaColors) ? areaColors : [areaColors];
148
- var showMinLabel = axisModel.get('axisLabel.showMinLabel');
149
- var showMaxLabel = axisModel.get('axisLabel.showMaxLabel');
150
182
 
151
183
  for (var i = 1; i < ticksCoords.length; i++) {
152
- if (ifIgnoreOnTick(axis, i, areaInterval, ticksCoords.length, showMinLabel, showMaxLabel)) {
153
- continue;
154
- }
155
-
156
- var tickCoord = axis.toGlobalCoord(ticksCoords[i]);
184
+ var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);
157
185
  var x;
158
186
  var y;
159
187
  var width;
160
188
  var height;
161
189
 
162
190
  if (axis.isHorizontal()) {
163
- x = prevX;
191
+ x = prev;
164
192
  y = gridRect.y;
165
193
  width = tickCoord - x;
166
194
  height = gridRect.height;
195
+ prev = x + width;
167
196
  } else {
168
197
  x = gridRect.x;
169
- y = prevY;
198
+ y = prev;
170
199
  width = gridRect.width;
171
200
  height = tickCoord - y;
201
+ prev = y + height;
172
202
  }
173
203
 
174
- var colorIndex = count++ % areaColors.length;
204
+ var tickValue = ticksCoords[i - 1].tickValue;
205
+ tickValue != null && newSplitAreaColors.set(tickValue, colorIndex);
175
206
 
176
207
  this._axisGroup.add(new graphic.Rect({
177
- anid: 'area_' + ticks[i],
208
+ anid: tickValue != null ? 'area_' + tickValue : null,
178
209
  shape: {
179
210
  x: x,
180
211
  y: y,
@@ -187,9 +218,10 @@ var CartesianAxisView = AxisView.extend({
187
218
  silent: true
188
219
  }));
189
220
 
190
- prevX = x + width;
191
- prevY = y + height;
221
+ colorIndex = (colorIndex + 1) % areaColorsLen;
192
222
  }
223
+
224
+ this._splitAreaColors = newSplitAreaColors;
193
225
  }
194
226
  });
195
227
  CartesianAxisView.extend({
@@ -10,6 +10,24 @@ var brushHelper = require("../helper/brushHelper");
10
10
 
11
11
  var graphic = require("../../util/graphic");
12
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
+ */
13
31
  var elementList = ['axisLine', 'axisTickLabel', 'axisName'];
14
32
  var AxisView = echarts.extendComponentView({
15
33
  type: 'parallelAxis',