echarts 4.5.0 → 4.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.DS_Store +0 -0
- package/.gitattributes +3 -0
- package/.github/pull_request_template.md +66 -0
- package/.github/workflows/nodejs.yml +15 -3
- package/.huskyrc +5 -0
- package/CONTRIBUTING.md +16 -160
- package/NOTICE +1 -1
- package/README.md +3 -3
- package/asset/.DS_Store +0 -0
- package/build/.DS_Store +0 -0
- package/dist/echarts-en.common.js +3072 -1261
- package/dist/echarts-en.common.min.js +1 -1
- package/dist/echarts-en.js +4339 -1685
- package/dist/echarts-en.js.map +1 -1
- package/dist/echarts-en.min.js +1 -1
- package/dist/echarts-en.simple.js +2496 -1011
- package/dist/echarts-en.simple.min.js +1 -1
- package/dist/echarts.common.js +3046 -1261
- package/dist/echarts.common.min.js +1 -1
- package/dist/echarts.js +4313 -1685
- package/dist/echarts.js.map +1 -1
- package/dist/echarts.min.js +1 -1
- package/dist/echarts.simple.js +2470 -1011
- package/dist/echarts.simple.min.js +1 -1
- package/dist/extension/bmap.js +33 -11
- package/dist/extension/bmap.js.map +1 -1
- package/dist/extension/bmap.min.js +1 -1
- package/dist/extension/dataTool.js.map +1 -1
- package/extension/.DS_Store +0 -0
- package/extension/bmap/BMapCoordSys.js +14 -4
- package/extension/bmap/BMapModel.js +4 -0
- package/extension/bmap/BMapView.js +18 -10
- package/extension-src/bmap/BMapCoordSys.js +14 -4
- package/extension-src/bmap/BMapModel.js +6 -1
- package/extension-src/bmap/BMapView.js +16 -9
- package/lib/chart/bar/BarSeries.js +14 -1
- package/lib/chart/bar/BarView.js +196 -18
- package/lib/chart/bar/BaseBarSeries.js +3 -1
- package/lib/chart/bar/PictorialBarSeries.js +1 -1
- package/lib/chart/candlestick/candlestickVisual.js +1 -1
- package/lib/chart/effectScatter/EffectScatterSeries.js +3 -1
- package/lib/chart/funnel/FunnelSeries.js +14 -5
- package/lib/chart/funnel/funnelLayout.js +162 -46
- package/lib/chart/gauge/GaugeSeries.js +0 -2
- package/lib/chart/graph/GraphSeries.js +23 -7
- package/lib/chart/graph/GraphView.js +30 -12
- package/lib/chart/graph/circularLayoutHelper.js +8 -2
- package/lib/chart/graph/forceLayout.js +6 -1
- package/lib/chart/graph/simpleLayout.js +1 -1
- package/lib/chart/graph/simpleLayoutHelper.js +10 -4
- package/lib/chart/heatmap/HeatmapView.js +4 -4
- package/lib/chart/helper/EffectLine.js +23 -1
- package/lib/chart/helper/EffectSymbol.js +2 -1
- package/lib/chart/helper/Line.js +129 -42
- package/lib/chart/helper/LineDraw.js +5 -1
- package/lib/chart/helper/Symbol.js +2 -3
- package/lib/chart/helper/createClipPathFromCoordSys.js +4 -1
- package/lib/chart/helper/createListFromArray.js +14 -8
- package/lib/chart/helper/createRenderPlanner.js +6 -3
- package/lib/chart/helper/multipleGraphEdgeHelper.js +258 -0
- package/lib/chart/helper/whiskerBoxCommon.js +22 -16
- package/lib/chart/line/LineSeries.js +3 -1
- package/lib/chart/line/LineView.js +41 -2
- package/lib/chart/lines/LinesSeries.js +0 -2
- package/lib/chart/map/MapSeries.js +14 -5
- package/lib/chart/pie/PieSeries.js +27 -6
- package/lib/chart/pie/PieView.js +22 -15
- package/lib/chart/pie/labelLayout.js +102 -19
- package/lib/chart/pie/pieLayout.js +19 -7
- package/lib/chart/radar/RadarSeries.js +27 -6
- package/lib/chart/radar/RadarView.js +3 -1
- package/lib/chart/sankey/SankeySeries.js +13 -1
- package/lib/chart/sankey/SankeyView.js +70 -32
- package/lib/chart/sankey/sankeyLayout.js +22 -3
- package/lib/chart/scatter/ScatterSeries.js +3 -1
- package/lib/chart/sunburst/SunburstPiece.js +5 -1
- package/lib/chart/sunburst/SunburstSeries.js +29 -12
- package/lib/chart/sunburst/SunburstView.js +5 -1
- package/lib/chart/themeRiver/ThemeRiverSeries.js +24 -33
- package/lib/chart/tree/TreeSeries.js +20 -3
- package/lib/chart/tree/TreeView.js +149 -23
- package/lib/chart/treemap/TreemapSeries.js +25 -4
- package/lib/chart/treemap/TreemapView.js +80 -38
- package/lib/chart/treemap/treemapLayout.js +1 -1
- package/lib/chart/treemap/treemapVisual.js +9 -15
- package/lib/component/axis/AngleAxisView.js +64 -7
- package/lib/component/axis/AxisBuilder.js +62 -24
- package/lib/component/axis/CartesianAxisView.js +52 -85
- package/lib/component/axis/RadiusAxisView.js +36 -4
- package/lib/component/axis/SingleAxisView.js +21 -6
- package/lib/component/axis/axisSplitHelper.js +132 -0
- package/lib/component/axisPointer/axisTrigger.js +1 -1
- package/lib/component/brush/BrushView.js +11 -1
- package/lib/component/brush/visualEncoding.js +13 -2
- package/lib/component/dataZoom/SliderZoomView.js +4 -10
- package/lib/component/helper/BrushController.js +33 -43
- package/lib/component/helper/MapDraw.js +30 -4
- package/lib/component/legend/LegendModel.js +3 -3
- package/lib/component/legend/LegendView.js +17 -13
- package/lib/component/legend/ScrollableLegendView.js +18 -18
- package/lib/component/marker/MarkAreaView.js +53 -15
- package/lib/component/marker/MarkLineModel.js +2 -1
- package/lib/component/marker/MarkLineView.js +3 -0
- package/lib/component/marker/MarkPointView.js +8 -1
- package/lib/component/marker/MarkerModel.js +3 -2
- package/lib/component/marker/markerHelper.js +7 -4
- package/lib/component/timeline/SliderTimelineView.js +7 -1
- package/lib/component/title.js +6 -2
- package/lib/component/toolbox/ToolboxView.js +5 -1
- package/lib/component/toolbox/feature/DataView.js +23 -8
- package/lib/component/toolbox/feature/DataZoom.js +6 -6
- package/lib/component/toolbox/feature/MagicType.js +20 -14
- package/lib/component/toolbox/feature/SaveAsImage.js +4 -2
- package/lib/component/tooltip/TooltipContent.js +101 -30
- package/lib/component/tooltip/TooltipRichContent.js +56 -8
- package/lib/component/tooltip/TooltipView.js +11 -12
- package/lib/component/visualMap/PiecewiseModel.js +3 -6
- package/lib/component/visualMap/VisualMapModel.js +1 -1
- package/lib/coord/Axis.js +30 -2
- package/lib/coord/View.js +9 -0
- package/lib/coord/axisDefault.js +22 -3
- package/lib/coord/axisHelper.js +24 -18
- package/lib/coord/calendar/Calendar.js +8 -4
- package/lib/coord/geo/GeoModel.js +2 -1
- package/lib/coord/geo/geoJSONLoader.js +3 -2
- package/lib/coord/geo/geoSourceManager.js +3 -2
- package/lib/coord/geo/parseGeoJson.js +3 -2
- package/lib/coord/radar/Radar.js +5 -5
- package/lib/data/DataDimensionInfo.js +157 -0
- package/lib/data/Graph.js +1 -6
- package/lib/data/List.js +26 -20
- package/lib/data/Tree.js +5 -42
- package/lib/data/helper/completeDimensions.js +43 -32
- package/lib/data/helper/createDimensions.js +2 -0
- package/lib/data/helper/sourceHelper.js +214 -114
- package/lib/echarts.js +57 -34
- package/lib/langEN.js +26 -0
- package/lib/layout/barGrid.js +19 -13
- package/lib/layout/barPolar.js +1 -6
- package/lib/loading/default.js +43 -27
- package/lib/model/Series.js +4 -4
- package/lib/model/referHelper.js +40 -12
- package/lib/processor/dataSample.js +1 -1
- package/lib/scale/Interval.js +87 -2
- package/lib/scale/Log.js +9 -2
- package/lib/scale/helper.js +1 -43
- package/lib/stream/Scheduler.js +10 -2
- package/lib/theme/dark.js +3 -0
- package/lib/util/format.js +19 -2
- package/lib/util/graphic.js +14 -12
- package/lib/visual/LegendVisualProvider.js +75 -0
- package/lib/visual/VisualMapping.js +1 -1
- package/lib/visual/dataColor.js +2 -12
- package/lib/visual/seriesColor.js +15 -7
- package/lib/visual/symbol.js +12 -2
- package/map/.DS_Store +0 -0
- package/map/js/.DS_Store +0 -0
- package/map/js/china.js +1 -1
- package/map/js/province/.DS_Store +0 -0
- package/map/js/province/chongqing.js +1 -1
- package/map/js/province/gansu.js +2 -2
- package/map/js/province/tianjin.js +1 -28
- package/map/json/.DS_Store +0 -0
- package/map/json/china.json +1 -1
- package/map/json/province/chongqing.json +1 -1
- package/map/json/province/tianjin.json +1 -1
- package/package.json +12 -6
- package/src/.DS_Store +0 -0
- package/src/chart/.DS_Store +0 -0
- package/src/chart/bar/BarSeries.js +15 -1
- package/src/chart/bar/BarView.js +198 -17
- package/src/chart/bar/BaseBarSeries.js +1 -1
- package/src/chart/bar/PictorialBarSeries.js +2 -2
- package/src/chart/candlestick/candlestickVisual.js +1 -1
- package/src/chart/effectScatter/EffectScatterSeries.js +1 -1
- package/src/chart/funnel/FunnelSeries.js +11 -4
- package/src/chart/funnel/funnelLayout.js +179 -53
- package/src/chart/gauge/GaugeSeries.js +0 -1
- package/src/chart/graph/GraphSeries.js +19 -7
- package/src/chart/graph/GraphView.js +28 -10
- package/src/chart/graph/circularLayoutHelper.js +8 -2
- package/src/chart/graph/forceLayout.js +7 -1
- package/src/chart/graph/simpleLayout.js +1 -1
- package/src/chart/graph/simpleLayoutHelper.js +12 -5
- package/src/chart/heatmap/HeatmapView.js +4 -4
- package/src/chart/helper/EffectLine.js +23 -1
- package/src/chart/helper/EffectSymbol.js +2 -1
- package/src/chart/helper/Line.js +122 -37
- package/src/chart/helper/LineDraw.js +5 -1
- package/src/chart/helper/Symbol.js +4 -4
- package/src/chart/helper/createClipPathFromCoordSys.js +4 -0
- package/src/chart/helper/createGraphFromNodeEdge.js +2 -1
- package/src/chart/helper/createListFromArray.js +13 -8
- package/src/chart/helper/createRenderPlanner.js +5 -2
- package/src/chart/helper/multipleGraphEdgeHelper.js +229 -0
- package/src/chart/helper/whiskerBoxCommon.js +21 -16
- package/src/chart/line/LineSeries.js +1 -1
- package/src/chart/line/LineView.js +45 -1
- package/src/chart/lines/LinesSeries.js +1 -3
- package/src/chart/map/MapSeries.js +11 -5
- package/src/chart/pie/PieSeries.js +26 -5
- package/src/chart/pie/PieView.js +20 -15
- package/src/chart/pie/labelLayout.js +114 -22
- package/src/chart/pie/pieLayout.js +20 -7
- package/src/chart/radar/RadarSeries.js +31 -6
- package/src/chart/radar/RadarView.js +4 -2
- package/src/chart/sankey/SankeySeries.js +12 -1
- package/src/chart/sankey/SankeyView.js +75 -30
- package/src/chart/sankey/sankeyLayout.js +25 -5
- package/src/chart/scatter/ScatterSeries.js +1 -1
- package/src/chart/sunburst/SunburstPiece.js +7 -1
- package/src/chart/sunburst/SunburstSeries.js +28 -15
- package/src/chart/sunburst/SunburstView.js +2 -1
- package/src/chart/themeRiver/ThemeRiverSeries.js +25 -30
- package/src/chart/tree/TreeSeries.js +19 -6
- package/src/chart/tree/TreeView.js +156 -23
- package/src/chart/treemap/TreemapSeries.js +23 -5
- package/src/chart/treemap/TreemapView.js +77 -41
- package/src/chart/treemap/treemapLayout.js +2 -2
- package/src/chart/treemap/treemapVisual.js +8 -25
- package/src/component/axis/AngleAxisView.js +75 -7
- package/src/component/axis/AxisBuilder.js +77 -32
- package/src/component/axis/CartesianAxisView.js +47 -83
- package/src/component/axis/RadiusAxisView.js +37 -4
- package/src/component/axis/SingleAxisView.js +21 -4
- package/src/component/axis/axisSplitHelper.js +114 -0
- package/src/component/axisPointer/axisTrigger.js +1 -1
- package/src/component/brush/BrushView.js +8 -1
- package/src/component/brush/visualEncoding.js +6 -3
- package/src/component/dataZoom/SliderZoomView.js +4 -9
- package/src/component/helper/BrushController.js +40 -47
- package/src/component/helper/MapDraw.js +27 -4
- package/src/component/legend/LegendModel.js +3 -3
- package/src/component/legend/LegendView.js +18 -12
- package/src/component/legend/ScrollableLegendView.js +18 -16
- package/src/component/marker/MarkAreaView.js +53 -15
- package/src/component/marker/MarkLineModel.js +2 -1
- package/src/component/marker/MarkLineView.js +3 -1
- package/src/component/marker/MarkPointView.js +7 -1
- package/src/component/marker/MarkerModel.js +3 -2
- package/src/component/marker/markerHelper.js +8 -5
- package/src/component/timeline/SliderTimelineView.js +9 -6
- package/src/component/title.js +4 -3
- package/src/component/toolbox/.DS_Store +0 -0
- package/src/component/toolbox/ToolboxView.js +5 -0
- package/src/component/toolbox/feature/DataView.js +20 -8
- package/src/component/toolbox/feature/DataZoom.js +6 -6
- package/src/component/toolbox/feature/MagicType.js +19 -13
- package/src/component/toolbox/feature/SaveAsImage.js +4 -2
- package/src/component/tooltip/TooltipContent.js +94 -28
- package/src/component/tooltip/TooltipRichContent.js +52 -9
- package/src/component/tooltip/TooltipView.js +14 -12
- package/src/component/visualMap/PiecewiseModel.js +5 -9
- package/src/component/visualMap/VisualMapModel.js +1 -1
- package/src/coord/Axis.js +29 -2
- package/src/coord/View.js +10 -1
- package/src/coord/axisDefault.js +26 -2
- package/src/coord/axisHelper.js +30 -21
- package/src/coord/calendar/Calendar.js +12 -5
- package/src/coord/geo/GeoModel.js +3 -6
- package/src/coord/geo/geoJSONLoader.js +3 -2
- package/src/coord/geo/geoSourceManager.js +3 -2
- package/src/coord/geo/parseGeoJson.js +3 -2
- package/src/coord/radar/Radar.js +6 -8
- package/src/data/DataDimensionInfo.js +135 -0
- package/src/data/Graph.js +0 -5
- package/src/data/List.js +30 -17
- package/src/data/Tree.js +6 -39
- package/src/data/helper/completeDimensions.js +49 -30
- package/src/data/helper/createDimensions.js +2 -0
- package/src/data/helper/sourceHelper.js +216 -124
- package/src/echarts.js +60 -36
- package/src/langEN.js +26 -0
- package/src/layout/barGrid.js +22 -10
- package/src/layout/barPolar.js +4 -6
- package/src/loading/default.js +46 -34
- package/src/model/.DS_Store +0 -0
- package/src/model/Series.js +4 -4
- package/src/model/referHelper.js +34 -11
- package/src/preprocessor/.DS_Store +0 -0
- package/src/processor/dataSample.js +1 -1
- package/src/scale/Interval.js +84 -4
- package/src/scale/Log.js +9 -2
- package/src/scale/helper.js +1 -39
- package/src/stream/Scheduler.js +9 -1
- package/src/theme/dark.js +3 -0
- package/src/util/.DS_Store +0 -0
- package/src/util/format.js +17 -1
- package/src/util/graphic.js +13 -11
- package/src/visual/LegendVisualProvider.js +55 -0
- package/src/visual/VisualMapping.js +1 -1
- package/src/visual/dataColor.js +0 -13
- package/src/visual/seriesColor.js +13 -7
- package/src/visual/symbol.js +11 -2
- package/theme/.DS_Store +0 -0
- package/theme/azul.js +163 -0
- package/theme/bee-inspired.js +178 -0
- package/theme/blue.js +178 -0
- package/theme/caravan.js +178 -0
- package/theme/carp.js +163 -0
- package/theme/cool.js +180 -0
- package/theme/dark-blue.js +168 -0
- package/theme/dark-bold.js +168 -0
- package/theme/dark-digerati.js +168 -0
- package/theme/dark-fresh-cut.js +168 -0
- package/theme/dark-mushroom.js +168 -0
- package/theme/dark.js +69 -62
- package/theme/eduardo.js +178 -0
- package/theme/forest.js +163 -0
- package/theme/fresh-cut.js +163 -0
- package/theme/fruit.js +178 -0
- package/theme/gray.js +220 -0
- package/theme/green.js +222 -0
- package/theme/helianthus.js +263 -0
- package/theme/infographic.js +72 -57
- package/theme/inspired.js +163 -0
- package/theme/jazz.js +163 -0
- package/theme/london.js +163 -0
- package/theme/macarons.js +80 -57
- package/theme/macarons2.js +251 -0
- package/theme/mint.js +155 -0
- package/theme/red-velvet.js +163 -0
- package/theme/red.js +225 -0
- package/theme/roma.js +55 -22
- package/theme/royal.js +163 -0
- package/theme/sakura.js +140 -0
- package/theme/shine.js +52 -45
- package/theme/tech-blue.js +180 -0
- package/theme/vintage.js +37 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"type":"FeatureCollection","features":[{"id":"120101","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@BhB`R@DA@CD@DCFCHBLDF@DABKFIJGQG@COEQM@@OASB"],"encodeOffsets":[[119992,40041]]},"properties":{"cp":[117.195907,39.118327],"name":"和平区","childNum":1}},{"id":"120102","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@XFFIE@BGGA@KVBN_]CCCLgMGE@CD@AGB@AEGMEACB@BA@BFWFACKA@DA@@DA@C@CCCDGIAKMBWLGFERWT]bADCNE@DDIDEFBHTHBD@DLMPJj@ARX@"],"encodeOffsets":[[120075,40099]]},"properties":{"cp":[117.226568,39.122125],"name":"河东区","childNum":1}},{"id":"120103","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@TAPB@@RNPF@DRHPSXSFQHEXKE@CMIFUQA@DC@CCA@CDE@CEE@FOc@@D{@ch]IGFCFE`A\\"],"encodeOffsets":[[119992,40041]]},"properties":{"cp":[117.217536,39.101897],"name":"河西区","childNum":1}},{"id":"120104","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@C@@DCBQ@AcAmBOFaDEHEgKID]ZQTINCJEdkhHDRNCB@FD@BAFDFHB@JIDANFDECCZCBA\\B@Hd@LB@CAU"],"encodeOffsets":[[120007,40074]]},"properties":{"cp":[117.164143,39.120474],"name":"南开区","childNum":1}},{"id":"120105","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@FBBAJBFDJK\\NFEFBLKBBBATP`]QOLB@AHBBEJ@DDDE@QW@BQi@OIKN@CACQECG@CFCJCCCMCGAEDCFBT@DSTQN@BFDBDCJBJAHKAIFDDXDAB"],"encodeOffsets":[[119993,40130]]},"properties":{"cp":[117.201569,39.156632],"name":"河北区","childNum":1}},{"id":"120106","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@JELBBGAIDIACEC@ARMTSKAc@@G[AABYDDDCFMECBIJC@CPHZ@LHNFFNHBCDAZBB@DEJE"],"encodeOffsets":[[119980,40125]]},"properties":{"cp":[117.163301,39.175066],"name":"红桥区","childNum":1}},{"id":"120110","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@CK@QOCEAEK@KAAKAKEoRECIYK{\\Af@BMb@@WAGBC@GV@KYBUkB@@OD@AEUE@IQDAGSJEDFD@CIDAAKDE@KECOKKEABMVMRGBSGE@KDCDADDN@FCHCBGAIGUKUEcB]JULINIZGD[AU@QDMDGFQR_NODiBcDBLHJDCDDF@@CB@@CLBBDXEAEB@@ADAFBHNBFA@BHC@@DHF
NKhDD^DM`UA@LHBAHF@EJWE@RCFCCI@AFGA@BKARP_^ZXZL\\JfHNHEdEAAFBBQCAFPHRGtMBEB@NB^Cb@lECFHDPD@DNBJCFE@CEG@GTCPHBF`@JFBCHJJKRCP@JGTIAQGIDAPAVH@GCEKEEBAAVEBDADPFBBCFBBHE@WHClQPCFBTARE"],"encodeOffsets":[[120391,40118]]},"properties":{"cp":[117.313967,39.087764],"name":"东丽区","childNum":1}},{"id":"120111","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@CGECABC@@EDAQMGClgD]DM^c^YHCF@VrwJBBINBHAFAHBDAN@LDDGCCA@AC@AACBAAEFKA@KDCCJCJDFGF@DCBGDQJERFHGMCLEAAGAFGMMAWE@BHQLKIBAJECCCAAGQW[DAAjS@AIYXKGGT@NBFEBABOJBDMFADGG@BGH@@AACFKGCG@FMWMDABCBAACLCIGCAE@[P¥\\]N¯MNORU^]XKF`_XIIAIkDDZF@@FMDJLmTSDaHgDBJE@@DOBDH[HFJCBCGCBIMKH[L@AAAADUBACECGHWKCHTHBHaJDLF@JNF@FNLAH\\FABPD@EF@@HELCHVF@GXBB@DJBI\\PB@BN@BHK@GBAJ\\F@AACLABBAB@DFHB@FFJCDL@BA@@DF@JEBKHB@CjHBENDH@HSFBDKEAFG\\H@DE@AF@HHBANH@BQ@CBGNFT@`LFABIN@ALDBCFRHFB`D`ANANCG[DM"],"encodeOffsets":[[119940,40092]]},"properties":{"cp":[117.012247,39.139446],"name":"西青区","childNum":1}},{"id":"120112","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ZAZEVKXSPGVEnDHCJYJMVKNEPCdAZHRJJHHBDADG@ECMBCDCLCF@THHANQPWD@DBXRJ@HAJERSJAJBDCEOCAKYBQCA@GBCDSGAGBIHSNA@KCQMCF]INaCuOSGU{zm_yENH@HDELBD@BG@AHH@CHEBCNIAAPABEFMAS@HHWLJZ@BiTBB\\CRXBHDBDDIFABLJRKAGF@BXNNEHHBBBKFNDGHQEIFCRAHCDE@EHICIDDDLCB@ELBFABBD@BBDB@DDCHKCM@CBGAEBGBMAAJIAMP|@@Cd@EPF@DFF@DCB@DDD@@CRBEVNJ@D"],"encodeOffsets":[[120108,40016]]},"properties":{"cp":[117.382549,38.989577],"name":"津南区","childNum":1}},{"id":"120113","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@PQFFJICABACCDAKGJGLHRMVMMERKHH`WBFFCRFJHHIBOK_MC@QLCDIBAMA@COCGCDEkFa@]DMAA@AFsNQHOGBERDAABEFBFcMGeG[IQGGCmgABAAKLEAEF[MILECKA@BA@CABAWCCCIFEFYACBADICIIGM@KMDgDO@UCWIDECABKM@AJEB_KS@MEAH@DARG@BMGA@GBEF@@C[GEHFBCLEAGTG@MCAFgGA@@DGAALIFE@@CB@@ACKIDIGQJ@DHD@@GAAH@FDPbB@BDEJ@BBAFBNBHDBCDBDHBEJFBBDCFANA@AFTFFARPBNLABARA@DD@BB@HFA@PXBBLDACRKEAJF@GPD@AN@BjHCGZFJUN@BA^F@FIAAFNDCF@B\\LONADtJTAFBDCPBDGPETBADNDFFDFCD@LHBBKJFALIA@DB@@BNFBGHBBEN@@DHD@FFBDAH@AHBBCLDBF@@HFBBGJ@BBAFfLLABCH@ADLFJENAHKLAFBDEH@AHBDJB@DB@B@AADEFCLBNCDMDER@BKGA@ADEZDBELH"],"encodeOffsets":[[120140,40274]]},"properties":{"cp":[117.13482,39.225555],"name":"北辰区","childNum":1}},{"id":"120114","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@DKEC^QZS^QwVMAAB@CCI@@CB@H@JCBCFEDBCFF@D@H@FALIXMBIECM@ADE@OABEPA@CBCD@HEDIGEC@AC@KJ@DCH@@DFADEDAFBFALGBMFABKGAAA@CAALEJOFAFIFEB@JKDEJBDCCAEAFI@IDIDINECABGBQBCFC@AOKIHED@EKG@JDFOH@EIEDEFOC@BCEACAACAEI@AAHUXC@GD@AMDED@BEF@BBHAKADID@BGCIBEIIGCAFOAGAEF@BHBALQ@CFCNMDKAEDCFBBC@@CIAACBGG@CFEAKBGLMBIFKEBCG@ADKBeKBEAAI@AHEA@GE@CADKAABGG@CBEA@EGC@CM@AFGAAHME@AA@@CJBBKIEALGA@KDCCEEEMCBCSAOFCHOACDEASBsIBCPM[K@ADEMCBEJB@E]EABM@IVYEDHiG@ABMC@HOE@BILFDQCBAKWA@OEB@GAAC@@CQBABKBAMQOEBSEBEB@BMDEACEAFIGAACDCCAAGAMBEAAI@CF@AaACO@EBGHB@@GC@CRICE@CBAAAKBBD@B[EBIHAL@AGM@@AOAJ[IA@CAAHWM@AHJ@G^G@AF@DA@@FEBBFcJqAEDECFFABBRCHBFEDDNAHA@@`@@CHG@AT`D@AH@@PBBCJDBFABGB@@BBAB@BIFBBDJ@@FE@DHKD@JA@@FGCCDE@AZFDM\\JBCZCRKA@FGA@JHB@FBBXFBCFB@BB@CRJ@DJ@HCTF@ADB@AHEAIFKACH@CA@CLA@FBAFB@@DH@CFE@ADIEKA@FAABIB@BCG@@CC@BAOMCJGG[C@BABG\\AAAD@FL@@DJBADHB@BA@ABOCCDC@@BC@ADB@ADA@AFL@@A\\D@FFBBEB@CLB@ELB@@BAB@DBB@DEA@DD@AFCACDBHJDALF@AFFBBCPB@DB@ABBBBBD@@DDBFB@DHBCHDBLEJNMF@DKCIFCFQCBAA@@AEBAA@@EA@DOICDGD@BB@ALDA@BYLKA@BBGGA@AMHEABCC@GNLE@NC@@DAAAFEAAJKBBBF@CB@BF@AFH@@BN@ADZF@DD@@DF@DCFBEBF@@JB@EDCPA@@FI@@BF@@DDCCTH@C@TD@BB@G^FAGPECBGG@@BSAEDALG@AJA@AHC@ABC@@FEAAHB@@DB@BDF@AHHFA@DBABD@D@CBBBCBXH@DB@AFH@EHCACFCBCFA@CFDACL@BB@AFB@BCDBBA@BBBBCFBADE@B@@BCBBBD@ABE@ABAA@BLD@BHDBEGA@AD@CABEL@CJHBEHDBEJBBPDFCBEJDDBH@@FADHBMNIHFDEFFD@AJFADBBBAF@D@AHDBRDBD@RCBBJV@@BD@BDPBFEBBCDTHL@DAHBBCDBABTDCJJBGJNBAND@ADFBHE@DED@H@@@FH@X@BCBBBCB@DFZ@DMA@CFA@GMCADGAGBCNMAAIA@KXGCODOJMD@LJJC@C@KC@BCFAFDRDBAD@CD^F@DF@BFFA@FJB@DbEPEbElMTIZGAAFA@CJ@BE@@@FHA@EJA@CHBADBGPA@BG@AFBBVGHFL@BBABD@"],"encodeOffsets":[[119960,40574]]},"properties":{"cp":[117.057959,39.376925],"name":"武清区","childNum":1}},{"id":"120115","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@GBAAE@AFC@CFBNC@@HWDGVBBJ@BFBDDBFBADD@EPCFJF@FPGCE@ILH@FFCJGPL@BEDADARAHDBMFCJCJ@JEJFBDBCDIACFILA@EFEJEBIPKFBB@DBBHBALEBANKHEBEACBCFEB@CG@CDI@@LBDD@HFCJGFC@AD@DOBAFPBF@BCN@FDAJWNKJEBG@C@E@DECAEFADIDG@ADJ@DDA@BBUNx]RYT]RFDCLJBADDBGDBDHBFJJ@TBBHB@@DH@AFKBCB@HE@@BEA@D@@ADBHC@@AA@@DCB@DB@@FJ@@FD@@HH@E\\F@ADB@ARBBBFED@BD@@BCA@HD@AJE@@ACAAHDB@BH@AHCB@EAAADGB@BE@BBK@FLEBDDADA@BDNB@DJCBBIR@DBBDBFALDX@DHL@DJFA@BH@HHKJAB@DC@GFOHED@BCBAZE@ADE@AFGACEEDA@@AGAAVJ@IVB@@DB@@DHGJB@JpFBCFBEPPBBCNFBGHBPC@EHBFFRDRA^GD@JCFDJGHBLGFECCBGHBBCFBDCFB@EFGD@@BF@@DPALEDCECDEDABED@HCHJH@FDDEFDHENCLBDDDA@ERABEN@JEDDBACEJ@AINMRBJGAIDCZEJCLAFRTJHAHJHFD@@AEKBAFBRJGF@BPAFBHEDBFHBAFO@@NFH@BEFGHAD@BFBBJID@BFDBDEB@J@AGDCL@FBNIBBFJD@HKDCNDF@DAFGFCdE@A@AICBCJC@C@AGAEFC@@MIBAABC@CKA@CBANACAGC@ARBJG@GLGHCX@LENBNE@EDAFBHHD@DCDIIMLCBGN@@AIEBANEGKLEJDDAAGIKHKCIBECIECSF@GBKGCIDC@FKAAGCBOC@OB@MKGC@CHCAAEFUB@HDLPJDBCAIFGDARDHGBC@EIKDGB@N@PHJHBLHBNARQXGFG@GIGK@IDEFEAAC@EHILCP@JCDGCEOFCBGABCKCBSEEK@ADIGO@AEOCEDDBqNAAH]MKiIAW@@CA@GA@DIMA@CGAAD_EEH@FIA@HIAAHUEDOHAFIOSKGSEcDAEI@@CBCOEC@CDCFEBKEFIMEGEA@@BIA@ERFBDQCABADQDCCAHMJBDEMEADGAUCCC@CDA@CCCICGO@BDJG@CADGK@CCGFICCBKEEDGBCAAEKDAABGFE@ACABCAAeA@HM@GBYD@BE@@NABGB@CCAW@@ACAEF_BYECII@CG"],"encodeOffsets":[[120145,40295]]},"properties":{"cp":[117.308094,39.716965],"name":"宝坻区","childNum":1}},{"id":"120116","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@LCFBLCBDJC@CEIFHTCBJRF@FXPC@@lAAVLZU@@HADBH@Xa@ANe@[BL|J\\FBpQLFLBBB@LFLFBPD@RDLpMpGBPNREHE@@dVF@BJB@BD@@DFDLBDGHGDA^c\\@@cFD@@jEBJZFLhrePFBEJGAENE@IVC@@RBLV@DPT@zJLHPFVDNECC@SACjQJBJCACIDMQhQD@tCD]LBHDBH@GLHNB@DQHBAFDHE@@DEBDFFAD@@BF@BBAB@BNFBEHCXDT@JGAGVEBEDCDB@BF@@DRC@BZ@PAP@BCFAJ@@B@BTC@DB@JEAAB@FB@ACAB@@CC@BCHOF@BADAAADCHBH@HECEB@BCHBDBBCFDBAACBAD@BBPGJF@@ABDB@BD@ABBDDAFCBC@CB@CCAKNECG@EF@@EzQBiAC@Ey@BUI@±]GaQaý¥Y_YeK]EaDqPmHcD{DKQBMMaKEUC_BOASY_YAYDXSIaa¹JgCeOQ[@RUbK¶MPGJMA¯CUSQÓgOKMWEa³OqIGFG@EBEACIGCFK]EE@@DFD@B@BG@BHCFC@@EEAIHEACBC@BFCBQCaDFKACEBECADE@SSKMIKHQKHEJ@[UGCoO@d[CFSMIAIE@AH[A@DOA@AQKOEEBARGNI@G@BSgE@AOACJSKMVC@IXF@hJAFmKCHB@PVVFAHHB@JC@CH@BABD@ABMFC@@BSB@BAAAHG@JL@BBBWABHHB@N@BMBMAEEESMA@EA@@CCE@FC@AEQ@@GCAA@AJC@BEK@AAABSGA@@FEA@BCBC@@EC@@DK@LHBD@HCDBFCBABB@F@@FB@@DFJ@HB@BLADK@HBDBCBG@@DH@@F@DCJIB@JK@AJFBCLBHH@DCBJFF@PATBHB@ABDTbB@DaCAAE@@CAACAOF@HADE@@BICAFBHEBhTBPDBJCFCªvEFeVTROJVT`OFH®_\\OF@DBJHKDBDABADCB¶n`|yHVPTvbDM^JDERNLDB@TMJGHAHBCTAD@HDBARLZDBFPCDIAGBUVOFGB"],"encodeOffsets":[[120348,39943]]},"properties":{"cp":[117.654173,39.032846],"name":"滨海新区","childNum":1}},{"id":"120117","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ABCJKD@RNDL`APGJIGQEEDAE_XGGQLNFUNQNKGIHLHCBDDABDBIJEEORFFAFDJAHC@CJLBDHJ@DJZF`AFEDB@BX@DB@DHABA@MF@@AZCHAN@@GfBBBADDB@BEFAHBBLCBFDBHAFCLFDAJDHEDDL@CHDBH@CI@AHPJDDD@DCB@DDDVDHBBCNFCFIAGNDBCDCRABDBCREAQ@FJB@AB@HFNFEJLFFADEDCD@PFAD@DJ@BFdCTFLHPTEJGBCPVFBGJB@GJB@EFG`FBCHB@DNBCJB@@HDB@@BXjJNLGZ@DBBrMACFANDBFP@JHBCL@FFATLDADHBDAPEAC@EBIFIJGNJJ@JBJJHJHFSZA@BND@@LVB@BJ@AFDBBDEDILjTABlEHHTBvWVAPDHCDFL@LHHB`MFALDNC^M^GJIEKABEGACC@IMA@AOB@EACIGAAEBAECCBDAAAAADAAEFCBDB@ACB@AAAABEBAD@AG@ADFAEB@A@GKSCCgG@AEJA@AFO@ECCQEEEOBGYG@BqGBKXBFKCYJKOIKNEASCeA_ECSBGFENEF@HDZ@FCBE`TEFB@EFHFFEECBCFDFADBDEUWCOGBAIECLG@CEIFA@CF@CGBEGACRA@GMHKG@CAAG^KDCsC@gRNRJCBDIDIAiRBD@TDDMFUCOEKGyIS@COU@AK@QD@JUF@FMHBFIEAfOgqEKIYFA@i@EC@d[@]dCBGHCHKAEC@CC@@AIA@AUE@cF@FGMQAOgFVSBEAODkRGD@XGFAADEAAOEBCACUFBBFALFDF@HUGOBCBHJBRSJIHO@QDILGIADIE_@AEOGSD@HFH@DEFID"],"encodeOffsets":[[120221,40183]]},"properties":{"cp":[117.82828,39.328886],"name":"宁河区","childNum":1}},{"id":"120118","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AHC@@FCA@DHB@JS@@DA@@H]BCTKfG@BHK@@FEAADJD@RJhNNI@@FQBBDCBQA@BBLMIBNFJADHHEBuK@IA@AKU@UDDHKI@HAGAAC]@CDCA@MSAHPGBOEMEIA@EC@@DA@MBAASB@BCB@TE@@BBBBDAHCBDFABFNGBBFKBBFC@BDB@FPC@BPCPMACEoBE@AAC@@DcB_D@ECB@A@BA@B@@DC@@CA@@IE@AAG@BDK@EBABQA@JE@@HC@ABA@@BB@ADOA@DIAACA@NxQB@FIBHXHABFKBFLIDLPDTF@DNC@CAGB@FA@BJDXmBA[@@D@@NL@BHB@H\\BTD@HRB@JF@FL@FHDNDABJDCDTD@DTA@@LF@BB@XGBADE@@B@B@DJXJ@XEDFHAFHCBBDBDJBBHTCAIGBAAGBEA@EC@BCB@@BBAC@@AB@@CD@@DB@@DJ@DDF@DAF@@CLABBF@@AB@BBJ@@IBBDBB@ACJBJDR@@HD@@GfBAFXBCLH@GTPFjKAGSGDGXLHGFDBDVABCBB@B\\KLGJNDADHDAEI\\GCGPA@CF@AIhCbGTCnSIKNC@EE@CYlCBJJJ`W~W\\M^WV]^_°VIEG_PUSPISQfUFE©uEDIDCAAOgSFAAGBEJD@AF@BC@GPEDBBB@DF@BBbD@CaACSBAA@AGBS@OEEAICDG@AGDKEABIL@@IJADI@C@EG@@CH@DACAGAL@@OA@@GEI@CA@@EE@A@BADAAEDC@GACOKB@BMEB@ESEAABECAWBAECBBCC@CIBCS@@IWD"],"encodeOffsets":[[119909,39513]]},"properties":{"cp":[116.925304,38.935671],"name":"静海区","childNum":1}},{"id":"120119","type":"Feature","geometry":{"type":"Polygon","coordinates":[],"encodeOffsets":[]},"properties":{"cp":[117.407449,40.045342],"name":"蓟州区","childNum":0}}],"UTF8Encoding":true}
|
|
1
|
+
{"type":"FeatureCollection","features":[{"id":"120101","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@BhB`R@DA@CD@DCFCHBLDF@DABKFIJGQG@COEQM@@OASB"],"encodeOffsets":[[119992,40041]]},"properties":{"cp":[117.195907,39.118327],"name":"和平区","childNum":1}},{"id":"120102","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@XFFIE@BGGA@KVBN_]CCCLgMGE@CD@AGB@AEGMEACB@BA@BFWFACKA@DA@@DA@C@CCCDGIAKMBWLGFERWT]bADCNE@DDIDEFBHTHBD@DLMPJj@ARX@"],"encodeOffsets":[[120075,40099]]},"properties":{"cp":[117.226568,39.122125],"name":"河东区","childNum":1}},{"id":"120103","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@TAPB@@RNPF@DRHPSXSFQHEXKE@CMIFUQA@DC@CCA@CDE@CEE@FOc@@D{@ch]IGFCFE`A\\"],"encodeOffsets":[[119992,40041]]},"properties":{"cp":[117.217536,39.101897],"name":"河西区","childNum":1}},{"id":"120104","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@C@@DCBQ@AcAmBOFaDEHEgKID]ZQTINCJEdkhHDRNCB@FD@BAFDFHB@JIDANFDECCZCBA\\B@Hd@LB@CAU"],"encodeOffsets":[[120007,40074]]},"properties":{"cp":[117.164143,39.120474],"name":"南开区","childNum":1}},{"id":"120105","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@FBBAJBFDJK\\NFEFBLKBBBATP`]QOLB@AHBBEJ@DDDE@QW@BQi@OIKN@CACQECG@CFCJCCCMCGAEDCFBT@DSTQN@BFDBDCJBJAHKAIFDDXDAB"],"encodeOffsets":[[119993,40130]]},"properties":{"cp":[117.201569,39.156632],"name":"河北区","childNum":1}},{"id":"120106","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@JELBBGAIDIACEC@ARMTSKAc@@G[AABYDDDCFMECBIJC@CPHZ@LHNFFNHBCDAZBB@DEJE"],"encodeOffsets":[[119980,40125]]},"properties":{"cp":[117.163301,39.175066],"name":"红桥区","childNum":1}},{"id":"120110","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@CK@QOCEAEK@KAAKAKEoRECIYK{\\Af@BMb@@WAGBC@GV@KYBUkB@@OD@AEUE@IQDAGSJEDFD@CIDAAKDE@KECOKKEABMVMRGBSGE@KDCDADDN@FCHCBGAIGUKUEcB]JULINIZGD[AU@QDMDGFQR_NODiBcDBLHJDCDDF@@CB@@CLBBDXEAEB@@ADAFBHNBFA@BHC@@DHF
NKhDD^DM`UA@LHBAHF@EJWE@RCFCCI@AFGA@BKARP_^ZXZL\\JfHNHEdEAAFBBQCAFPHRGtMBEB@NB^Cb@lECFHDPD@DNBJCFE@CEG@GTCPHBF`@JFBCHJJKRCP@JGTIAQGIDAPAVH@GCEKEEBAAVEBDADPFBBCFBBHE@WHClQPCFBTARE"],"encodeOffsets":[[120391,40118]]},"properties":{"cp":[117.313967,39.087764],"name":"东丽区","childNum":1}},{"id":"120111","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@CGECABC@@EDAQMGClgD]DM^c^YHCF@VrwJBBINBHAFAHBDAN@LDDGCCA@AC@AACBAAEFKA@KDCCJCJDFGF@DCBGDQJERFHGMCLEAAGAFGMMAWE@BHQLKIBAJECCCAAGQW[DAAjS@AIYXKGGT@NBFEBABOJBDMFADGG@BGH@@AACFKGCG@FMWMDABCBAACLCIGCAE@[P¥\\]N¯MNORU^]XKF`_XIIAIkDDZF@@FMDJLmTSDaHgDBJE@@DOBDH[HFJCBCGCBIMKH[L@AAAADUBACECGHWKCHTHBHaJDLF@JNF@FNLAH\\FABPD@EF@@HELCHVF@GXBB@DJBI\\PB@BN@BHK@GBAJ\\F@AACLABBAB@DFHB@FFJCDL@BA@@DF@JEBKHB@CjHBENDH@HSFBDKEAFG\\H@DE@AF@HHBANH@BQ@CBGNFT@`LFABIN@ALDBCFRHFB`D`ANANCG[DM"],"encodeOffsets":[[119940,40092]]},"properties":{"cp":[117.122247,39.029446],"name":"西青区","childNum":1}},{"id":"120112","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ZAZEVKXSPGVEnDHCJYJMVKNEPCdAZHRJJHHBDADG@ECMBCDCLCF@THHANQPWD@DBXRJ@HAJERSJAJBDCEOCAKYBQCA@GBCDSGAGBIHSNA@KCQMCF]INaCuOSGU{zm_yENH@HDELBD@BG@AHH@CHEBCNIAAPABEFMAS@HHWLJZ@BiTBB\\CRXBHDBDDIFABLJRKAGF@BXNNEHHBBBKFNDGHQEIFCRAHCDE@EHICIDDDLCB@ELBFABBD@BBDB@DDCHKCM@CBGAEBGBMAAJIAMP|@@Cd@EPF@DFF@DCB@DDD@@CRBEVNJ@D"],"encodeOffsets":[[120108,40016]]},"properties":{"cp":[117.382549,38.989577],"name":"津南区","childNum":1}},{"id":"120113","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@PQFFJICABACCDAKGJGLHRMVMMERKHH`WBFFCRFJHHIBOK_MC@QLCDIBAMA@COCGCDEkFa@]DMAA@AFsNQHOGBERDAABEFBFcMGeG[IQGGCmgABAAKLEAEF[MILECKA@BA@CABAWCCCIFEFYACBADICIIGM@KMDgDO@UCWIDECABKM@AJEB_KS@MEAH@DARG@BMGA@GBEF@@C[GEHFBCLEAGTG@MCAFgGA@@DGAALIFE@@CB@@ACKIDIGQJ@DHD@@GAAH@FDPbB@BDEJ@BBAFBNBHDBCDBDHBEJFBBDCFANA@AFTFFARPBNLABARA@DD@BB@HFA@PXBBLDACRKEAJF@GPD@AN@BjHCGZFJUN@BA^F@FIAAFNDCF@B\\LONADtJTAFBDCPBDGPETBADNDFFDFCD@LHBBKJFALIA@DB@@BNFBGHBBEN@@DHD@FFBDAH@AHBBCLDBF@@HFBBGJ@BBAFfLLABCH@ADLFJENAHKLAFBDEH@AHBDJB@DB@B@AADEFCLBNCDMDER@BKGA@ADEZDBELH"],"encodeOffsets":[[120140,40274]]},"properties":{"cp":[117.17482,39.255555],"name":"北辰区","childNum":1}},{"id":"120114","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@DKEC^QZS^QwVMAAB@CCI@@CB@H@JCBCFEDBCFF@D@H@FALIXMBIECM@ADE@OABEPA@CBCD@HEDIGEC@AC@KJ@DCH@@DFADEDAFBFALGBMFABKGAAA@CAALEJOFAFIFEB@JKDEJBDCCAEAFI@IDIDINECABGBQBCFC@AOKIHED@EKG@JDFOH@EIEDEFOC@BCEACAACAEI@AAHUXC@GD@AMDED@BEF@BBHAKADID@BGCIBEIIGCAFOAGAEF@BHBALQ@CFCNMDKAEDCFBBC@@CIAACBGG@CFEAKBGLMBIFKEBCG@ADKBeKBEAAI@AHEA@GE@CADKAABGG@CBEA@EGC@CM@AFGAAHME@AA@@CJBBKIEALGA@KDCCEEEMCBCSAOFCHOACDEASBsIBCPM[K@ADEMCBEJB@E]EABM@IVYEDHiG@ABMC@HOE@BILFDQCBAKWA@OEB@GAAC@@CQBABKBAMQOEBSEBEB@BMDEACEAFIGAACDCCAAGAMBEAAI@CF@AaACO@EBGHB@@GC@CRICE@CBAAAKBBD@B[EBIHAL@AGM@@AOAJ[IA@CAAHWM@AHJ@G^G@AF@DA@@FEBBFcJqAEDECFFABBRCHBFEDDNAHA@@`@@CHG@AT`D@AH@@PBBCJDBFABGB@@BBAB@BIFBBDJ@@FE@DHKD@JA@@FGCCDE@AZFDM\\JBCZCRKA@FGA@JHB@FBBXFBCFB@BB@CRJ@DJ@HCTF@ADB@AHEAIFKACH@CA@CLA@FBAFB@@DH@CFE@ADIEKA@FAABIB@BCG@@CC@BAOMCJGG[C@BABG\\AAAD@FL@@DJBADHB@BA@ABOCCDC@@BC@ADB@ADA@AFL@@A\\D@FFBBEB@CLB@ELB@@BAB@DBB@DEA@DD@AFCACDBHJDALF@AFFBBCPB@DB@ABBBBBD@@DDBFB@DHBCHDBLEJNMF@DKCIFCFQCBAA@@AEBAA@@EA@DOICDGD@BB@ALDA@BYLKA@BBGGA@AMHEABCC@GNLE@NC@@DAAAFEAAJKBBBF@CB@BF@AFH@@BN@ADZF@DD@@DF@DCFBEBF@@JB@EDCPA@@FI@@BF@@DDCCTH@C@TD@BB@G^FAGPECBGG@@BSAEDALG@AJA@AHC@ABC@@FEAAHB@@DB@BDF@AHHFA@DBABD@D@CBBBCBXH@DB@AFH@EHCACFCBCFA@CFDACL@BB@AFB@BCDBBA@BBBBCFBADE@B@@BCBBBD@ABE@ABAA@BLD@BHDBEGA@AD@CABEL@CJHBEHDBEJBBPDFCBEJDDBH@@FADHBMNIHFDEFFD@AJFADBBBAF@D@AHDBRDBD@RCBBJV@@BD@BDPBFEBBCDTHL@DAHBBCDBABTDCJJBGJNBAND@ADFBHE@DED@H@@@FH@X@BCBBBCB@DFZ@DMA@CFA@GMCADGAGBCNMAAIA@KXGCODOJMD@LJJC@C@KC@BCFAFDRDBAD@CD^F@DF@BFFA@FJB@DbEPEbElMTIZGAAFA@CJ@BE@@@FHA@EJA@CHBADBGPA@BG@AFBBVGHFL@BBABD@"],"encodeOffsets":[[119960,40574]]},"properties":{"cp":[117.057959,39.466925],"name":"武清区","childNum":1}},{"id":"120115","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@GBAAE@AFC@CFBNC@@HWDGVBBJ@BFBDDBFBADD@EPCFJF@FPGCE@ILH@FFCJGPL@BEDADARAHDBMFCJCJ@JEJFBDBCDIACFILA@EFEJEBIPKFBB@DBBHBALEBANKHEBEACBCFEB@CG@CDI@@LBDD@HFCJGFC@AD@DOBAFPBF@BCN@FDAJWNKJEBG@C@E@DECAEFADIDG@ADJ@DDA@BBUNx]RYT]RFDCLJBADDBGDBDHBFJJ@TBBHB@@DH@AFKBCB@HE@@BEA@D@@ADBHC@@AA@@DCB@DB@@FJ@@FD@@HH@E\\F@ADB@ARBBBFED@BD@@BCA@HD@AJE@@ACAAHDB@BH@AHCB@EAAADGB@BE@BBK@FLEBDDADA@BDNB@DJCBBIR@DBBDBFALDX@DHL@DJFA@BH@HHKJAB@DC@GFOHED@BCBAZE@ADE@AFGACEEDA@@AGAAVJ@IVB@@DB@@DHGJB@JpFBCFBEPPBBCNFBGHBPC@EHBFFRDRA^GD@JCFDJGHBLGFECCBGHBBCFBDCFB@EFGD@@BF@@DPALEDCECDEDABED@HCHJH@FDDEFDHENCLBDDDA@ERABEN@JEDDBACEJ@AINMRBJGAIDCZEJCLAFRTJHAHJHFD@@AEKBAFBRJGF@BPAFBHEDBFHBAFO@@NFH@BEFGHAD@BFBBJID@BFDBDEB@J@AGDCL@FBNIBBFJD@HKDCNDF@DAFGFCdE@A@AICBCJC@C@AGAEFC@@MIBAABC@CKA@CBANACAGC@ARBJG@GLGHCX@LENBNE@EDAFBHHD@DCDIIMLCBGN@@AIEBANEGKLEJDDAAGIKHKCIBECIECSF@GBKGCIDC@FKAAGCBOC@OB@MKGC@CHCAAEFUB@HDLPJDBCAIFGDARDHGBC@EIKDGB@N@PHJHBLHBNARQXGFG@GIGK@IDEFEAAC@EHILCP@JCDGCEOFCBGABCKCBSEEK@ADIGO@AEOCEDDBqNAAH]MKiIAW@@CA@GA@DIMA@CGAAD_EEH@FIA@HIAAHUEDOHAFIOSKGSEcDAEI@@CBCOEC@CDCFEBKEFIMEGEA@@BIA@ERFBDQCABADQDCCAHMJBDEMEADGAUCCC@CDA@CCCICGO@BDJG@CADGK@CCGFICCBKEEDGBCAAEKDAABGFE@ACABCAAeA@HM@GBYD@BE@@NABGB@CCAW@@ACAEF_BYECII@CG"],"encodeOffsets":[[120145,40295]]},"properties":{"cp":[117.428094,39.596965],"name":"宝坻区","childNum":1}},{"id":"120116","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@LCFBLCBDJC@CEIFHTCBJRF@FXPC@@lAAVLZU@@HADBH@Xa@ANe@[BL|J\\FBpQLFLBBB@LFLFBPD@RDLpMpGBPNREHE@@dVF@BJB@BD@@DFDLBDGHGDA^c\\@@cFD@@jEBJZFLhrePFBEJGAENE@IVC@@RBLV@DPT@zJLHPFVDNECC@SACjQJBJCACIDMQhQD@tCD]LBHDBH@GLHNB@DQHBAFDHE@@DEBDFFAD@@BF@BBAB@BNFBEHCXDT@JGAGVEBEDCDB@BF@@DRC@BZ@PAP@BCFAJ@@B@BTC@DB@JEAAB@FB@ACAB@@CC@BCHOF@BADAAADCHBH@HECEB@BCHBDBBCFDBAACBAD@BBPGJF@@ABDB@BD@ABBDDAFCBC@CB@CCAKNECG@EF@@EzQBiAC@Ey@BUI@±]GaQaý¥Y_YeK]EaDqPmHcD{DKQBMMaKEUC_BOASY_YAYDXSIaa¹JgCeOQ[@RUbK¶MPGJMA¯CUSQÓgOKMWEa³OqIGFG@EBEACIGCFK]EE@@DFD@B@BG@BHCFC@@EEAIHEACBC@BFCBQCaDFKACEBECADE@SSKMIKHQKHEJ@[UGCoO@d[CFSMIAIE@AH[A@DOA@AQKOEEBARGNI@G@BSgE@AOACJSKMVC@IXF@hJAFmKCHB@PVVFAHHB@JC@CH@BABD@ABMFC@@BSB@BAAAHG@JL@BBBWABHHB@N@BMBMAEEESMA@EA@@CCE@FC@AEQ@@GCAA@AJC@BEK@AAABSGA@@FEA@BCBC@@EC@@DK@LHBD@HCDBFCBABB@F@@FB@@DFJ@HB@BLADK@HBDBCBG@@DH@@F@DCJIB@JK@AJFBCLBHH@DCBJFF@PATBHB@ABDTbB@DaCAAE@@CAACAOF@HADE@@BICAFBHEBhTBPDBJCFCªvEFeVTROJVT`OFH®_\\OF@DBJHKDBDABADCB¶n`|yHVPTvbDM^JDERNLDB@TMJGHAHBCTAD@HDBARLZDBFPCDIAGBUVOFGB"],"encodeOffsets":[[120348,39943]]},"properties":{"cp":[117.654173,39.032846],"name":"滨海新区","childNum":1}},{"id":"120117","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ABCJKD@RNDL`APGJIGQEEDAE_XGGQLNFUNQNKGIHLHCBDDABDBIJEEORFFAFDJAHC@CJLBDHJ@DJZF`AFEDB@BX@DB@DHABA@MF@@AZCHAN@@GfBBBADDB@BEFAHBBLCBFDBHAFCLFDAJDHEDDL@CHDBH@CI@AHPJDDD@DCB@DDDVDHBBCNFCFIAGNDBCDCRABDBCREAQ@FJB@AB@HFNFEJLFFADEDCD@PFAD@DJ@BFdCTFLHPTEJGBCPVFBGJB@GJB@EFG`FBCHB@DNBCJB@@HDB@@BXjJNLGZ@DBBrMACFANDBFP@JHBCL@FFATLDADHBDAPEAC@EBIFIJGNJJ@JBJJHJHFSZA@BND@@LVB@BJ@AFDBBDEDILjTABlEHHTBvWVAPDHCDFL@LHHB`MFALDNC^M^GJIEKABEGACC@IMA@AOB@EACIGAAEBAECCBDAAAAADAAEFCBDB@ACB@AAAABEBAD@AG@ADFAEB@A@GKSCCgG@AEJA@AFO@ECCQEEEOBGYG@BqGBKXBFKCYJKOIKNEASCeA_ECSBGFENEF@HDZ@FCBE`TEFB@EFHFFEECBCFDFADBDEUWCOGBAIECLG@CEIFA@CF@CGBEGACRA@GMHKG@CAAG^KDCsC@gRNRJCBDIDIAiRBD@TDDMFUCOEKGyIS@COU@AK@QD@JUF@FMHBFIEAfOgqEKIYFA@i@EC@d[@]dCBGHCHKAEC@CC@@AIA@AUE@cF@FGMQAOgFVSBEAODkRGD@XGFAADEAAOEBCACUFBBFALFDF@HUGOBCBHJBRSJIHO@QDILGIADIE_@AEOGSD@HFH@DEFID"],"encodeOffsets":[[120221,40183]]},"properties":{"cp":[117.63828,39.358886],"name":"宁河区","childNum":1}},{"id":"120118","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@AHC@@FCA@DHB@JS@@DA@@H]BCTKfG@BHK@@FEAADJD@RJhNNI@@FQBBDCBQA@BBLMIBNFJADHHEBuK@IA@AKU@UDDHKI@HAGAAC]@CDCA@MSAHPGBOEMEIA@EC@@DA@MBAASB@BCB@TE@@BBBBDAHCBDFABFNGBBFKBBFC@BDB@FPC@BPCPMACEoBE@AAC@@DcB_D@ECB@A@BA@B@@DC@@CA@@IE@AAG@BDK@EBABQA@JE@@HC@ABA@@BB@ADOA@DIAACA@NxQB@FIBHXHABFKBFLIDLPDTF@DNC@CAGB@FA@BJDXmBA[@@D@@NL@BHB@H\\BTD@HRB@JF@FL@FHDNDABJDCDTD@DTA@@LF@BB@XGBADE@@B@B@DJXJ@XEDFHAFHCBBDBDJBBHTCAIGBAAGBEA@EC@BCB@@BBAC@@AB@@CD@@DB@@DJ@DDF@DAF@@CLABBF@@AB@BBJ@@IBBDBB@ACJBJDR@@HD@@GfBAFXBCLH@GTPFjKAGSGDGXLHGFDBDVABCBB@B\\KLGJNDADHDAEI\\GCGPA@CF@AIhCbGTCnSIKNC@EE@CYlCBJJJ`W~W\\M^WV]^_°VIEG_PUSPISQfUFE©uEDIDCAAOgSFAAGBEJD@AF@BC@GPEDBBB@DF@BBbD@CaACSBAA@AGBS@OEEAICDG@AGDKEABIL@@IJADI@C@EG@@CH@DACAGAL@@OA@@GEI@CA@@EE@A@BADAAEDC@GACOKB@BMEB@ESEAABECAWBAECBBCC@CIBCS@@IWD"],"encodeOffsets":[[119909,39513]]},"properties":{"cp":[116.925304,38.935671],"name":"静海区","childNum":1}},{"id":"120119","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@AECDAACDA@AACDE@CF@JMJEHB@BPBJKBEBED@@DB@DC@CFBBAD@@GDCCAFGD@BABBBADBDBDGAEJCBCCE@C^GACDCDBAE@BA@BAC@BABMF@EAFC@@C@@AH@AAD@C@DACA@AMEAC@GECJID@@BBABA@BDB@AB@@BBB@DBBDBFADBBHD@BGD@@ABGD@@EF@CCBAA@@GF@BL@@@EFABB@@B@ACJADHEBF@ABBJDBH@BBFCHAD@BDB@DIBIBCDBCDFB@ED@@AH@AAFCH@JBFEXBBB@DB@H@DADA@ABADGI@BID@DET@BGD@BCD@BBBCACAIMGICGCKB@FA@@EAB@BCA@DAA@MB@AEAEEEBG@SZOBDAJHHFCDBBABFD@@MB@ARZ@@GB@@IDFFAFABAAEDAHA@CE@@CCAFCAEDA@EA@@@CCCA@CCA@CCEAGBAAEACDCKK@CGFKBA@CAKHIICEGBEFOHE@ICKBAFEF@DI@OJIBIAABI@@DA@@CKCEGG@OIMAIBACIAC@EBCAQ@ABCAACCAEAQDE@EDE@EFB@A@ABBDB@BC@DDB@HEAGDGFCB@DCDADI@@BE@@BABC@EAA@@AAACBGAAB@BI@EADCE@ECGDBFEDCAIBE@ABE@CICDCACFEA@ABABIFCDCBEB@DABIQMAIA@@GC@AKB@@ACCCCGDEKGDCEEBGKBM\\IGIB@AGCBCC@BABCEAFE@@AOADAAEF@@BF@FHAEBA@KBA@ECBBBCBACEB@CC@ACFAFSL@BBDEDiRUC@@ADAFEBGHBNQBHFCCEDGIABICCADE@ADAAC@@AD@@CF@@EB@@MBBD@@AB@@BD@FBRWFQ@ENAACC@ICK@@EBGACACIGCILC@CFAIOG@CCEBCCK@CDBHI@A@CFCAAEC@IJAAAEG@CBEHAFG@ME@@EPABEGCAGFEAOB@AHEQIEAABFL@BC@GEGIGBSIEQMBGDWDEFBJIHE@IAOLBLI@DFABCCIFM@AFQB@FCBCCKAMDGFECCFECG@GIGDC@AFCBCFFDCDKFOB@CE@@AC@EH@FEACDEAADGAAHDDQNGAGFC@CAIDC@CBCFE@ADHDCDDD@DH@BDOVAFGFO@AAAGA@KBCGA@OHE@IAAHG@ODEAE@MLA@CEE@ADBFEDCA@CAAM@CDPJ@DGDA@@ECCE@CHIDGEA@@FDFBHFHSNAFBDDBNFBD@FEBO@E@EPKB@DNBNDCDCJ@DHFD@FCFDADEHEDE@CDBDHEFFJFLBDFAF@HAB@BGDBBJED@F@B@DGD@FLBHCBBBALTD@BD@@DB@@JF@AFHB@DB@@PCHB@@HBDABCABDEJBJCDE@AD@NAD@DBRABDBEHEDBDCHDHDADABBFA@FBFTCBAF@FDDCFBJAHD@BEF@BIFCLGFDDHBCBBB@BED@LN@LCBDADHDBHNHDHHDHAHHHA@AD@@CJBNCDEBCHAFFAJFBBFD@DFDBH@FCD@DAB@@FLHDFBFBB@JJDDBBAHAJFFGD@DA@ENBDBJAJDFJD@BCBDBHK@@BDBDDA@G@DDJHBBD@BBEH@FIJ@DCB@DF@H@B@FCBB@BA@@BDB@DDAAADAC@ACF@@DBA@ABB@BDBBBF@D@FEDABBCHDCDBBAP@BBEDJDJHHA@DDBBBEBEFC@CDIG@BCBCAACG@@DA@BFBB@BA@E@AD@BAB@FFFBCAAJDFAFBKHC@AAC@AD@DE@BJCDBBA@F@DDL@LBAD@DABCDFDDF@BFBJA@EDABDDBB@AADBFHDABBAHCFFJD@DBDAF@D@DCD@HDBBFDBDLADBBAF@NGJ@FCDCLABEDBJ@DCBIHABAD@NCD@JGFBN@NDF@BAJBJ@DBF@NDD@@EB@DCD@BDTALGC@D@ACDCBCEIEAACAECCDAF@JGBAAIFC"],"encodeOffsets":[[120398,41158]]},"properties":{"cp":[117.407449,40.045342],"name":"蓟州区","childNum":1}}],"UTF8Encoding":true}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "echarts",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.9.0",
|
|
4
4
|
"description": "A powerful charting and visualization library for browser",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"keywords": [
|
|
@@ -19,14 +19,15 @@
|
|
|
19
19
|
"help": "node build/build.js --help",
|
|
20
20
|
"prepublish": "node build/build.js --prepublish",
|
|
21
21
|
"test:visual": "node test/runTest/server.js",
|
|
22
|
-
"test": "node
|
|
22
|
+
"test:visual:report": "node test/runTest/genReport.js",
|
|
23
|
+
"test": "node build/build.js --prepublish && jest --config test/ut/jest.config.js",
|
|
23
24
|
"mktest": "node test/build/mktest.js",
|
|
24
25
|
"mktest:help": "node test/build/mktest.js -h",
|
|
25
26
|
"lint": "./node_modules/.bin/eslint src extension-src",
|
|
26
27
|
"lint:dist": "echo 'It might take a while. Please wait ...' && ./node_modules/.bin/jshint --config .jshintrc-dist dist/echarts.js"
|
|
27
28
|
},
|
|
28
29
|
"dependencies": {
|
|
29
|
-
"zrender": "4.
|
|
30
|
+
"zrender": "4.3.2"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
33
|
"@babel/core": "7.3.4",
|
|
@@ -35,13 +36,20 @@
|
|
|
35
36
|
"@babel/template": "7.0.0-beta.31",
|
|
36
37
|
"@babel/types": "7.0.0-beta.31",
|
|
37
38
|
"assert": "1.4.1",
|
|
39
|
+
"canvas": "^2.6.0",
|
|
38
40
|
"commander": "2.11.0",
|
|
39
41
|
"coordtransform": "2.0.2",
|
|
40
42
|
"escodegen": "1.8.0",
|
|
43
|
+
"eslint": "6.3.0",
|
|
41
44
|
"esprima": "2.7.2",
|
|
42
45
|
"estraverse": "4.1.1",
|
|
43
46
|
"fs-extra": "0.26.7",
|
|
44
47
|
"glob": "7.0.0",
|
|
48
|
+
"husky": "^4.2.5",
|
|
49
|
+
"jest": "^24.9.0",
|
|
50
|
+
"jest-canvas-mock": "^2.2.0",
|
|
51
|
+
"jsdom": "^15.2.1",
|
|
52
|
+
"jshint": "2.10.2",
|
|
45
53
|
"open": "6.4.0",
|
|
46
54
|
"pixelmatch": "5.0.2",
|
|
47
55
|
"pngjs": "3.4.0",
|
|
@@ -53,8 +61,6 @@
|
|
|
53
61
|
"semver": "6.3.0",
|
|
54
62
|
"serve-handler": "6.1.1",
|
|
55
63
|
"slugify": "1.3.4",
|
|
56
|
-
"socket.io": "2.2.0"
|
|
57
|
-
"jshint": "2.10.2",
|
|
58
|
-
"eslint": "6.3.0"
|
|
64
|
+
"socket.io": "2.2.0"
|
|
59
65
|
}
|
|
60
66
|
}
|
package/src/.DS_Store
ADDED
|
Binary file
|
|
Binary file
|
|
@@ -57,6 +57,20 @@ export default BaseBarSeries.extend({
|
|
|
57
57
|
|
|
58
58
|
// If use caps on two sides of bars
|
|
59
59
|
// Only available on tangential polar bar
|
|
60
|
-
roundCap: false
|
|
60
|
+
roundCap: false,
|
|
61
|
+
|
|
62
|
+
showBackground: false,
|
|
63
|
+
backgroundStyle: {
|
|
64
|
+
color: 'rgba(180, 180, 180, 0.2)',
|
|
65
|
+
borderColor: null,
|
|
66
|
+
borderWidth: 0,
|
|
67
|
+
borderType: 'solid',
|
|
68
|
+
borderRadius: 0,
|
|
69
|
+
shadowBlur: 0,
|
|
70
|
+
shadowColor: null,
|
|
71
|
+
shadowOffsetX: 0,
|
|
72
|
+
shadowOffsetY: 0,
|
|
73
|
+
opacity: 1
|
|
74
|
+
}
|
|
61
75
|
}
|
|
62
76
|
});
|
package/src/chart/bar/BarView.js
CHANGED
|
@@ -25,6 +25,7 @@ import {setLabel} from './helper';
|
|
|
25
25
|
import Model from '../../model/Model';
|
|
26
26
|
import barItemStyle from './barItemStyle';
|
|
27
27
|
import Path from 'zrender/src/graphic/Path';
|
|
28
|
+
import Group from 'zrender/src/container/Group';
|
|
28
29
|
import {throttle} from '../../util/throttle';
|
|
29
30
|
import {createClipPath} from '../helper/createClipPathFromCoordSys';
|
|
30
31
|
import Sausage from '../../util/shape/sausage';
|
|
@@ -127,15 +128,39 @@ export default echarts.extendChartView({
|
|
|
127
128
|
|
|
128
129
|
var roundCap = seriesModel.get('roundCap', true);
|
|
129
130
|
|
|
131
|
+
var drawBackground = seriesModel.get('showBackground', true);
|
|
132
|
+
var backgroundModel = seriesModel.getModel('backgroundStyle');
|
|
133
|
+
var barBorderRadius = backgroundModel.get('barBorderRadius') || 0;
|
|
134
|
+
|
|
135
|
+
var bgEls = [];
|
|
136
|
+
var oldBgEls = this._backgroundEls || [];
|
|
137
|
+
|
|
138
|
+
var createBackground = function (dataIndex) {
|
|
139
|
+
var bgLayout = getLayout[coord.type](data, dataIndex);
|
|
140
|
+
var bgEl = createBackgroundEl(coord, isHorizontalOrRadial, bgLayout);
|
|
141
|
+
bgEl.useStyle(backgroundModel.getBarItemStyle());
|
|
142
|
+
// Only cartesian2d support borderRadius.
|
|
143
|
+
if (coord.type === 'cartesian2d') {
|
|
144
|
+
bgEl.setShape('r', barBorderRadius);
|
|
145
|
+
}
|
|
146
|
+
bgEls[dataIndex] = bgEl;
|
|
147
|
+
return bgEl;
|
|
148
|
+
};
|
|
149
|
+
|
|
130
150
|
data.diff(oldData)
|
|
131
151
|
.add(function (dataIndex) {
|
|
152
|
+
var itemModel = data.getItemModel(dataIndex);
|
|
153
|
+
var layout = getLayout[coord.type](data, dataIndex, itemModel);
|
|
154
|
+
|
|
155
|
+
if (drawBackground) {
|
|
156
|
+
createBackground(dataIndex);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// If dataZoom in filteMode: 'empty', the baseValue can be set as NaN in "axisProxy".
|
|
132
160
|
if (!data.hasValue(dataIndex)) {
|
|
133
161
|
return;
|
|
134
162
|
}
|
|
135
163
|
|
|
136
|
-
var itemModel = data.getItemModel(dataIndex);
|
|
137
|
-
var layout = getLayout[coord.type](data, dataIndex, itemModel);
|
|
138
|
-
|
|
139
164
|
if (needsClip) {
|
|
140
165
|
// Clip will modify the layout params.
|
|
141
166
|
// And return a boolean to determine if the shape are fully clipped.
|
|
@@ -158,16 +183,35 @@ export default echarts.extendChartView({
|
|
|
158
183
|
);
|
|
159
184
|
})
|
|
160
185
|
.update(function (newIndex, oldIndex) {
|
|
161
|
-
var
|
|
186
|
+
var itemModel = data.getItemModel(newIndex);
|
|
187
|
+
var layout = getLayout[coord.type](data, newIndex, itemModel);
|
|
162
188
|
|
|
189
|
+
if (drawBackground) {
|
|
190
|
+
var bgEl;
|
|
191
|
+
if (oldBgEls.length === 0) {
|
|
192
|
+
bgEl = createBackground(oldIndex);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
bgEl = oldBgEls[oldIndex];
|
|
196
|
+
bgEl.useStyle(backgroundModel.getBarItemStyle());
|
|
197
|
+
// Only cartesian2d support borderRadius.
|
|
198
|
+
if (coord.type === 'cartesian2d') {
|
|
199
|
+
bgEl.setShape('r', barBorderRadius);
|
|
200
|
+
}
|
|
201
|
+
bgEls[newIndex] = bgEl;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
var bgLayout = getLayout[coord.type](data, newIndex);
|
|
205
|
+
var shape = createBackgroundShape(isHorizontalOrRadial, bgLayout, coord);
|
|
206
|
+
graphic.updateProps(bgEl, { shape: shape }, animationModel, newIndex);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
var el = oldData.getItemGraphicEl(oldIndex);
|
|
163
210
|
if (!data.hasValue(newIndex)) {
|
|
164
211
|
group.remove(el);
|
|
165
212
|
return;
|
|
166
213
|
}
|
|
167
214
|
|
|
168
|
-
var itemModel = data.getItemModel(newIndex);
|
|
169
|
-
var layout = getLayout[coord.type](data, newIndex, itemModel);
|
|
170
|
-
|
|
171
215
|
if (needsClip) {
|
|
172
216
|
var isClipped = clip[coord.type](coordSysClipArea, layout);
|
|
173
217
|
if (isClipped) {
|
|
@@ -205,6 +249,15 @@ export default echarts.extendChartView({
|
|
|
205
249
|
})
|
|
206
250
|
.execute();
|
|
207
251
|
|
|
252
|
+
var bgGroup = this._backgroundGroup || (this._backgroundGroup = new Group());
|
|
253
|
+
bgGroup.removeAll();
|
|
254
|
+
|
|
255
|
+
for (var i = 0; i < bgEls.length; ++i) {
|
|
256
|
+
bgGroup.add(bgEls[i]);
|
|
257
|
+
}
|
|
258
|
+
group.add(bgGroup);
|
|
259
|
+
this._backgroundEls = bgEls;
|
|
260
|
+
|
|
208
261
|
this._data = data;
|
|
209
262
|
},
|
|
210
263
|
|
|
@@ -225,6 +278,7 @@ export default echarts.extendChartView({
|
|
|
225
278
|
},
|
|
226
279
|
|
|
227
280
|
_incrementalRenderLarge: function (params, seriesModel) {
|
|
281
|
+
this._removeBackground();
|
|
228
282
|
createLarge(seriesModel, this.group, true);
|
|
229
283
|
},
|
|
230
284
|
|
|
@@ -238,6 +292,9 @@ export default echarts.extendChartView({
|
|
|
238
292
|
var group = this.group;
|
|
239
293
|
var data = this._data;
|
|
240
294
|
if (ecModel && ecModel.get('animation') && data && !this._isLargeDraw) {
|
|
295
|
+
this._removeBackground();
|
|
296
|
+
this._backgroundEls = [];
|
|
297
|
+
|
|
241
298
|
data.eachItemGraphicEl(function (el) {
|
|
242
299
|
if (el.type === 'sector') {
|
|
243
300
|
removeSector(el.dataIndex, ecModel, el);
|
|
@@ -251,6 +308,11 @@ export default echarts.extendChartView({
|
|
|
251
308
|
group.removeAll();
|
|
252
309
|
}
|
|
253
310
|
this._data = null;
|
|
311
|
+
},
|
|
312
|
+
|
|
313
|
+
_removeBackground: function () {
|
|
314
|
+
this.group.remove(this._backgroundGroup);
|
|
315
|
+
this._backgroundGroup = null;
|
|
254
316
|
}
|
|
255
317
|
|
|
256
318
|
});
|
|
@@ -297,8 +359,31 @@ var clip = {
|
|
|
297
359
|
return clipped;
|
|
298
360
|
},
|
|
299
361
|
|
|
300
|
-
polar: function (coordSysClipArea) {
|
|
301
|
-
|
|
362
|
+
polar: function (coordSysClipArea, layout) {
|
|
363
|
+
var signR = layout.r0 <= layout.r ? 1 : -1;
|
|
364
|
+
// Make sure r is larger than r0
|
|
365
|
+
if (signR < 0) {
|
|
366
|
+
var r = layout.r;
|
|
367
|
+
layout.r = layout.r0;
|
|
368
|
+
layout.r0 = r;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
var r = mathMin(layout.r, coordSysClipArea.r);
|
|
372
|
+
var r0 = mathMax(layout.r0, coordSysClipArea.r0);
|
|
373
|
+
|
|
374
|
+
layout.r = r;
|
|
375
|
+
layout.r0 = r0;
|
|
376
|
+
|
|
377
|
+
var clipped = r - r0 < 0;
|
|
378
|
+
|
|
379
|
+
// Reverse back
|
|
380
|
+
if (signR < 0) {
|
|
381
|
+
var r = layout.r;
|
|
382
|
+
layout.r = layout.r0;
|
|
383
|
+
layout.r0 = r;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
return clipped;
|
|
302
387
|
}
|
|
303
388
|
};
|
|
304
389
|
|
|
@@ -308,7 +393,12 @@ var elementCreator = {
|
|
|
308
393
|
dataIndex, layout, isHorizontal,
|
|
309
394
|
animationModel, isUpdate
|
|
310
395
|
) {
|
|
311
|
-
var rect = new graphic.Rect({
|
|
396
|
+
var rect = new graphic.Rect({
|
|
397
|
+
shape: zrUtil.extend({}, layout),
|
|
398
|
+
z2: 1
|
|
399
|
+
});
|
|
400
|
+
|
|
401
|
+
rect.name = 'item';
|
|
312
402
|
|
|
313
403
|
// Animation
|
|
314
404
|
if (animationModel) {
|
|
@@ -338,9 +428,12 @@ var elementCreator = {
|
|
|
338
428
|
var ShapeClass = (!isRadial && roundCap) ? Sausage : graphic.Sector;
|
|
339
429
|
|
|
340
430
|
var sector = new ShapeClass({
|
|
341
|
-
shape: zrUtil.defaults({clockwise: clockwise}, layout)
|
|
431
|
+
shape: zrUtil.defaults({clockwise: clockwise}, layout),
|
|
432
|
+
z2: 1
|
|
342
433
|
});
|
|
343
434
|
|
|
435
|
+
sector.name = 'item';
|
|
436
|
+
|
|
344
437
|
// Animation
|
|
345
438
|
if (animationModel) {
|
|
346
439
|
var sectorShape = sector.shape;
|
|
@@ -382,9 +475,11 @@ function removeSector(dataIndex, animationModel, el) {
|
|
|
382
475
|
}
|
|
383
476
|
|
|
384
477
|
var getLayout = {
|
|
478
|
+
// itemModel is only used to get borderWidth, which is not needed
|
|
479
|
+
// when calculating bar background layout.
|
|
385
480
|
cartesian2d: function (data, dataIndex, itemModel) {
|
|
386
481
|
var layout = data.getItemLayout(dataIndex);
|
|
387
|
-
var fixedLineWidth = getLineWidth(itemModel, layout);
|
|
482
|
+
var fixedLineWidth = itemModel ? getLineWidth(itemModel, layout) : 0;
|
|
388
483
|
|
|
389
484
|
// fix layout with lineWidth
|
|
390
485
|
var signX = layout.width > 0 ? 1 : -1;
|
|
@@ -410,11 +505,18 @@ var getLayout = {
|
|
|
410
505
|
}
|
|
411
506
|
};
|
|
412
507
|
|
|
508
|
+
function isZeroOnPolar(layout) {
|
|
509
|
+
return layout.startAngle != null
|
|
510
|
+
&& layout.endAngle != null
|
|
511
|
+
&& layout.startAngle === layout.endAngle;
|
|
512
|
+
}
|
|
513
|
+
|
|
413
514
|
function updateStyle(
|
|
414
515
|
el, data, dataIndex, itemModel, layout, seriesModel, isHorizontal, isPolar
|
|
415
516
|
) {
|
|
416
517
|
var color = data.getItemVisual(dataIndex, 'color');
|
|
417
518
|
var opacity = data.getItemVisual(dataIndex, 'opacity');
|
|
519
|
+
var stroke = data.getVisual('borderColor');
|
|
418
520
|
var itemStyleModel = itemModel.getModel('itemStyle');
|
|
419
521
|
var hoverStyle = itemModel.getModel('emphasis.itemStyle').getBarItemStyle();
|
|
420
522
|
|
|
@@ -424,7 +526,8 @@ function updateStyle(
|
|
|
424
526
|
|
|
425
527
|
el.useStyle(zrUtil.defaults(
|
|
426
528
|
{
|
|
427
|
-
|
|
529
|
+
stroke: isZeroOnPolar(layout) ? 'none' : stroke,
|
|
530
|
+
fill: isZeroOnPolar(layout) ? 'none' : color,
|
|
428
531
|
opacity: opacity
|
|
429
532
|
},
|
|
430
533
|
itemStyleModel.getBarItemStyle()
|
|
@@ -443,14 +546,19 @@ function updateStyle(
|
|
|
443
546
|
seriesModel, dataIndex, labelPositionOutside
|
|
444
547
|
);
|
|
445
548
|
}
|
|
446
|
-
|
|
549
|
+
if (isZeroOnPolar(layout)) {
|
|
550
|
+
hoverStyle.fill = hoverStyle.stroke = 'none';
|
|
551
|
+
}
|
|
447
552
|
graphic.setHoverStyle(el, hoverStyle);
|
|
448
553
|
}
|
|
449
554
|
|
|
450
555
|
// In case width or height are too small.
|
|
451
556
|
function getLineWidth(itemModel, rawLayout) {
|
|
452
557
|
var lineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY) || 0;
|
|
453
|
-
|
|
558
|
+
// width or height may be NaN for empty data
|
|
559
|
+
var width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);
|
|
560
|
+
var height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);
|
|
561
|
+
return Math.min(lineWidth, width, height);
|
|
454
562
|
}
|
|
455
563
|
|
|
456
564
|
|
|
@@ -482,13 +590,38 @@ function createLarge(seriesModel, group, incremental) {
|
|
|
482
590
|
var baseDimIdx = data.getLayout('valueAxisHorizontal') ? 1 : 0;
|
|
483
591
|
startPoint[1 - baseDimIdx] = data.getLayout('valueAxisStart');
|
|
484
592
|
|
|
593
|
+
var largeDataIndices = data.getLayout('largeDataIndices');
|
|
594
|
+
var barWidth = data.getLayout('barWidth');
|
|
595
|
+
|
|
596
|
+
var backgroundModel = seriesModel.getModel('backgroundStyle');
|
|
597
|
+
var drawBackground = seriesModel.get('showBackground', true);
|
|
598
|
+
|
|
599
|
+
if (drawBackground) {
|
|
600
|
+
var points = data.getLayout('largeBackgroundPoints');
|
|
601
|
+
var backgroundStartPoint = [];
|
|
602
|
+
backgroundStartPoint[1 - baseDimIdx] = data.getLayout('backgroundStart');
|
|
603
|
+
|
|
604
|
+
var bgEl = new LargePath({
|
|
605
|
+
shape: {points: points},
|
|
606
|
+
incremental: !!incremental,
|
|
607
|
+
__startPoint: backgroundStartPoint,
|
|
608
|
+
__baseDimIdx: baseDimIdx,
|
|
609
|
+
__largeDataIndices: largeDataIndices,
|
|
610
|
+
__barWidth: barWidth,
|
|
611
|
+
silent: true,
|
|
612
|
+
z2: 0
|
|
613
|
+
});
|
|
614
|
+
setLargeBackgroundStyle(bgEl, backgroundModel, data);
|
|
615
|
+
group.add(bgEl);
|
|
616
|
+
}
|
|
617
|
+
|
|
485
618
|
var el = new LargePath({
|
|
486
619
|
shape: {points: data.getLayout('largePoints')},
|
|
487
620
|
incremental: !!incremental,
|
|
488
621
|
__startPoint: startPoint,
|
|
489
622
|
__baseDimIdx: baseDimIdx,
|
|
490
|
-
__largeDataIndices:
|
|
491
|
-
__barWidth:
|
|
623
|
+
__largeDataIndices: largeDataIndices,
|
|
624
|
+
__barWidth: barWidth
|
|
492
625
|
});
|
|
493
626
|
group.add(el);
|
|
494
627
|
setLargeStyle(el, seriesModel, data);
|
|
@@ -553,3 +686,51 @@ function setLargeStyle(el, seriesModel, data) {
|
|
|
553
686
|
el.style.lineWidth = data.getLayout('barWidth');
|
|
554
687
|
}
|
|
555
688
|
|
|
689
|
+
function setLargeBackgroundStyle(el, backgroundModel, data) {
|
|
690
|
+
var borderColor = backgroundModel.get('borderColor') || backgroundModel.get('color');
|
|
691
|
+
var itemStyle = backgroundModel.getItemStyle(['color', 'borderColor']);
|
|
692
|
+
|
|
693
|
+
el.useStyle(itemStyle);
|
|
694
|
+
el.style.fill = null;
|
|
695
|
+
el.style.stroke = borderColor;
|
|
696
|
+
el.style.lineWidth = data.getLayout('barWidth');
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
function createBackgroundShape(isHorizontalOrRadial, layout, coord) {
|
|
700
|
+
var coordLayout;
|
|
701
|
+
var isPolar = coord.type === 'polar';
|
|
702
|
+
if (isPolar) {
|
|
703
|
+
coordLayout = coord.getArea();
|
|
704
|
+
}
|
|
705
|
+
else {
|
|
706
|
+
coordLayout = coord.grid.getRect();
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
if (isPolar) {
|
|
710
|
+
return {
|
|
711
|
+
cx: coordLayout.cx,
|
|
712
|
+
cy: coordLayout.cy,
|
|
713
|
+
r0: isHorizontalOrRadial ? coordLayout.r0 : layout.r0,
|
|
714
|
+
r: isHorizontalOrRadial ? coordLayout.r : layout.r,
|
|
715
|
+
startAngle: isHorizontalOrRadial ? layout.startAngle : 0,
|
|
716
|
+
endAngle: isHorizontalOrRadial ? layout.endAngle : Math.PI * 2
|
|
717
|
+
};
|
|
718
|
+
}
|
|
719
|
+
else {
|
|
720
|
+
return {
|
|
721
|
+
x: isHorizontalOrRadial ? layout.x : coordLayout.x,
|
|
722
|
+
y: isHorizontalOrRadial ? coordLayout.y : layout.y,
|
|
723
|
+
width: isHorizontalOrRadial ? layout.width : coordLayout.width,
|
|
724
|
+
height: isHorizontalOrRadial ? coordLayout.height : layout.height
|
|
725
|
+
};
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
function createBackgroundEl(coord, isHorizontalOrRadial, layout) {
|
|
730
|
+
var ElementClz = coord.type === 'polar' ? graphic.Sector : graphic.Rect;
|
|
731
|
+
return new ElementClz({
|
|
732
|
+
shape: createBackgroundShape(isHorizontalOrRadial, layout, coord),
|
|
733
|
+
silent: true,
|
|
734
|
+
z2: 0
|
|
735
|
+
});
|
|
736
|
+
}
|
|
@@ -25,7 +25,7 @@ export default SeriesModel.extend({
|
|
|
25
25
|
type: 'series.__base_bar__',
|
|
26
26
|
|
|
27
27
|
getInitialData: function (option, ecModel) {
|
|
28
|
-
return createListFromArray(this.getSource(), this);
|
|
28
|
+
return createListFromArray(this.getSource(), this, {useEncodeDefaulter: true});
|
|
29
29
|
},
|
|
30
30
|
|
|
31
31
|
getMarkerPosition: function (value) {
|
|
@@ -33,7 +33,7 @@ var PictorialBarSeries = BaseBarSeries.extend({
|
|
|
33
33
|
symbolPosition: null, // 'start' or 'end' or 'center', null means auto.
|
|
34
34
|
symbolOffset: null,
|
|
35
35
|
symbolMargin: null, // start margin and end margin. Can be a number or a percent string.
|
|
36
|
-
// Auto margin by
|
|
36
|
+
// Auto margin by default.
|
|
37
37
|
symbolRepeat: false, // false/null/undefined, means no repeat.
|
|
38
38
|
// Can be true, means auto calculate repeat times and cut by data.
|
|
39
39
|
// Can be a number, specifies repeat times, and do not cut by data.
|
|
@@ -60,4 +60,4 @@ var PictorialBarSeries = BaseBarSeries.extend({
|
|
|
60
60
|
}
|
|
61
61
|
});
|
|
62
62
|
|
|
63
|
-
export default PictorialBarSeries;
|
|
63
|
+
export default PictorialBarSeries;
|
|
@@ -36,7 +36,6 @@ export default {
|
|
|
36
36
|
reset: function (seriesModel, ecModel) {
|
|
37
37
|
|
|
38
38
|
var data = seriesModel.getData();
|
|
39
|
-
var isLargeRender = seriesModel.pipelineContext.large;
|
|
40
39
|
|
|
41
40
|
data.setVisual({
|
|
42
41
|
legendSymbol: 'roundRect',
|
|
@@ -51,6 +50,7 @@ export default {
|
|
|
51
50
|
return;
|
|
52
51
|
}
|
|
53
52
|
|
|
53
|
+
var isLargeRender = seriesModel.pipelineContext.large;
|
|
54
54
|
return !isLargeRender && {progress: progress};
|
|
55
55
|
|
|
56
56
|
|
|
@@ -27,7 +27,7 @@ export default SeriesModel.extend({
|
|
|
27
27
|
dependencies: ['grid', 'polar'],
|
|
28
28
|
|
|
29
29
|
getInitialData: function (option, ecModel) {
|
|
30
|
-
return createListFromArray(this.getSource(), this);
|
|
30
|
+
return createListFromArray(this.getSource(), this, {useEncodeDefaulter: true});
|
|
31
31
|
},
|
|
32
32
|
|
|
33
33
|
brushSelector: 'point',
|
|
@@ -18,8 +18,11 @@
|
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import * as echarts from '../../echarts';
|
|
21
|
+
import * as zrUtil from 'zrender/src/core/util';
|
|
21
22
|
import createListSimply from '../helper/createListSimply';
|
|
22
23
|
import {defaultEmphasis} from '../../util/model';
|
|
24
|
+
import {makeSeriesEncodeForNameBased} from '../../data/helper/sourceHelper';
|
|
25
|
+
import LegendVisualProvider from '../../visual/LegendVisualProvider';
|
|
23
26
|
|
|
24
27
|
var FunnelSeries = echarts.extendSeriesModel({
|
|
25
28
|
|
|
@@ -30,15 +33,18 @@ var FunnelSeries = echarts.extendSeriesModel({
|
|
|
30
33
|
|
|
31
34
|
// Enable legend selection for each data item
|
|
32
35
|
// Use a function instead of direct access because data reference may changed
|
|
33
|
-
this.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
this.legendVisualProvider = new LegendVisualProvider(
|
|
37
|
+
zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this)
|
|
38
|
+
);
|
|
36
39
|
// Extend labelLine emphasis
|
|
37
40
|
this._defaultLabelLine(option);
|
|
38
41
|
},
|
|
39
42
|
|
|
40
43
|
getInitialData: function (option, ecModel) {
|
|
41
|
-
return createListSimply(this,
|
|
44
|
+
return createListSimply(this, {
|
|
45
|
+
coordDimensions: ['value'],
|
|
46
|
+
encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)
|
|
47
|
+
});
|
|
42
48
|
},
|
|
43
49
|
|
|
44
50
|
_defaultLabelLine: function (option) {
|
|
@@ -84,6 +90,7 @@ var FunnelSeries = echarts.extendSeriesModel({
|
|
|
84
90
|
minSize: '0%',
|
|
85
91
|
maxSize: '100%',
|
|
86
92
|
sort: 'descending', // 'ascending', 'descending'
|
|
93
|
+
orient: 'vertical',
|
|
87
94
|
gap: 0,
|
|
88
95
|
funnelAlign: 'center',
|
|
89
96
|
label: {
|