@visactor/vchart 1.11.0-alpha.2 → 1.11.0-alpha.3
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/build/es5/index.js +2 -2
- package/build/index.js +49567 -46010
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/utils.d.ts +2 -2
- package/cjs/animation/utils.js +2 -2
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/base/base-chart-transformer.js +5 -2
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +4 -2
- package/cjs/chart/base/base-chart.js +24 -11
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/cartesian/cartesian-transformer.js +2 -2
- package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
- package/cjs/chart/common/common-transformer.js +3 -2
- package/cjs/chart/common/common-transformer.js.map +1 -1
- package/cjs/chart/common/interface.d.ts +2 -2
- package/cjs/chart/common/interface.js.map +1 -1
- package/cjs/chart/index.d.ts +6 -4
- package/cjs/chart/index.js +21 -2
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +6 -1
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/interface/type.d.ts +2 -1
- package/cjs/chart/interface/type.js +1 -1
- package/cjs/chart/interface/type.js.map +1 -1
- package/cjs/chart/polar/polar-transformer.js.map +1 -1
- package/cjs/chart/polar/progress-like/progress-like-transformer.js +3 -3
- package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
- package/cjs/chart/radar/radar-transformer.js +3 -3
- package/cjs/chart/radar/radar-transformer.js.map +1 -1
- package/cjs/chart/range-column/range-column-transformer.js +5 -1
- package/cjs/chart/range-column/range-column-transformer.js.map +1 -1
- package/cjs/chart/rose/rose-transformer.js +2 -2
- package/cjs/chart/rose/rose-transformer.js.map +1 -1
- package/cjs/chart/sequence/sequence-transformer.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +3 -2
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/chart/stack.js +2 -1
- package/cjs/chart/treemap/treemap-transformer.js.map +1 -1
- package/cjs/chart/util.js +4 -3
- package/cjs/chart/util.js.map +1 -1
- package/cjs/chart/venn/index.d.ts +3 -0
- package/cjs/chart/venn/index.js +22 -0
- package/cjs/chart/venn/index.js.map +1 -0
- package/cjs/chart/venn/interface.d.ts +6 -0
- package/cjs/chart/venn/interface.js +6 -0
- package/cjs/chart/venn/interface.js.map +1 -0
- package/cjs/chart/venn/venn-transformer.d.ts +7 -0
- package/cjs/chart/venn/venn-transformer.js +28 -0
- package/cjs/chart/venn/venn-transformer.js.map +1 -0
- package/cjs/chart/venn/venn.d.ts +14 -0
- package/cjs/chart/venn/venn.js +24 -0
- package/cjs/chart/venn/venn.js.map +1 -0
- package/cjs/compile/data/compilable-data.js +3 -1
- package/cjs/compile/data/compilable-data.js.map +1 -1
- package/cjs/compile/grammar-item.js +1 -2
- package/cjs/compile/interface/compiler.d.ts +1 -0
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/compile/mark/compilable-mark.d.ts +2 -1
- package/cjs/compile/mark/compilable-mark.js +4 -0
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +1 -0
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +2 -0
- package/cjs/component/axis/base-axis.js +13 -6
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +1 -2
- package/cjs/component/axis/cartesian/axis.js +30 -38
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
- package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.js +2 -2
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/interface/spec.d.ts +2 -0
- package/cjs/component/axis/interface/spec.js.map +1 -1
- package/cjs/component/axis/mixin/band-axis-mixin.js +2 -2
- package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
- package/cjs/component/axis/mixin/linear-axis-mixin.js +47 -15
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +0 -1
- package/cjs/component/axis/polar/axis.js +7 -11
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/interface/common.d.ts +1 -0
- package/cjs/component/axis/polar/interface/common.js.map +1 -1
- package/cjs/component/axis/polar/linear-axis.d.ts +5 -1
- package/cjs/component/axis/polar/linear-axis.js +5 -1
- package/cjs/component/axis/polar/linear-axis.js.map +1 -1
- package/cjs/component/axis/util.js +3 -3
- package/cjs/component/axis/util.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +1 -0
- package/cjs/component/base/base-component.js +14 -6
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/util.js +12 -12
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/common/trigger/mobile.js +1 -2
- package/cjs/component/common/trigger/mobile.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +1 -2
- package/cjs/component/crosshair/base.js +4 -6
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.js +1 -3
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/interface/cartesian.d.ts +11 -24
- package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
- package/cjs/component/crosshair/interface/polar.d.ts +7 -5
- package/cjs/component/crosshair/interface/polar.js.map +1 -1
- package/cjs/component/crosshair/polar.js +2 -5
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/crosshair/utils/cartesian.js +14 -14
- package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
- package/cjs/component/crosshair/utils/common.js +6 -5
- package/cjs/component/crosshair/utils/common.js.map +1 -1
- package/cjs/component/crosshair/utils/polar.js +17 -11
- package/cjs/component/crosshair/utils/polar.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +11 -4
- package/cjs/component/custom-mark/custom-mark.js +43 -12
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -2
- package/cjs/component/data-zoom/data-filter-base-component.js +15 -11
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js +2 -2
- package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/interface.d.ts +1 -4
- package/cjs/component/data-zoom/interface.js +1 -5
- package/cjs/component/data-zoom/interface.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/data-zoom/util.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.js +2 -2
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/index.d.ts +7 -7
- package/cjs/component/index.js +48 -8
- package/cjs/component/index.js.map +1 -1
- package/cjs/component/indicator/indicator.js +2 -2
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/interface/theme.d.ts +4 -0
- package/cjs/component/interface/theme.js.map +1 -1
- package/cjs/component/interface/type.d.ts +4 -0
- package/cjs/component/interface/type.js +3 -1
- package/cjs/component/interface/type.js.map +1 -1
- package/cjs/component/label/label.js +4 -5
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/total-label.js +10 -3
- package/cjs/component/label/total-label.js.map +1 -1
- package/cjs/component/label/util.d.ts +9 -1
- package/cjs/component/label/util.js +25 -9
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/base-legend.js +13 -7
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/interface.d.ts +1 -0
- package/cjs/component/legend/continuous/interface.js.map +1 -1
- package/cjs/component/legend/continuous/legend.js +4 -1
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/legend/continuous/util.js +3 -3
- package/cjs/component/legend/continuous/util.js.map +1 -1
- package/cjs/component/legend/discrete/interface.d.ts +1 -0
- package/cjs/component/legend/discrete/interface.js.map +1 -1
- package/cjs/component/legend/discrete/legend.d.ts +4 -1
- package/cjs/component/legend/discrete/legend.js +20 -9
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/discrete/util.js +7 -6
- package/cjs/component/legend/discrete/util.js.map +1 -1
- package/cjs/component/legend/util.d.ts +12 -2
- package/cjs/component/legend/util.js +2 -2
- package/cjs/component/legend/util.js.map +1 -1
- package/cjs/component/map-label/component.js +2 -1
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +30 -44
- package/cjs/component/marker/base-marker.js +103 -45
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +40 -13
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/base-mark-area.d.ts +18 -0
- package/cjs/component/marker/mark-area/base-mark-area.js +99 -0
- package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -0
- package/cjs/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
- package/cjs/component/marker/mark-area/cartesian-mark-area.js +85 -0
- package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
- package/cjs/component/marker/mark-area/index.d.ts +2 -1
- package/cjs/component/marker/mark-area/index.js +2 -1
- package/cjs/component/marker/mark-area/index.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/spec.d.ts +16 -1
- package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/theme.d.ts +5 -7
- package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-area/polar-mark-area.d.ts +25 -0
- package/cjs/component/marker/mark-area/polar-mark-area.js +104 -0
- package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -0
- package/cjs/component/marker/mark-line/base-mark-line.d.ts +18 -0
- package/cjs/component/marker/mark-line/base-mark-line.js +116 -0
- package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -0
- package/cjs/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
- package/cjs/component/marker/mark-line/cartesian-mark-line.js +185 -0
- package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
- package/cjs/component/marker/mark-line/index.d.ts +2 -1
- package/cjs/component/marker/mark-line/index.js +2 -1
- package/cjs/component/marker/mark-line/index.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/spec.d.ts +26 -2
- package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/theme.d.ts +5 -7
- package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-line/polar-mark-line.d.ts +23 -0
- package/cjs/component/marker/mark-line/polar-mark-line.js +110 -0
- package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -0
- package/cjs/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
- package/cjs/component/marker/mark-point/base-mark-point.js +128 -0
- package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -0
- package/cjs/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
- package/cjs/component/marker/mark-point/cartesian-mark-point.js +50 -0
- package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
- package/cjs/component/marker/mark-point/geo-mark-point.d.ts +14 -0
- package/cjs/component/marker/mark-point/geo-mark-point.js +39 -0
- package/cjs/component/marker/mark-point/geo-mark-point.js.map +1 -0
- package/cjs/component/marker/mark-point/index.d.ts +3 -1
- package/cjs/component/marker/mark-point/index.js +2 -1
- package/cjs/component/marker/mark-point/index.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/spec.d.ts +9 -1
- package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/theme.d.ts +11 -16
- package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-point/polar-mark-point.d.ts +18 -0
- package/cjs/component/marker/mark-point/polar-mark-point.js +47 -0
- package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -0
- package/cjs/component/marker/utils.d.ts +40 -5
- package/cjs/component/marker/utils.js +148 -13
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/player/player.d.ts +2 -1
- package/cjs/component/player/player.js +16 -9
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/player/utils/transform.js +3 -2
- package/cjs/component/player/utils/transform.js.map +1 -1
- package/cjs/component/tooltip/tooltip-transformer.js +3 -2
- package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +1 -1
- package/cjs/component/tooltip/tooltip.js +13 -11
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/compose.js +3 -3
- package/cjs/component/tooltip/utils/compose.js.map +1 -1
- package/cjs/component/tooltip/utils/get-spec.js +2 -2
- package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
- package/cjs/component/tooltip/utils/index.d.ts +1 -0
- package/cjs/component/tooltip/utils/index.js +1 -1
- package/cjs/component/tooltip/utils/index.js.map +1 -1
- package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
- package/cjs/component/tooltip/utils/pattern.js.map +1 -0
- package/cjs/component/tooltip/utils/show-tooltip.d.ts +20 -3
- package/cjs/component/tooltip/utils/show-tooltip.js +107 -93
- package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/cjs/core/factory.d.ts +1 -1
- package/cjs/core/factory.js +0 -1
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interface.d.ts +5 -1
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +2 -2
- package/cjs/core/vchart.js +47 -24
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/aggregation.d.ts +12 -7
- package/cjs/data/transforms/aggregation.js +16 -1
- package/cjs/data/transforms/aggregation.js.map +1 -1
- package/cjs/data/transforms/invalid-travel.d.ts +1 -1
- package/cjs/data/transforms/invalid-travel.js +4 -2
- package/cjs/data/transforms/invalid-travel.js.map +1 -1
- package/cjs/data/transforms/legend-data/continuous/continuous.js +3 -2
- package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
- package/cjs/data/transforms/legend-data/discrete/discrete.js +2 -2
- package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
- package/cjs/data/transforms/legend-data/discrete/interface.d.ts +2 -0
- package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
- package/cjs/data/transforms/pie.js +3 -2
- package/cjs/data/transforms/pie.js.map +1 -1
- package/cjs/data/transforms/waterfall.js +4 -2
- package/cjs/data/transforms/waterfall.js.map +1 -1
- package/cjs/event/event-dispatcher.js +8 -1
- package/cjs/event/event-dispatcher.js.map +1 -1
- package/cjs/event/interface.d.ts +2 -0
- package/cjs/event/interface.js.map +1 -1
- package/cjs/index-lark.js +1 -1
- package/cjs/index-lark.js.map +1 -1
- package/cjs/index-wx.js +1 -1
- package/cjs/index-wx.js.map +1 -1
- package/cjs/layout/base-layout.js +6 -5
- package/cjs/layout/base-layout.js.map +1 -1
- package/cjs/layout/grid-layout/grid-layout.d.ts +1 -1
- package/cjs/layout/grid-layout/grid-layout.js +4 -4
- package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
- package/cjs/layout/layout-item.js +1 -1
- package/cjs/layout/layout-item.js.map +1 -1
- package/cjs/mark/base/base-mark.js +2 -2
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/index.d.ts +20 -20
- package/cjs/mark/index.js +95 -22
- package/cjs/mark/index.js.map +1 -1
- package/cjs/model/base-model-transformer.js +2 -2
- package/cjs/model/base-model-transformer.js.map +1 -1
- package/cjs/model/base-model.js +1 -1
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +1 -0
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-model.js +3 -2
- package/cjs/model/layout-model.js.map +1 -1
- package/cjs/plugin/base/base-plugin-service.d.ts +2 -0
- package/cjs/plugin/base/base-plugin-service.js +11 -1
- package/cjs/plugin/base/base-plugin-service.js.map +1 -1
- package/cjs/plugin/base/interface.d.ts +3 -0
- package/cjs/plugin/base/interface.js.map +1 -1
- package/cjs/plugin/chart/media-query/media-query.js +4 -4
- package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
- package/cjs/plugin/chart/media-query/util/action.js +4 -3
- package/cjs/plugin/chart/media-query/util/action.js.map +1 -1
- package/cjs/plugin/components/axis-sync/zero-align-transform.js +4 -4
- package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -1
- package/cjs/plugin/components/tooltip-handler/base.js +3 -3
- package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +5 -5
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/utils/style.js +4 -4
- package/cjs/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js +4 -4
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
- package/cjs/plugin/components/tooltip-handler/utils/index.js +2 -2
- package/cjs/plugin/components/tooltip-handler/utils/index.js.map +1 -1
- package/cjs/region/interface.d.ts +2 -0
- package/cjs/region/interface.js.map +1 -1
- package/cjs/region/region.d.ts +1 -0
- package/cjs/region/region.js +5 -1
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/area/area-transformer.js +6 -5
- package/cjs/series/area/area-transformer.js.map +1 -1
- package/cjs/series/area/area.js +3 -2
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/bar-3d.js +2 -1
- package/cjs/series/bar/bar-3d.js.map +1 -1
- package/cjs/series/bar/bar.js +3 -2
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series-transformer.js +4 -4
- package/cjs/series/base/base-series-transformer.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +9 -17
- package/cjs/series/base/base-series.js +45 -27
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/tooltip-helper.d.ts +8 -5
- package/cjs/series/base/tooltip-helper.js +31 -23
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +2 -1
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/box-plot/tooltip-helper.d.ts +1 -1
- package/cjs/series/box-plot/tooltip-helper.js +21 -21
- package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +1 -1
- package/cjs/series/cartesian/cartesian.js +14 -4
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/circle-packing/tooltip-helper.d.ts +1 -1
- package/cjs/series/circle-packing/tooltip-helper.js +1 -1
- package/cjs/series/circle-packing/tooltip-helper.js.map +1 -1
- package/cjs/series/dot/dot.js +2 -2
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/dot/tooltip-helper.js +12 -12
- package/cjs/series/dot/tooltip-helper.js.map +1 -1
- package/cjs/series/funnel/funnel.js +8 -4
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/tooltip-helper.d.ts +3 -3
- package/cjs/series/funnel/tooltip-helper.js +3 -3
- package/cjs/series/funnel/tooltip-helper.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.js +4 -3
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.js +3 -3
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/geo/geo.d.ts +1 -0
- package/cjs/series/geo/geo.js +4 -2
- package/cjs/series/geo/geo.js.map +1 -1
- package/cjs/series/heatmap/heatmap.js +2 -1
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/index.d.ts +7 -3
- package/cjs/series/index.js +30 -2
- package/cjs/series/index.js.map +1 -1
- package/cjs/series/interface/common.d.ts +3 -2
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/series.d.ts +7 -0
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/interface/theme.d.ts +2 -0
- package/cjs/series/interface/theme.js +3 -2
- package/cjs/series/interface/theme.js.map +1 -1
- package/cjs/series/interface/tooltip-helper.d.ts +8 -5
- package/cjs/series/interface/tooltip-helper.js.map +1 -1
- package/cjs/series/interface/type.d.ts +6 -2
- package/cjs/series/interface/type.js +3 -2
- package/cjs/series/interface/type.js.map +1 -1
- package/cjs/series/line/line.js +3 -2
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/link.js +3 -2
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/link/tooltip-helper.js +8 -8
- package/cjs/series/link/tooltip-helper.js.map +1 -1
- package/cjs/series/liquid/tooltip-helper.js +2 -2
- package/cjs/series/liquid/tooltip-helper.js.map +1 -1
- package/cjs/series/map/geo-source.d.ts +3 -1
- package/cjs/series/map/geo-source.js +6 -1
- package/cjs/series/map/geo-source.js.map +1 -1
- package/cjs/series/map/tooltip-helper.d.ts +1 -1
- package/cjs/series/map/tooltip-helper.js +1 -1
- package/cjs/series/map/tooltip-helper.js.map +1 -1
- package/cjs/series/mixin/line-mixin.js +2 -2
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/pie-transformer.js +4 -4
- package/cjs/series/pie/pie-transformer.js.map +1 -1
- package/cjs/series/polar/polar.d.ts +2 -2
- package/cjs/series/polar/polar.js +17 -6
- package/cjs/series/polar/polar.js.map +1 -1
- package/cjs/series/progress/circular/circular.js +4 -2
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/radar/radar.js +5 -4
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.d.ts +0 -2
- package/cjs/series/range-area/range-area.js +3 -6
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-area/tooltip-helper.js +10 -10
- package/cjs/series/range-area/tooltip-helper.js.map +1 -1
- package/cjs/series/range-column/3d/range-column-3d.js +3 -2
- package/cjs/series/range-column/3d/range-column-3d.js.map +1 -1
- package/cjs/series/range-column/range-column.js +3 -2
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/range-column/tooltip-helper.js +5 -5
- package/cjs/series/range-column/tooltip-helper.js.map +1 -1
- package/cjs/series/rose/rose.js +3 -2
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +2 -1
- package/cjs/series/sankey/sankey.js +51 -118
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/sankey/tooltip-helper.js +9 -9
- package/cjs/series/sankey/tooltip-helper.js.map +1 -1
- package/cjs/series/scatter/scatter.js +2 -1
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/tooltip-helper.d.ts +1 -1
- package/cjs/series/sunburst/tooltip-helper.js +1 -1
- package/cjs/series/sunburst/tooltip-helper.js.map +1 -1
- package/cjs/series/treemap/tooltip-helper.d.ts +1 -1
- package/cjs/series/treemap/tooltip-helper.js +1 -1
- package/cjs/series/treemap/tooltip-helper.js.map +1 -1
- package/cjs/series/util/stack.js +29 -15
- package/cjs/series/util/stack.js.map +1 -1
- package/cjs/series/venn/animation.d.ts +6 -0
- package/cjs/series/venn/animation.js +76 -0
- package/cjs/series/venn/animation.js.map +1 -0
- package/cjs/series/venn/constant.d.ts +2 -0
- package/cjs/series/venn/constant.js +23 -0
- package/cjs/series/venn/constant.js.map +1 -0
- package/cjs/series/venn/interface.d.ts +21 -0
- package/cjs/series/venn/interface.js +6 -0
- package/cjs/series/venn/interface.js.map +1 -0
- package/cjs/series/venn/tooltip-helper.d.ts +5 -0
- package/cjs/series/venn/tooltip-helper.js +17 -0
- package/cjs/series/venn/tooltip-helper.js.map +1 -0
- package/cjs/series/venn/util.d.ts +1 -0
- package/cjs/series/venn/util.js +11 -0
- package/cjs/series/venn/util.js.map +1 -0
- package/cjs/series/venn/venn-transform.d.ts +6 -0
- package/cjs/series/venn/venn-transform.js +16 -0
- package/cjs/series/venn/venn-transform.js.map +1 -0
- package/cjs/series/venn/venn.d.ts +63 -0
- package/cjs/series/venn/venn.js +219 -0
- package/cjs/series/venn/venn.js.map +1 -0
- package/cjs/series/waterfall/interface.d.ts +6 -1
- package/cjs/series/waterfall/interface.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +9 -0
- package/cjs/series/waterfall/waterfall.js +23 -4
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/base.d.ts +2 -0
- package/cjs/series/word-cloud/base.js +11 -16
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/theme/builtin/common/component/index.js +4 -0
- package/cjs/theme/builtin/common/component/index.js.map +1 -1
- package/cjs/theme/builtin/common/series/index.js +3 -2
- package/cjs/theme/builtin/common/series/index.js.map +1 -1
- package/cjs/theme/builtin/common/series/venn.d.ts +2 -0
- package/cjs/theme/builtin/common/series/venn.js +60 -0
- package/cjs/theme/builtin/common/series/venn.js.map +1 -0
- package/cjs/typings/spec/chart.d.ts +2 -0
- package/cjs/typings/spec/chart.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +5 -2
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/tooltip/tooltip.d.ts +1 -0
- package/cjs/typings/tooltip/tooltip.js.map +1 -1
- package/cjs/util/data.d.ts +21 -4
- package/cjs/util/data.js +42 -14
- package/cjs/util/data.js.map +1 -1
- package/cjs/util/index.d.ts +1 -0
- package/cjs/util/index.js +4 -4
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/math.d.ts +1 -1
- package/cjs/util/math.js +2 -3
- package/cjs/util/math.js.map +1 -1
- package/cjs/util/spec/index.d.ts +0 -5
- package/cjs/util/spec/index.js +1 -4
- package/cjs/util/spec/index.js.map +1 -1
- package/cjs/util/spec/transform.js.map +1 -1
- package/cjs/util/theme/merge-theme.js +3 -3
- package/cjs/util/theme/merge-theme.js.map +1 -1
- package/cjs/vchart-all.js +2 -2
- package/cjs/vchart-all.js.map +1 -1
- package/esm/animation/utils.d.ts +2 -2
- package/esm/animation/utils.js +1 -1
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/base/base-chart-transformer.js +5 -1
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +4 -2
- package/esm/chart/base/base-chart.js +24 -11
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/cartesian/cartesian-transformer.js +3 -1
- package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
- package/esm/chart/common/common-transformer.js +3 -1
- package/esm/chart/common/common-transformer.js.map +1 -1
- package/esm/chart/common/interface.d.ts +2 -2
- package/esm/chart/common/interface.js.map +1 -1
- package/esm/chart/index.d.ts +6 -4
- package/esm/chart/index.js +5 -3
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +6 -1
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/interface/type.d.ts +2 -1
- package/esm/chart/interface/type.js +1 -1
- package/esm/chart/interface/type.js.map +1 -1
- package/esm/chart/polar/polar-transformer.js.map +1 -1
- package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
- package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
- package/esm/chart/radar/radar-transformer.js +3 -1
- package/esm/chart/radar/radar-transformer.js.map +1 -1
- package/esm/chart/range-column/range-column-transformer.js +5 -1
- package/esm/chart/range-column/range-column-transformer.js.map +1 -1
- package/esm/chart/rose/rose-transformer.js +1 -1
- package/esm/chart/rose/rose-transformer.js.map +1 -1
- package/esm/chart/sequence/sequence-transformer.js.map +1 -1
- package/esm/chart/sequence/sequence.js +4 -1
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/chart/stack.js +2 -1
- package/esm/chart/treemap/treemap-transformer.js.map +1 -1
- package/esm/chart/util.js +5 -2
- package/esm/chart/util.js.map +1 -1
- package/esm/chart/venn/index.d.ts +3 -0
- package/esm/chart/venn/index.js +6 -0
- package/esm/chart/venn/index.js.map +1 -0
- package/esm/chart/venn/interface.d.ts +6 -0
- package/esm/chart/venn/interface.js +2 -0
- package/esm/chart/venn/interface.js.map +1 -0
- package/esm/chart/venn/venn-transformer.d.ts +7 -0
- package/esm/chart/venn/venn-transformer.js +20 -0
- package/esm/chart/venn/venn-transformer.js.map +1 -0
- package/esm/chart/venn/venn.d.ts +14 -0
- package/esm/chart/venn/venn.js +24 -0
- package/esm/chart/venn/venn.js.map +1 -0
- package/esm/compile/data/compilable-data.js +3 -1
- package/esm/compile/data/compilable-data.js.map +1 -1
- package/esm/compile/grammar-item.js +1 -2
- package/esm/compile/interface/compiler.d.ts +1 -0
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/compile/mark/compilable-mark.d.ts +2 -1
- package/esm/compile/mark/compilable-mark.js +4 -0
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +1 -0
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +2 -0
- package/esm/component/axis/base-axis.js +8 -1
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +1 -2
- package/esm/component/axis/cartesian/axis.js +30 -36
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
- package/esm/component/axis/cartesian/interface/common.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.js +2 -2
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/interface/spec.d.ts +2 -0
- package/esm/component/axis/interface/spec.js.map +1 -1
- package/esm/component/axis/mixin/band-axis-mixin.js +2 -2
- package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
- package/esm/component/axis/mixin/linear-axis-mixin.js +39 -11
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +0 -1
- package/esm/component/axis/polar/axis.js +7 -11
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/interface/common.d.ts +1 -0
- package/esm/component/axis/polar/interface/common.js.map +1 -1
- package/esm/component/axis/polar/linear-axis.d.ts +5 -1
- package/esm/component/axis/polar/linear-axis.js +5 -1
- package/esm/component/axis/polar/linear-axis.js.map +1 -1
- package/esm/component/axis/util.js +1 -1
- package/esm/component/axis/util.js.map +1 -1
- package/esm/component/base/base-component.d.ts +1 -0
- package/esm/component/base/base-component.js +14 -6
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/util.js +2 -2
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/common/trigger/mobile.js +1 -2
- package/esm/component/common/trigger/mobile.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +1 -2
- package/esm/component/crosshair/base.js +4 -6
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.js +3 -5
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/interface/cartesian.d.ts +11 -24
- package/esm/component/crosshair/interface/cartesian.js.map +1 -1
- package/esm/component/crosshair/interface/polar.d.ts +7 -5
- package/esm/component/crosshair/interface/polar.js.map +1 -1
- package/esm/component/crosshair/polar.js +4 -7
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/crosshair/utils/cartesian.js +14 -14
- package/esm/component/crosshair/utils/cartesian.js.map +1 -1
- package/esm/component/crosshair/utils/common.js +2 -2
- package/esm/component/crosshair/utils/common.js.map +1 -1
- package/esm/component/crosshair/utils/polar.js +15 -9
- package/esm/component/crosshair/utils/polar.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +11 -4
- package/esm/component/custom-mark/custom-mark.js +43 -14
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -2
- package/esm/component/data-zoom/data-filter-base-component.js +15 -11
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js +3 -1
- package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/interface.d.ts +1 -4
- package/esm/component/data-zoom/interface.js +1 -5
- package/esm/component/data-zoom/interface.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/data-zoom/util.js.map +1 -1
- package/esm/component/geo/geo-coordinate.js +1 -1
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/index.d.ts +7 -7
- package/esm/component/index.js +5 -5
- package/esm/component/index.js.map +1 -1
- package/esm/component/indicator/indicator.js +1 -1
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/interface/theme.d.ts +4 -0
- package/esm/component/interface/theme.js.map +1 -1
- package/esm/component/interface/type.d.ts +4 -0
- package/esm/component/interface/type.js +3 -1
- package/esm/component/interface/type.js.map +1 -1
- package/esm/component/label/label.js +3 -4
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/total-label.js +9 -2
- package/esm/component/label/total-label.js.map +1 -1
- package/esm/component/label/util.d.ts +9 -1
- package/esm/component/label/util.js +21 -6
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/base-legend.js +9 -4
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/interface.d.ts +1 -0
- package/esm/component/legend/continuous/interface.js.map +1 -1
- package/esm/component/legend/continuous/legend.js +5 -2
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/legend/continuous/util.js +1 -1
- package/esm/component/legend/continuous/util.js.map +1 -1
- package/esm/component/legend/discrete/interface.d.ts +1 -0
- package/esm/component/legend/discrete/interface.js.map +1 -1
- package/esm/component/legend/discrete/legend.d.ts +4 -1
- package/esm/component/legend/discrete/legend.js +20 -9
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/discrete/util.js +4 -4
- package/esm/component/legend/discrete/util.js.map +1 -1
- package/esm/component/legend/util.d.ts +12 -2
- package/esm/component/legend/util.js +1 -1
- package/esm/component/legend/util.js.map +1 -1
- package/esm/component/map-label/component.js +2 -1
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +30 -44
- package/esm/component/marker/base-marker.js +101 -42
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +40 -13
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/base-mark-area.d.ts +18 -0
- package/esm/component/marker/mark-area/base-mark-area.js +105 -0
- package/esm/component/marker/mark-area/base-mark-area.js.map +1 -0
- package/esm/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
- package/esm/component/marker/mark-area/cartesian-mark-area.js +82 -0
- package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
- package/esm/component/marker/mark-area/index.d.ts +2 -1
- package/esm/component/marker/mark-area/index.js +3 -1
- package/esm/component/marker/mark-area/index.js.map +1 -1
- package/esm/component/marker/mark-area/interface/spec.d.ts +16 -1
- package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-area/interface/theme.d.ts +5 -7
- package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-area/polar-mark-area.d.ts +25 -0
- package/esm/component/marker/mark-area/polar-mark-area.js +102 -0
- package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -0
- package/esm/component/marker/mark-line/base-mark-line.d.ts +18 -0
- package/esm/component/marker/mark-line/base-mark-line.js +124 -0
- package/esm/component/marker/mark-line/base-mark-line.js.map +1 -0
- package/esm/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
- package/esm/component/marker/mark-line/cartesian-mark-line.js +185 -0
- package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
- package/esm/component/marker/mark-line/index.d.ts +2 -1
- package/esm/component/marker/mark-line/index.js +3 -1
- package/esm/component/marker/mark-line/index.js.map +1 -1
- package/esm/component/marker/mark-line/interface/spec.d.ts +26 -2
- package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-line/interface/theme.d.ts +5 -7
- package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-line/polar-mark-line.d.ts +23 -0
- package/esm/component/marker/mark-line/polar-mark-line.js +108 -0
- package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -0
- package/esm/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
- package/esm/component/marker/mark-point/base-mark-point.js +139 -0
- package/esm/component/marker/mark-point/base-mark-point.js.map +1 -0
- package/esm/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
- package/esm/component/marker/mark-point/cartesian-mark-point.js +47 -0
- package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
- package/esm/component/marker/mark-point/geo-mark-point.d.ts +14 -0
- package/esm/component/marker/mark-point/geo-mark-point.js +38 -0
- package/esm/component/marker/mark-point/geo-mark-point.js.map +1 -0
- package/esm/component/marker/mark-point/index.d.ts +3 -1
- package/esm/component/marker/mark-point/index.js +5 -1
- package/esm/component/marker/mark-point/index.js.map +1 -1
- package/esm/component/marker/mark-point/interface/spec.d.ts +9 -1
- package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-point/interface/theme.d.ts +11 -16
- package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-point/polar-mark-point.d.ts +18 -0
- package/esm/component/marker/mark-point/polar-mark-point.js +47 -0
- package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -0
- package/esm/component/marker/utils.d.ts +40 -5
- package/esm/component/marker/utils.js +137 -8
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/player/player.d.ts +2 -1
- package/esm/component/player/player.js +16 -9
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/player/utils/transform.js +3 -2
- package/esm/component/player/utils/transform.js.map +1 -1
- package/esm/component/tooltip/tooltip-transformer.js +3 -1
- package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +1 -1
- package/esm/component/tooltip/tooltip.js +13 -11
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/compose.js +3 -3
- package/esm/component/tooltip/utils/compose.js.map +1 -1
- package/esm/component/tooltip/utils/get-spec.js +2 -2
- package/esm/component/tooltip/utils/get-spec.js.map +1 -1
- package/esm/component/tooltip/utils/index.d.ts +1 -0
- package/esm/component/tooltip/utils/index.js +2 -0
- package/esm/component/tooltip/utils/index.js.map +1 -1
- package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
- package/esm/component/tooltip/utils/pattern.js.map +1 -0
- package/esm/component/tooltip/utils/show-tooltip.d.ts +20 -3
- package/esm/component/tooltip/utils/show-tooltip.js +99 -87
- package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/esm/core/factory.d.ts +1 -1
- package/esm/core/factory.js +1 -2
- package/esm/core/factory.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/interface.d.ts +5 -1
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +2 -2
- package/esm/core/vchart.js +42 -21
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/aggregation.d.ts +12 -7
- package/esm/data/transforms/aggregation.js +16 -1
- package/esm/data/transforms/aggregation.js.map +1 -1
- package/esm/data/transforms/invalid-travel.d.ts +1 -1
- package/esm/data/transforms/invalid-travel.js +4 -2
- package/esm/data/transforms/invalid-travel.js.map +1 -1
- package/esm/data/transforms/legend-data/continuous/continuous.js +2 -2
- package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
- package/esm/data/transforms/legend-data/discrete/discrete.js +2 -2
- package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
- package/esm/data/transforms/legend-data/discrete/interface.d.ts +2 -0
- package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
- package/esm/data/transforms/pie.js +2 -1
- package/esm/data/transforms/pie.js.map +1 -1
- package/esm/data/transforms/waterfall.js +5 -1
- package/esm/data/transforms/waterfall.js.map +1 -1
- package/esm/event/event-dispatcher.js +8 -1
- package/esm/event/event-dispatcher.js.map +1 -1
- package/esm/event/interface.d.ts +2 -0
- package/esm/event/interface.js.map +1 -1
- package/esm/index-lark.js +4 -4
- package/esm/index-lark.js.map +1 -1
- package/esm/index-wx.js +4 -4
- package/esm/index-wx.js.map +1 -1
- package/esm/layout/base-layout.js +6 -5
- package/esm/layout/base-layout.js.map +1 -1
- package/esm/layout/grid-layout/grid-layout.d.ts +1 -1
- package/esm/layout/grid-layout/grid-layout.js +4 -4
- package/esm/layout/grid-layout/grid-layout.js.map +1 -1
- package/esm/layout/layout-item.js +1 -1
- package/esm/layout/layout-item.js.map +1 -1
- package/esm/mark/base/base-mark.js +1 -1
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/index.d.ts +20 -20
- package/esm/mark/index.js +25 -20
- package/esm/mark/index.js.map +1 -1
- package/esm/model/base-model-transformer.js +3 -1
- package/esm/model/base-model-transformer.js.map +1 -1
- package/esm/model/base-model.js +1 -1
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +1 -0
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-model.js +3 -2
- package/esm/model/layout-model.js.map +1 -1
- package/esm/plugin/base/base-plugin-service.d.ts +2 -0
- package/esm/plugin/base/base-plugin-service.js +11 -1
- package/esm/plugin/base/base-plugin-service.js.map +1 -1
- package/esm/plugin/base/interface.d.ts +3 -0
- package/esm/plugin/base/interface.js.map +1 -1
- package/esm/plugin/chart/media-query/media-query.js +3 -1
- package/esm/plugin/chart/media-query/media-query.js.map +1 -1
- package/esm/plugin/chart/media-query/util/action.js +2 -2
- package/esm/plugin/chart/media-query/util/action.js.map +1 -1
- package/esm/plugin/components/axis-sync/zero-align-transform.js +3 -5
- package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/base.d.ts +1 -1
- package/esm/plugin/components/tooltip-handler/base.js +3 -3
- package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/utils/style.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
- package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
- package/esm/plugin/components/tooltip-handler/utils/index.js +0 -2
- package/esm/plugin/components/tooltip-handler/utils/index.js.map +1 -1
- package/esm/region/interface.d.ts +2 -0
- package/esm/region/interface.js.map +1 -1
- package/esm/region/region.d.ts +1 -0
- package/esm/region/region.js +5 -1
- package/esm/region/region.js.map +1 -1
- package/esm/series/area/area-transformer.js +1 -1
- package/esm/series/area/area-transformer.js.map +1 -1
- package/esm/series/area/area.js +4 -1
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/bar-3d.js +4 -1
- package/esm/series/bar/bar-3d.js.map +1 -1
- package/esm/series/bar/bar.js +4 -1
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series-transformer.js +3 -1
- package/esm/series/base/base-series-transformer.js.map +1 -1
- package/esm/series/base/base-series.d.ts +9 -17
- package/esm/series/base/base-series.js +41 -23
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/tooltip-helper.d.ts +8 -5
- package/esm/series/base/tooltip-helper.js +31 -23
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +4 -1
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/box-plot/tooltip-helper.d.ts +1 -1
- package/esm/series/box-plot/tooltip-helper.js +21 -21
- package/esm/series/box-plot/tooltip-helper.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +1 -1
- package/esm/series/cartesian/cartesian.js +15 -4
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/circle-packing/tooltip-helper.d.ts +1 -1
- package/esm/series/circle-packing/tooltip-helper.js +1 -1
- package/esm/series/circle-packing/tooltip-helper.js.map +1 -1
- package/esm/series/dot/dot.js +1 -1
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/dot/tooltip-helper.js +12 -12
- package/esm/series/dot/tooltip-helper.js.map +1 -1
- package/esm/series/funnel/funnel.js +8 -4
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/tooltip-helper.d.ts +3 -3
- package/esm/series/funnel/tooltip-helper.js +3 -3
- package/esm/series/funnel/tooltip-helper.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.js +4 -1
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.js +4 -1
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/geo/geo.d.ts +1 -0
- package/esm/series/geo/geo.js +4 -2
- package/esm/series/geo/geo.js.map +1 -1
- package/esm/series/heatmap/heatmap.js +4 -1
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/index.d.ts +7 -3
- package/esm/series/index.js +6 -2
- package/esm/series/index.js.map +1 -1
- package/esm/series/interface/common.d.ts +3 -2
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/series.d.ts +7 -0
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/interface/theme.d.ts +2 -0
- package/esm/series/interface/theme.js +4 -1
- package/esm/series/interface/theme.js.map +1 -1
- package/esm/series/interface/tooltip-helper.d.ts +8 -5
- package/esm/series/interface/tooltip-helper.js.map +1 -1
- package/esm/series/interface/type.d.ts +6 -2
- package/esm/series/interface/type.js +3 -2
- package/esm/series/interface/type.js.map +1 -1
- package/esm/series/line/line.js +4 -1
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/link.js +4 -1
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/link/tooltip-helper.js +8 -8
- package/esm/series/link/tooltip-helper.js.map +1 -1
- package/esm/series/liquid/tooltip-helper.js +2 -2
- package/esm/series/liquid/tooltip-helper.js.map +1 -1
- package/esm/series/map/geo-source.d.ts +3 -1
- package/esm/series/map/geo-source.js +7 -2
- package/esm/series/map/geo-source.js.map +1 -1
- package/esm/series/map/tooltip-helper.d.ts +1 -1
- package/esm/series/map/tooltip-helper.js +1 -1
- package/esm/series/map/tooltip-helper.js.map +1 -1
- package/esm/series/mixin/line-mixin.js +1 -1
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/pie-transformer.js +1 -1
- package/esm/series/pie/pie-transformer.js.map +1 -1
- package/esm/series/polar/polar.d.ts +2 -2
- package/esm/series/polar/polar.js +18 -6
- package/esm/series/polar/polar.js.map +1 -1
- package/esm/series/progress/circular/circular.js +5 -2
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/radar/radar.js +5 -2
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.d.ts +0 -2
- package/esm/series/range-area/range-area.js +3 -5
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-area/tooltip-helper.js +10 -10
- package/esm/series/range-area/tooltip-helper.js.map +1 -1
- package/esm/series/range-column/3d/range-column-3d.js +4 -1
- package/esm/series/range-column/3d/range-column-3d.js.map +1 -1
- package/esm/series/range-column/range-column.js +3 -1
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/range-column/tooltip-helper.js +5 -5
- package/esm/series/range-column/tooltip-helper.js.map +1 -1
- package/esm/series/rose/rose.js +4 -1
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +2 -1
- package/esm/series/sankey/sankey.js +52 -119
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/sankey/tooltip-helper.js +9 -9
- package/esm/series/sankey/tooltip-helper.js.map +1 -1
- package/esm/series/scatter/scatter.js +4 -1
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/tooltip-helper.d.ts +1 -1
- package/esm/series/sunburst/tooltip-helper.js +1 -1
- package/esm/series/sunburst/tooltip-helper.js.map +1 -1
- package/esm/series/treemap/tooltip-helper.d.ts +1 -1
- package/esm/series/treemap/tooltip-helper.js +1 -1
- package/esm/series/treemap/tooltip-helper.js.map +1 -1
- package/esm/series/util/stack.js +28 -15
- package/esm/series/util/stack.js.map +1 -1
- package/esm/series/venn/animation.d.ts +6 -0
- package/esm/series/venn/animation.js +68 -0
- package/esm/series/venn/animation.js.map +1 -0
- package/esm/series/venn/constant.d.ts +2 -0
- package/esm/series/venn/constant.js +17 -0
- package/esm/series/venn/constant.js.map +1 -0
- package/esm/series/venn/interface.d.ts +21 -0
- package/esm/series/venn/interface.js +2 -0
- package/esm/series/venn/interface.js.map +1 -0
- package/esm/series/venn/tooltip-helper.d.ts +5 -0
- package/esm/series/venn/tooltip-helper.js +11 -0
- package/esm/series/venn/tooltip-helper.js.map +1 -0
- package/esm/series/venn/util.d.ts +1 -0
- package/esm/series/venn/util.js +4 -0
- package/esm/series/venn/util.js.map +1 -0
- package/esm/series/venn/venn-transform.d.ts +6 -0
- package/esm/series/venn/venn-transform.js +8 -0
- package/esm/series/venn/venn-transform.js.map +1 -0
- package/esm/series/venn/venn.d.ts +63 -0
- package/esm/series/venn/venn.js +237 -0
- package/esm/series/venn/venn.js.map +1 -0
- package/esm/series/waterfall/interface.d.ts +6 -1
- package/esm/series/waterfall/interface.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +9 -0
- package/esm/series/waterfall/waterfall.js +24 -3
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/base.d.ts +2 -0
- package/esm/series/word-cloud/base.js +12 -17
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/theme/builtin/common/component/index.js +4 -0
- package/esm/theme/builtin/common/component/index.js.map +1 -1
- package/esm/theme/builtin/common/series/index.js +4 -1
- package/esm/theme/builtin/common/series/index.js.map +1 -1
- package/esm/theme/builtin/common/series/venn.d.ts +2 -0
- package/esm/theme/builtin/common/series/venn.js +56 -0
- package/esm/theme/builtin/common/series/venn.js.map +1 -0
- package/esm/typings/spec/chart.d.ts +2 -0
- package/esm/typings/spec/chart.js.map +1 -1
- package/esm/typings/spec/common.d.ts +5 -2
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/tooltip/tooltip.d.ts +1 -0
- package/esm/typings/tooltip/tooltip.js.map +1 -1
- package/esm/util/data.d.ts +21 -4
- package/esm/util/data.js +39 -10
- package/esm/util/data.js.map +1 -1
- package/esm/util/index.d.ts +1 -0
- package/esm/util/index.js +2 -0
- package/esm/util/index.js.map +1 -1
- package/esm/util/math.d.ts +1 -1
- package/esm/util/math.js +2 -3
- package/esm/util/math.js.map +1 -1
- package/esm/util/spec/index.d.ts +0 -5
- package/esm/util/spec/index.js +0 -10
- package/esm/util/spec/index.js.map +1 -1
- package/esm/util/spec/transform.js.map +1 -1
- package/esm/util/theme/merge-theme.js +1 -1
- package/esm/util/theme/merge-theme.js.map +1 -1
- package/esm/vchart-all.js +6 -4
- package/esm/vchart-all.js.map +1 -1
- package/package.json +16 -15
- package/cjs/component/marker/mark-area/mark-area.d.ts +0 -21
- package/cjs/component/marker/mark-area/mark-area.js +0 -128
- package/cjs/component/marker/mark-area/mark-area.js.map +0 -1
- package/cjs/component/marker/mark-line/mark-line.d.ts +0 -22
- package/cjs/component/marker/mark-line/mark-line.js +0 -198
- package/cjs/component/marker/mark-line/mark-line.js.map +0 -1
- package/cjs/component/marker/mark-point/mark-point.js +0 -138
- package/cjs/component/marker/mark-point/mark-point.js.map +0 -1
- package/cjs/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
- package/cjs/util/spec/clone-deep.d.ts +0 -1
- package/cjs/util/spec/clone-deep.js +0 -27
- package/cjs/util/spec/clone-deep.js.map +0 -1
- package/cjs/util/spec/common.d.ts +0 -3
- package/cjs/util/spec/common.js +0 -23
- package/cjs/util/spec/common.js.map +0 -1
- package/cjs/util/spec/merge-spec.d.ts +0 -5
- package/cjs/util/spec/merge-spec.js +0 -69
- package/cjs/util/spec/merge-spec.js.map +0 -1
- package/esm/component/marker/mark-area/mark-area.d.ts +0 -21
- package/esm/component/marker/mark-area/mark-area.js +0 -134
- package/esm/component/marker/mark-area/mark-area.js.map +0 -1
- package/esm/component/marker/mark-line/mark-line.d.ts +0 -22
- package/esm/component/marker/mark-line/mark-line.js +0 -213
- package/esm/component/marker/mark-line/mark-line.js.map +0 -1
- package/esm/component/marker/mark-point/mark-point.js +0 -147
- package/esm/component/marker/mark-point/mark-point.js.map +0 -1
- package/esm/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
- package/esm/util/spec/clone-deep.d.ts +0 -1
- package/esm/util/spec/clone-deep.js +0 -20
- package/esm/util/spec/clone-deep.js.map +0 -1
- package/esm/util/spec/common.d.ts +0 -3
- package/esm/util/spec/common.js +0 -15
- package/esm/util/spec/common.js.map +0 -1
- package/esm/util/spec/merge-spec.d.ts +0 -5
- package/esm/util/spec/merge-spec.js +0 -57
- package/esm/util/spec/merge-spec.js.map +0 -1
- /package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
- /package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
|
@@ -3,6 +3,7 @@ import type { IAxisLocationCfg, ITick } from '../interface';
|
|
|
3
3
|
import type { IEvent } from '../../../event/interface';
|
|
4
4
|
import type { IOrientType } from '../../../typings/space';
|
|
5
5
|
import type { IComponentOption } from '../../interface/common';
|
|
6
|
+
import type { StringOrNumber } from '../../../typings';
|
|
6
7
|
export declare const e10: number;
|
|
7
8
|
export declare const e5: number;
|
|
8
9
|
export declare const e2: number;
|
|
@@ -16,6 +17,9 @@ export interface LinearAxisMixin {
|
|
|
16
17
|
min?: number;
|
|
17
18
|
max?: number;
|
|
18
19
|
};
|
|
20
|
+
_domainAfterSpec: number[];
|
|
21
|
+
_softMinValue?: number;
|
|
22
|
+
_softMaxValue?: number;
|
|
19
23
|
_expand?: {
|
|
20
24
|
max?: number;
|
|
21
25
|
min?: number;
|
|
@@ -31,16 +35,18 @@ export interface LinearAxisMixin {
|
|
|
31
35
|
event: IEvent;
|
|
32
36
|
_orient: IOrientType;
|
|
33
37
|
_option: IComponentOption;
|
|
38
|
+
niceLabelFormatter: (value: StringOrNumber) => StringOrNumber;
|
|
34
39
|
}
|
|
35
40
|
export declare class LinearAxisMixin {
|
|
36
41
|
protected _extend: {
|
|
37
42
|
[key: string]: number;
|
|
38
43
|
};
|
|
44
|
+
niceLabelFormatter: (value: StringOrNumber) => StringOrNumber;
|
|
39
45
|
setExtraAttrFromSpec(): void;
|
|
40
46
|
transformScaleDomain(): void;
|
|
41
|
-
setLinearScaleNice():
|
|
42
|
-
setLogScaleNice():
|
|
43
|
-
setScaleNice():
|
|
47
|
+
setLinearScaleNice(): false | LinearScale;
|
|
48
|
+
setLogScaleNice(): false | LinearScale;
|
|
49
|
+
setScaleNice(): false | LinearScale;
|
|
44
50
|
dataToPosition(values: any[], cfg?: IAxisLocationCfg): number;
|
|
45
51
|
valueToPosition(value: any): number;
|
|
46
52
|
computeLinearDomain(data: {
|
|
@@ -58,7 +64,10 @@ export declare class LinearAxisMixin {
|
|
|
58
64
|
max?: number;
|
|
59
65
|
};
|
|
60
66
|
protected setDomainMinMax(domain: number[]): void;
|
|
67
|
+
protected setSoftDomainMinMax(domain: number[]): void;
|
|
61
68
|
setZero(zero: boolean): void;
|
|
62
69
|
protected updateScaleDomain(): void;
|
|
63
70
|
protected updateScaleDomainByModel(domain?: number[]): void;
|
|
71
|
+
getDomainAfterSpec(): number[];
|
|
72
|
+
protected _updateNiceLabelFormatter(domain: number[]): void;
|
|
64
73
|
}
|
|
@@ -12,7 +12,7 @@ const DEFAULT_TICK_COUNT = 5;
|
|
|
12
12
|
|
|
13
13
|
class LinearAxisMixin {
|
|
14
14
|
constructor() {
|
|
15
|
-
this._extend = {};
|
|
15
|
+
this._extend = {}, this.niceLabelFormatter = null;
|
|
16
16
|
}
|
|
17
17
|
setExtraAttrFromSpec() {
|
|
18
18
|
(0, vutils_1.isValid)(this._spec.nice) && (this._nice = this._spec.nice), (0, vutils_1.isValid)(this._spec.zero) && (this._zero = this._spec.zero),
|
|
@@ -23,6 +23,7 @@ class LinearAxisMixin {
|
|
|
23
23
|
}
|
|
24
24
|
setLinearScaleNice() {
|
|
25
25
|
var _a;
|
|
26
|
+
if (!this._nice) return !1;
|
|
26
27
|
let tickCount = 5;
|
|
27
28
|
const tick = this._spec.tick || {};
|
|
28
29
|
if ((0, vutils_1.isValidNumber)(tick.forceTickCount)) tickCount = tick.forceTickCount; else if ((0,
|
|
@@ -39,19 +40,24 @@ class LinearAxisMixin {
|
|
|
39
40
|
} else tickCount = (0, vutils_1.isValidNumber)(tick.tickCount) ? tick.tickCount : 5;
|
|
40
41
|
"accurateFirst" === this._spec.niceType && (tickCount = Math.max(5, tickCount));
|
|
41
42
|
const {min: min, max: max} = null !== (_a = this._domain) && void 0 !== _a ? _a : {};
|
|
42
|
-
(0, vutils_1.isNil)(min) && (0, vutils_1.isNil)(max)
|
|
43
|
-
vutils_1.
|
|
44
|
-
vutils_1.
|
|
43
|
+
return (0, vutils_1.isNil)(min) && (0, vutils_1.isNil)(max) && (0, vutils_1.isNil)(this._softMaxValue) && (0,
|
|
44
|
+
vutils_1.isNil)(this._softMinValue) ? this._scale.nice(tickCount) : ((0, vutils_1.isValid)(min) || (0,
|
|
45
|
+
vutils_1.isValid)(this._softMinValue)) && (0, vutils_1.isNil)(max) && (0, vutils_1.isNil)(this._softMaxValue) ? this._scale.niceMax(tickCount) : !(!(0,
|
|
46
|
+
vutils_1.isNil)(min) || !(0, vutils_1.isNil)(this._softMinValue) || !(0, vutils_1.isValid)(max) && !(0,
|
|
47
|
+
vutils_1.isValid)(this._softMaxValue)) && this._scale.niceMin(tickCount);
|
|
45
48
|
}
|
|
46
49
|
setLogScaleNice() {
|
|
47
50
|
var _a;
|
|
51
|
+
if (!this._nice) return !1;
|
|
48
52
|
const {min: min, max: max} = null !== (_a = this._domain) && void 0 !== _a ? _a : {};
|
|
49
|
-
(0, vutils_1.isNil)(min) && (0, vutils_1.isNil)(max)
|
|
50
|
-
vutils_1.
|
|
51
|
-
vutils_1.
|
|
53
|
+
return (0, vutils_1.isNil)(min) && (0, vutils_1.isNil)(max) && (0, vutils_1.isNil)(this._softMaxValue) && (0,
|
|
54
|
+
vutils_1.isNil)(this._softMinValue) ? this._scale.nice() : ((0, vutils_1.isValid)(min) || (0,
|
|
55
|
+
vutils_1.isValid)(this._softMinValue)) && (0, vutils_1.isNil)(max) && (0, vutils_1.isNil)(this._softMaxValue) ? this._scale.niceMax() : !(!(0,
|
|
56
|
+
vutils_1.isNil)(min) || !(0, vutils_1.isNil)(this._softMinValue) || !(0, vutils_1.isValid)(max) && !(0,
|
|
57
|
+
vutils_1.isValid)(this._softMaxValue)) && this._scale.niceMin();
|
|
52
58
|
}
|
|
53
59
|
setScaleNice() {
|
|
54
|
-
"log" === this._spec.type ? this.setLogScaleNice() : this.setLinearScaleNice();
|
|
60
|
+
return "log" === this._spec.type ? this.setLogScaleNice() : this.setLinearScaleNice();
|
|
55
61
|
}
|
|
56
62
|
dataToPosition(values, cfg) {
|
|
57
63
|
return this.valueToPosition(values[0]);
|
|
@@ -64,8 +70,8 @@ class LinearAxisMixin {
|
|
|
64
70
|
return data.length ? data.forEach((d => {
|
|
65
71
|
const {min: min, max: max} = d;
|
|
66
72
|
domain[0] = void 0 === domain[0] ? min : Math.min(domain[0], min), domain[1] = void 0 === domain[1] ? max : Math.max(domain[1], max);
|
|
67
|
-
})) : (domain[0] = 0, domain[1] = 0), this.
|
|
68
|
-
this.setDomainMinMax(domain), domain;
|
|
73
|
+
})) : (domain[0] = 0, domain[1] = 0), this.setSoftDomainMinMax(domain), this.expandDomain(domain),
|
|
74
|
+
this.includeZero(domain), this.setDomainMinMax(domain), domain;
|
|
69
75
|
}
|
|
70
76
|
expandDomain(domain) {
|
|
71
77
|
if (!this._expand) return;
|
|
@@ -97,8 +103,10 @@ class LinearAxisMixin {
|
|
|
97
103
|
if (void 0 === value) return void delete this._extend[key];
|
|
98
104
|
this._extend[key] = value;
|
|
99
105
|
const domain = this._scale.domain();
|
|
100
|
-
this.extendDomain(domain), this.includeZero(domain), this.setDomainMinMax(domain),
|
|
101
|
-
this.niceDomain(domain), this._scale.domain(domain, this._nice), this.
|
|
106
|
+
if (this.extendDomain(domain), this.includeZero(domain), this.setDomainMinMax(domain),
|
|
107
|
+
this.niceDomain(domain), this._scale.domain(domain, this._nice), this._nice) {
|
|
108
|
+
!this.setScaleNice() && this._scale.rescale();
|
|
109
|
+
}
|
|
102
110
|
this.event.emit(constant_1.ChartEvent.scaleUpdate, {
|
|
103
111
|
model: this,
|
|
104
112
|
value: "domain"
|
|
@@ -118,24 +126,48 @@ class LinearAxisMixin {
|
|
|
118
126
|
const {min: min, max: max} = this._domain;
|
|
119
127
|
(0, vutils_1.isValid)(min) && (domain[0] = min), (0, vutils_1.isValid)(max) && (domain[1] = max);
|
|
120
128
|
}
|
|
129
|
+
setSoftDomainMinMax(domain) {
|
|
130
|
+
const {softMin: softMin, softMax: softMax} = this._spec;
|
|
131
|
+
if ((0, vutils_1.isValid)(softMin)) {
|
|
132
|
+
let softMinValue = (0, vutils_1.isFunction)(softMin) ? softMin(domain) : softMin;
|
|
133
|
+
(0, vutils_1.isNil)(softMinValue) && (softMinValue = domain[0]), softMinValue <= domain[0] && (domain[0] = softMinValue,
|
|
134
|
+
this._softMinValue = softMinValue);
|
|
135
|
+
}
|
|
136
|
+
if ((0, vutils_1.isValid)(softMax)) {
|
|
137
|
+
let softMaxValue = (0, vutils_1.isFunction)(softMax) ? softMax(domain) : softMax;
|
|
138
|
+
(0, vutils_1.isNil)(softMaxValue) && (softMaxValue = domain[1]), softMaxValue >= domain[1] && (domain[1] = softMaxValue),
|
|
139
|
+
this._softMaxValue = softMaxValue;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
121
142
|
setZero(zero) {
|
|
122
143
|
this._zero !== zero && (this._zero = zero, this.updateScaleDomain());
|
|
123
144
|
}
|
|
124
145
|
updateScaleDomain() {
|
|
125
146
|
if (!this.isSeriesDataEnable()) return;
|
|
126
|
-
const data = this.collectData(), domain = this.
|
|
147
|
+
const data = this.collectData(), domain = this.computeLinearDomain(data);
|
|
127
148
|
this.updateScaleDomainByModel(domain);
|
|
128
149
|
}
|
|
129
150
|
updateScaleDomainByModel(domain) {
|
|
130
|
-
domain = null != domain ? domain : this._scale.domain(), this.extendDomain(domain),
|
|
151
|
+
if (domain = null != domain ? domain : this._scale.domain(), this.extendDomain(domain),
|
|
131
152
|
this.includeZero(domain), this.setDomainMinMax(domain), this.niceDomain(domain),
|
|
132
|
-
this._scale.domain(domain, this._nice), this.
|
|
153
|
+
this._scale.domain(domain, this._nice), this._nice) {
|
|
154
|
+
!this.setScaleNice() && this._scale.rescale();
|
|
155
|
+
}
|
|
156
|
+
this._updateNiceLabelFormatter(domain), this._domainAfterSpec = this._scale.domain(),
|
|
157
|
+
this.event.emit(constant_1.ChartEvent.scaleDomainUpdate, {
|
|
133
158
|
model: this
|
|
134
159
|
}), this.event.emit(constant_1.ChartEvent.scaleUpdate, {
|
|
135
160
|
model: this,
|
|
136
161
|
value: "domain"
|
|
137
162
|
});
|
|
138
163
|
}
|
|
164
|
+
getDomainAfterSpec() {
|
|
165
|
+
return this._domainAfterSpec;
|
|
166
|
+
}
|
|
167
|
+
_updateNiceLabelFormatter(domain) {
|
|
168
|
+
const domainSpan = Math.abs(domain[1] - domain[0]), n = Math.max(-Math.floor(Math.log10(domainSpan)), 0) + 2, unit = Math.pow(10, n);
|
|
169
|
+
this.niceLabelFormatter = value => (0, vutils_1.isValidNumber)(+value) ? Math.round(+value * unit) / unit : value;
|
|
170
|
+
}
|
|
139
171
|
}
|
|
140
172
|
|
|
141
173
|
exports.LinearAxisMixin = LinearAxisMixin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/mixin/linear-axis-mixin.ts"],"names":[],"mappings":"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","file":"linear-axis-mixin.js","sourcesContent":["import { isValidNumber, isNil, isValid, isFunction } from '@visactor/vutils';\nimport type { LinearScale } from '@visactor/vscale';\nimport { maxInArr, minInArr } from '../../../util/array';\nimport { getLinearAxisSpecDomain } from '../util';\nimport type { IAxisLocationCfg, ITick } from '../interface';\nimport { ChartEvent } from '../../../constant';\nimport type { IEvent } from '../../../event/interface';\nimport { isXAxis } from '../cartesian/util/common';\nimport type { IOrientType } from '../../../typings/space';\nimport type { IComponentOption } from '../../interface/common';\n\nexport const e10 = Math.sqrt(50);\nexport const e5 = Math.sqrt(10);\nexport const e2 = Math.sqrt(2);\nconst DEFAULT_TICK_COUNT = 5;\n\nexport interface LinearAxisMixin {\n _scale: LinearScale;\n _scales: LinearScale[];\n _spec: any;\n _nice: boolean;\n _zero: boolean;\n _domain: { min?: number; max?: number };\n _expand?: { max?: number; min?: number };\n _tick: ITick | undefined;\n isSeriesDataEnable: any;\n computeDomain: any;\n collectData: (depth?: number) => { min: number; max: number; values: any[] }[];\n event: IEvent;\n _orient: IOrientType;\n _option: IComponentOption;\n}\n\nexport class LinearAxisMixin {\n protected _extend: { [key: string]: number } = {};\n\n setExtraAttrFromSpec() {\n isValid(this._spec.nice) && (this._nice = this._spec.nice);\n isValid(this._spec.zero) && (this._zero = this._spec.zero);\n this._expand = this._spec.expand;\n this._domain = getLinearAxisSpecDomain(this._spec);\n }\n transformScaleDomain() {\n this.setScaleNice();\n }\n\n setLinearScaleNice() {\n let tickCount: number = DEFAULT_TICK_COUNT;\n const tick = this._spec.tick || {};\n\n if (isValidNumber(tick.forceTickCount)) {\n tickCount = tick.forceTickCount;\n } else if (isFunction(tick.tickCount)) {\n const range = this._scale.range();\n let rangeSize = Math.abs(range[range.length - 1] - range[0]);\n\n if (rangeSize === 1 && this._option) {\n // TODO: need to be optimized, when the range is not updated, use the size of view\n const isX = isXAxis(this._orient);\n rangeSize = isX ? this._option.getChartViewRect().width : this._option.getChartViewRect().height;\n }\n\n // tickCount需要一致,不然会导致效果不一致, fix #2050\n tickCount = tick.tickCount({\n rangeSize,\n labelStyle: this._spec.label && this._spec.label.style\n });\n } else if (isValidNumber(tick.tickCount)) {\n tickCount = tick.tickCount;\n } else {\n tickCount = DEFAULT_TICK_COUNT;\n }\n // 如果配置了精度优先,那么最低是 5\n // 否则就直接使用tickCount即可\n if (this._spec.niceType === 'accurateFirst') {\n tickCount = Math.max(DEFAULT_TICK_COUNT, tickCount);\n }\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max)) {\n this._nice && this._scale.nice(tickCount);\n } else if (isValid(min) && isNil(max)) {\n this._nice && this._scale.niceMax(tickCount);\n } else if (isNil(min) && isValid(max)) {\n this._nice && this._scale.niceMin(tickCount);\n }\n }\n\n setLogScaleNice() {\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max)) {\n this._nice && this._scale.nice();\n } else if (isValid(min) && isNil(max)) {\n this._nice && this._scale.niceMax();\n } else if (isNil(min) && isValid(max)) {\n this._nice && this._scale.niceMin();\n }\n }\n\n setScaleNice() {\n if (this._spec.type === 'log') {\n this.setLogScaleNice();\n } else {\n this.setLinearScaleNice();\n }\n }\n\n dataToPosition(values: any[], cfg?: IAxisLocationCfg): number {\n return this.valueToPosition(values[0]);\n }\n\n valueToPosition(value: any): number {\n return this._scale.scale(value);\n }\n\n computeLinearDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n const domain: number[] = [];\n\n if (data.length) {\n data.forEach(d => {\n const { min, max } = d;\n domain[0] = domain[0] === undefined ? min : Math.min(domain[0] as number, min as number);\n domain[1] = domain[1] === undefined ? max : Math.max(domain[1] as number, max as number);\n });\n } else {\n // default value for linear axis\n domain[0] = 0;\n domain[1] = 0;\n }\n this.expandDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n return domain;\n }\n\n protected expandDomain(domain: number[]): void {\n if (!this._expand) {\n return;\n }\n\n let domainMin = domain[0];\n let domainMax = domain[domain.length - 1];\n\n if (domainMin === domainMax) {\n if (domainMax === 0) {\n domainMax = 1;\n } else if (domainMax > 0) {\n domainMin = 0;\n } else if (domainMax < 0) {\n domainMax = 0;\n }\n }\n\n if (isValid(this._expand.min)) {\n domain[0] = domainMin - (domainMax - domainMin) * this._expand.min;\n }\n if (isValid(this._expand.max)) {\n domain[domain.length - 1] = domainMax + (domainMax - domainMin) * this._expand.max;\n }\n }\n\n protected niceDomain(domain: number[]) {\n const { min: userMin, max: userMax } = getLinearAxisSpecDomain(this._spec);\n if (isValid(userMin) || isValid(userMax) || this._spec.type !== 'linear') {\n // 如果用户设置了 min 或者 max 则按照用户设置的为准\n // 如果是非 linear 类型也不处理\n return domain;\n }\n if (Math.abs(minInArr(domain) - maxInArr(domain)) <= 1e-12) {\n let num = domain[0];\n const flag = num >= 0 ? 1 : -1;\n num = Math.abs(num);\n if (num < 1) {\n domain[0] = 0;\n domain[1] = 1; // 在[0, 1) 区间变成[0, 1]\n } else {\n let step = num / DEFAULT_TICK_COUNT; // 默认5个ticks\n const power = Math.floor(Math.log(step) / Math.LN10);\n const err = step / Math.pow(10, power);\n step = (err >= e10 ? 10 : err >= e5 ? 5 : err >= e2 ? 2 : 1) * Math.pow(10, power);\n\n domain[0] = 0;\n domain[1] = step * 10;\n }\n if (flag < 0) {\n domain.reverse();\n domain[0] *= -1;\n domain[1] *= -1;\n }\n }\n return domain;\n }\n\n protected includeZero(domain: number[]): void {\n if (this._zero) {\n domain[0] = Math.min(domain[0], 0);\n domain[domain.length - 1] = Math.max(domain[domain.length - 1], 0);\n }\n }\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain(key: string, value: number | undefined) {\n if (value === undefined) {\n delete this._extend[key];\n return;\n }\n this._extend[key] = value;\n const domain = this._scale.domain();\n this.extendDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n this.niceDomain(domain);\n this._scale.domain(domain, this._nice);\n this.setScaleNice();\n\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any, value: 'domain' });\n }\n\n protected extendDomain(domain: number[]) {\n let temp;\n const domainLast = domain.length - 1;\n const reverse = domain[0] - domain[domainLast] > 0;\n const min = reverse ? domainLast : 0;\n const max = reverse ? 0 : domainLast;\n for (const key in this._extend) {\n temp = this._extend[key];\n temp > domain[max] && (domain[max] = temp);\n temp < domain[min] && (domain[min] = temp);\n }\n }\n\n getDomainSpec() {\n return this._domain;\n }\n\n protected setDomainMinMax(domain: number[]): void {\n if (!this._domain) {\n return;\n }\n const { min, max } = this._domain;\n isValid(min) && (domain[0] = min);\n isValid(max) && (domain[1] = max);\n }\n\n setZero(zero: boolean) {\n if (this._zero !== zero) {\n this._zero = zero;\n this.updateScaleDomain();\n }\n }\n /**\n * @override\n * TODO event.emit是否可以考虑用decorator\n */\n protected updateScaleDomain() {\n if (!this.isSeriesDataEnable()) {\n return;\n }\n const data = this.collectData();\n const domain: number[] = this.computeDomain(data) as number[];\n this.updateScaleDomainByModel(domain);\n }\n\n /**\n * TODO event.emit是否可以考虑用decorator\n * 数据逻辑外,模块的设置更新对scale-domain的修改操作\n */\n protected updateScaleDomainByModel(domain?: number[]) {\n domain = domain ?? this._scale.domain();\n // 其他模块的设置 domain\n this.extendDomain(domain);\n this.includeZero(domain);\n // 用户 spec 的 min-max\n this.setDomainMinMax(domain);\n // nice 优先级最高\n this.niceDomain(domain);\n this._scale.domain(domain, this._nice);\n // 设置scale的nice-min-max\n this.setScaleNice();\n this.event.emit(ChartEvent.scaleDomainUpdate, { model: this as any });\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any, value: 'domain' });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/mixin/linear-axis-mixin.ts"],"names":[],"mappings":"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","file":"linear-axis-mixin.js","sourcesContent":["import { isValidNumber, isNil, isValid, isFunction } from '@visactor/vutils';\nimport type { LinearScale } from '@visactor/vscale';\nimport { maxInArr, minInArr } from '../../../util/array';\nimport { getLinearAxisSpecDomain } from '../util';\nimport type { IAxisLocationCfg, ITick } from '../interface';\nimport { ChartEvent } from '../../../constant';\nimport type { IEvent } from '../../../event/interface';\nimport { isXAxis } from '../cartesian/util/common';\nimport type { IOrientType } from '../../../typings/space';\nimport type { IComponentOption } from '../../interface/common';\nimport type { StringOrNumber } from '../../../typings';\n\nexport const e10 = Math.sqrt(50);\nexport const e5 = Math.sqrt(10);\nexport const e2 = Math.sqrt(2);\nconst DEFAULT_TICK_COUNT = 5;\n\nexport interface LinearAxisMixin {\n _scale: LinearScale;\n _scales: LinearScale[];\n _spec: any;\n _nice: boolean;\n _zero: boolean;\n /**\n * spec中申明的min,max\n */\n _domain: { min?: number; max?: number };\n /**\n * 记录一下解析spec后,获取到的domain,\n * 用于在插件(如0值对齐等功能)中使用\n */\n _domainAfterSpec: number[];\n _softMinValue?: number;\n _softMaxValue?: number;\n _expand?: { max?: number; min?: number };\n _tick: ITick | undefined;\n isSeriesDataEnable: any;\n computeDomain: any;\n collectData: (depth?: number) => { min: number; max: number; values: any[] }[];\n event: IEvent;\n _orient: IOrientType;\n _option: IComponentOption;\n niceLabelFormatter: (value: StringOrNumber) => StringOrNumber;\n}\n\nexport class LinearAxisMixin {\n protected _extend: { [key: string]: number } = {};\n\n niceLabelFormatter: (value: StringOrNumber) => StringOrNumber = null;\n\n setExtraAttrFromSpec() {\n isValid(this._spec.nice) && (this._nice = this._spec.nice);\n isValid(this._spec.zero) && (this._zero = this._spec.zero);\n this._expand = this._spec.expand;\n this._domain = getLinearAxisSpecDomain(this._spec);\n }\n transformScaleDomain() {\n this.setScaleNice();\n }\n\n setLinearScaleNice() {\n if (!this._nice) {\n return false;\n }\n let tickCount: number = DEFAULT_TICK_COUNT;\n const tick = this._spec.tick || {};\n\n if (isValidNumber(tick.forceTickCount)) {\n tickCount = tick.forceTickCount;\n } else if (isFunction(tick.tickCount)) {\n const range = this._scale.range();\n let rangeSize = Math.abs(range[range.length - 1] - range[0]);\n\n if (rangeSize === 1 && this._option) {\n // TODO: need to be optimized, when the range is not updated, use the size of view\n const isX = isXAxis(this._orient);\n rangeSize = isX ? this._option.getChartViewRect().width : this._option.getChartViewRect().height;\n }\n\n // tickCount需要一致,不然会导致效果不一致, fix #2050\n tickCount = tick.tickCount({\n rangeSize,\n labelStyle: this._spec.label && this._spec.label.style\n });\n } else if (isValidNumber(tick.tickCount)) {\n tickCount = tick.tickCount;\n } else {\n tickCount = DEFAULT_TICK_COUNT;\n }\n // 如果配置了精度优先,那么最低是 5\n // 否则就直接使用tickCount即可\n if (this._spec.niceType === 'accurateFirst') {\n tickCount = Math.max(DEFAULT_TICK_COUNT, tickCount);\n }\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max) && isNil(this._softMaxValue) && isNil(this._softMinValue)) {\n return this._scale.nice(tickCount);\n } else if ((isValid(min) || isValid(this._softMinValue)) && isNil(max) && isNil(this._softMaxValue)) {\n return this._scale.niceMax(tickCount);\n } else if (isNil(min) && isNil(this._softMinValue) && (isValid(max) || isValid(this._softMaxValue))) {\n return this._scale.niceMin(tickCount);\n }\n\n return false;\n }\n\n setLogScaleNice() {\n if (!this._nice) {\n return false;\n }\n\n const { min, max } = this._domain ?? {};\n if (isNil(min) && isNil(max) && isNil(this._softMaxValue) && isNil(this._softMinValue)) {\n return this._scale.nice();\n } else if ((isValid(min) || isValid(this._softMinValue)) && isNil(max) && isNil(this._softMaxValue)) {\n return this._scale.niceMax();\n } else if (isNil(min) && isNil(this._softMinValue) && (isValid(max) || isValid(this._softMaxValue))) {\n return this._scale.niceMin();\n }\n\n return false;\n }\n\n setScaleNice() {\n if (this._spec.type === 'log') {\n return this.setLogScaleNice();\n }\n return this.setLinearScaleNice();\n }\n\n dataToPosition(values: any[], cfg?: IAxisLocationCfg): number {\n return this.valueToPosition(values[0]);\n }\n\n valueToPosition(value: any): number {\n return this._scale.scale(value);\n }\n\n computeLinearDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n const domain: number[] = [];\n\n if (data.length) {\n data.forEach(d => {\n const { min, max } = d;\n domain[0] = domain[0] === undefined ? min : Math.min(domain[0] as number, min as number);\n domain[1] = domain[1] === undefined ? max : Math.max(domain[1] as number, max as number);\n });\n } else {\n // default value for linear axis\n domain[0] = 0;\n domain[1] = 0;\n }\n this.setSoftDomainMinMax(domain);\n this.expandDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n return domain;\n }\n\n protected expandDomain(domain: number[]): void {\n if (!this._expand) {\n return;\n }\n\n let domainMin = domain[0];\n let domainMax = domain[domain.length - 1];\n\n if (domainMin === domainMax) {\n if (domainMax === 0) {\n domainMax = 1;\n } else if (domainMax > 0) {\n domainMin = 0;\n } else if (domainMax < 0) {\n domainMax = 0;\n }\n }\n\n if (isValid(this._expand.min)) {\n domain[0] = domainMin - (domainMax - domainMin) * this._expand.min;\n }\n if (isValid(this._expand.max)) {\n domain[domain.length - 1] = domainMax + (domainMax - domainMin) * this._expand.max;\n }\n }\n\n protected niceDomain(domain: number[]) {\n const { min: userMin, max: userMax } = getLinearAxisSpecDomain(this._spec);\n if (isValid(userMin) || isValid(userMax) || this._spec.type !== 'linear') {\n // 如果用户设置了 min 或者 max 则按照用户设置的为准\n // 如果是非 linear 类型也不处理\n return domain;\n }\n if (Math.abs(minInArr(domain) - maxInArr(domain)) <= 1e-12) {\n let num = domain[0];\n const flag = num >= 0 ? 1 : -1;\n num = Math.abs(num);\n if (num < 1) {\n domain[0] = 0;\n domain[1] = 1; // 在[0, 1) 区间变成[0, 1]\n } else {\n let step = num / DEFAULT_TICK_COUNT; // 默认5个ticks\n const power = Math.floor(Math.log(step) / Math.LN10);\n const err = step / Math.pow(10, power);\n step = (err >= e10 ? 10 : err >= e5 ? 5 : err >= e2 ? 2 : 1) * Math.pow(10, power);\n\n domain[0] = 0;\n domain[1] = step * 10;\n }\n if (flag < 0) {\n domain.reverse();\n domain[0] *= -1;\n domain[1] *= -1;\n }\n }\n return domain;\n }\n\n protected includeZero(domain: number[]): void {\n if (this._zero) {\n domain[0] = Math.min(domain[0], 0);\n domain[domain.length - 1] = Math.max(domain[domain.length - 1], 0);\n }\n }\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain(key: string, value: number | undefined) {\n if (value === undefined) {\n delete this._extend[key];\n return;\n }\n this._extend[key] = value;\n const domain = this._scale.domain();\n this.extendDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n this.niceDomain(domain);\n this._scale.domain(domain, this._nice);\n\n if (this._nice) {\n const niced = this.setScaleNice();\n\n !niced && this._scale.rescale();\n }\n\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any, value: 'domain' });\n }\n\n protected extendDomain(domain: number[]) {\n let temp;\n const domainLast = domain.length - 1;\n const reverse = domain[0] - domain[domainLast] > 0;\n const min = reverse ? domainLast : 0;\n const max = reverse ? 0 : domainLast;\n for (const key in this._extend) {\n temp = this._extend[key];\n temp > domain[max] && (domain[max] = temp);\n temp < domain[min] && (domain[min] = temp);\n }\n }\n\n getDomainSpec() {\n return this._domain;\n }\n\n protected setDomainMinMax(domain: number[]): void {\n if (!this._domain) {\n return;\n }\n const { min, max } = this._domain;\n isValid(min) && (domain[0] = min);\n isValid(max) && (domain[1] = max);\n }\n\n protected setSoftDomainMinMax(domain: number[]): void {\n const { softMin, softMax } = this._spec;\n\n if (isValid(softMin)) {\n let softMinValue = isFunction(softMin) ? softMin(domain) : (softMin as number);\n\n if (isNil(softMinValue)) {\n softMinValue = domain[0];\n }\n\n if (softMinValue <= domain[0]) {\n domain[0] = softMinValue;\n this._softMinValue = softMinValue;\n }\n }\n\n if (isValid(softMax)) {\n let softMaxValue = isFunction(softMax) ? softMax(domain) : (softMax as number);\n\n if (isNil(softMaxValue)) {\n softMaxValue = domain[1];\n }\n\n if (softMaxValue >= domain[1]) {\n domain[1] = softMaxValue;\n }\n\n this._softMaxValue = softMaxValue;\n }\n }\n\n setZero(zero: boolean) {\n if (this._zero !== zero) {\n this._zero = zero;\n this.updateScaleDomain();\n }\n }\n /**\n * @override\n * TODO event.emit是否可以考虑用decorator\n */\n protected updateScaleDomain() {\n if (!this.isSeriesDataEnable()) {\n return;\n }\n const data = this.collectData();\n const domain: number[] = this.computeLinearDomain(data) as number[];\n this.updateScaleDomainByModel(domain);\n }\n\n /**\n * TODO event.emit是否可以考虑用decorator\n * 数据逻辑外,模块的设置更新对scale-domain的修改操作\n */\n protected updateScaleDomainByModel(domain?: number[]) {\n domain = domain ?? this._scale.domain();\n // 其他模块的设置 domain\n this.extendDomain(domain);\n this.includeZero(domain);\n // 用户 spec 的 min-max\n this.setDomainMinMax(domain);\n // nice 优先级最高\n this.niceDomain(domain);\n this._scale.domain(domain, this._nice);\n // 设置scale的nice-min-max\n if (this._nice) {\n const niced = this.setScaleNice();\n\n !niced && this._scale.rescale();\n }\n this._updateNiceLabelFormatter(domain);\n\n this._domainAfterSpec = this._scale.domain();\n this.event.emit(ChartEvent.scaleDomainUpdate, { model: this as any });\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any, value: 'domain' });\n }\n\n getDomainAfterSpec() {\n return this._domainAfterSpec;\n }\n\n protected _updateNiceLabelFormatter(domain: number[]) {\n // 根据轴 domain 范围做动态判断,取最多 n + 2 位小数\n const domainSpan = Math.abs(domain[1] - domain[0]);\n const n = Math.max(-Math.floor(Math.log10(domainSpan)), 0) + 2;\n const unit = Math.pow(10, n);\n this.niceLabelFormatter = (value: StringOrNumber) => {\n if (isValidNumber(+value)) {\n return Math.round((+value as number) * unit) / unit;\n }\n return value;\n };\n }\n}\n"]}
|
|
@@ -38,7 +38,6 @@ export declare abstract class PolarAxis<T extends IPolarAxisCommonSpec = IPolarA
|
|
|
38
38
|
effect: IEffect;
|
|
39
39
|
setAttrFromSpec(): void;
|
|
40
40
|
_transformLayoutPosition: (pos: Partial<IPoint>) => Partial<IPoint>;
|
|
41
|
-
onLayoutEnd(ctx: any): void;
|
|
42
41
|
onRender(ctx: any): void;
|
|
43
42
|
changeRegions(): void;
|
|
44
43
|
protected _tickTransformOption(): IPolarTickDataOpt;
|
|
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
14
14
|
value: !0
|
|
15
15
|
}), exports.PolarAxis = void 0;
|
|
16
16
|
|
|
17
|
-
const polar_1 = require("../../../constant/polar"), vscale_1 = require("@visactor/vscale"), constant_1 = require("../../../constant"), type_1 = require("../../interface/type"), factory_1 = require("../../../core/factory"),
|
|
17
|
+
const polar_1 = require("../../../constant/polar"), vscale_1 = require("@visactor/vscale"), constant_1 = require("../../../constant"), type_1 = require("../../interface/type"), factory_1 = require("../../../core/factory"), model_1 = require("../../../util/model"), math_1 = require("../../../util/math"), utils_1 = require("../../../series/util/utils"), util_1 = require("../util"), vutils_1 = require("@visactor/vutils"), base_axis_1 = require("../base-axis"), vgrammar_core_1 = require("@visactor/vgrammar-core"), util_2 = require("./util"), vutils_extension_1 = require("@visactor/vutils-extension");
|
|
18
18
|
|
|
19
19
|
class PolarAxis extends base_axis_1.AxisComponent {
|
|
20
20
|
get center() {
|
|
@@ -99,20 +99,16 @@ class PolarAxis extends base_axis_1.AxisComponent {
|
|
|
99
99
|
this._center = this._spec.center, this._startAngle = (0, vutils_1.degreeToRadian)(this._spec.startAngle),
|
|
100
100
|
this._endAngle = (0, vutils_1.degreeToRadian)(this._spec.endAngle), this._inverse = this._spec.inverse;
|
|
101
101
|
}
|
|
102
|
-
onLayoutEnd(ctx) {
|
|
103
|
-
this.updateScaleRange() && (this.updateSeriesScale(), this.event.emit(constant_1.ChartEvent.scaleUpdate, {
|
|
104
|
-
model: this,
|
|
105
|
-
value: "range"
|
|
106
|
-
})), super.onLayoutEnd(ctx);
|
|
107
|
-
}
|
|
108
102
|
onRender(ctx) {}
|
|
109
103
|
changeRegions() {}
|
|
110
104
|
_tickTransformOption() {
|
|
105
|
+
var _a;
|
|
111
106
|
return Object.assign(Object.assign({}, super._tickTransformOption()), {
|
|
112
|
-
noDecimal: this._tick.noDecimals,
|
|
107
|
+
noDecimal: null === (_a = this._tick) || void 0 === _a ? void 0 : _a.noDecimals,
|
|
113
108
|
startAngle: this.startAngle,
|
|
114
109
|
labelOffset: (0, util_1.getAxisLabelOffset)(this._spec),
|
|
115
|
-
getRadius: () => this.getOuterRadius()
|
|
110
|
+
getRadius: () => this.getOuterRadius(),
|
|
111
|
+
inside: this._spec.inside
|
|
116
112
|
});
|
|
117
113
|
}
|
|
118
114
|
afterCompile() {
|
|
@@ -304,9 +300,9 @@ class PolarAxis extends base_axis_1.AxisComponent {
|
|
|
304
300
|
}
|
|
305
301
|
_update(attrs) {
|
|
306
302
|
const {grid: gridAttrs} = attrs, axisAttrs = __rest(attrs, [ "grid" ]);
|
|
307
|
-
if (this._axisMark.getProduct().encode((0,
|
|
303
|
+
if (this._axisMark.getProduct().encode((0, vutils_extension_1.mergeSpec)({}, this._axisStyle, axisAttrs)),
|
|
308
304
|
this._gridMark) {
|
|
309
|
-
this._gridMark.getProduct().encode((0,
|
|
305
|
+
this._gridMark.getProduct().encode((0, vutils_extension_1.mergeSpec)({}, this._gridStyle, gridAttrs));
|
|
310
306
|
}
|
|
311
307
|
}
|
|
312
308
|
invert(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/polar/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["import { POLAR_DEFAULT_RADIUS, POLAR_END_RADIAN } from '../../../constant/polar';\nimport type { IBaseScale, BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { ChartEvent, LayoutZIndex, POLAR_START_RADIAN } from '../../../constant';\nimport type { IPolarAxis, IPolarAxisCommonSpec } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { Factory } from '../../../core/factory';\nimport { mergeSpec } from '../../../util/spec/merge-spec';\nimport { eachSeries } from '../../../util/model';\nimport { polarToCartesian } from '../../../util/math';\nimport type { IPolarTickDataOpt } from '@visactor/vutils-extension';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IPolarSeries } from '../../../series/interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint, Datum, StringOrNumber, ILayoutType } from '../../../typings';\nimport { isPolarAxisSeries } from '../../../series/util/utils';\nimport { getAxisItem, getAxisLabelOffset, isValidPolarAxis } from '../util';\n\nimport type { Dict, Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { PointService, degreeToRadian, isValid, isArray, isValidNumber } from '@visactor/vutils';\nimport type { IEffect, IModelSpecInfo } from '../../../model/interface';\nimport { AxisComponent } from '../base-axis';\nimport type { IBandAxisSpec, ITick } from '../interface';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\nimport { getPolarAxisInfo } from './util';\n\nexport abstract class PolarAxis<T extends IPolarAxisCommonSpec = IPolarAxisCommonSpec>\n extends AxisComponent<T>\n implements IPolarAxis\n{\n static type = ComponentTypeEnum.polarAxis;\n type = ComponentTypeEnum.polarAxis;\n name: string = ComponentTypeEnum.polarAxis;\n\n static specKey = 'axes';\n\n protected readonly _defaultBandPosition = 0;\n protected readonly _defaultBandInnerPadding = 0;\n protected readonly _defaultBandOuterPadding = 0;\n\n layoutType: ILayoutType = 'absolute';\n layoutZIndex: number = LayoutZIndex.Axis;\n protected _tick: ITick | undefined = undefined;\n\n protected _center: IPoint | null = null;\n get center() {\n return this._center;\n }\n\n protected _startAngle: number = POLAR_START_RADIAN;\n get startAngle() {\n return this._startAngle;\n }\n\n protected _endAngle: number = POLAR_END_RADIAN;\n get endAngle() {\n return this._endAngle;\n }\n\n protected _orient: IPolarOrientType = 'radius';\n getOrient() {\n return this._orient;\n }\n\n protected _groupScales: IBaseScale[] = [];\n getGroupScales() {\n return this._groupScales;\n }\n\n private _axisStyle: any;\n private _gridStyle: any;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const axesSpec = chartSpec[this.specKey];\n if (!axesSpec) {\n return null;\n }\n\n if (!isArray(axesSpec)) {\n if (!isValidPolarAxis(axesSpec)) {\n return null;\n }\n const { axisType, componentName, startAngle, endAngle, center, outerRadius } = getPolarAxisInfo(\n axesSpec,\n chartSpec\n );\n axesSpec.center = center;\n axesSpec.startAngle = startAngle;\n axesSpec.endAngle = endAngle;\n axesSpec.outerRadius = outerRadius;\n axesSpec.type = axisType;\n return [\n {\n spec: axesSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: componentName\n }\n ];\n }\n const specInfos: IModelSpecInfo[] = [];\n let angleAxisIndex: number;\n const radiusAxisSpecInfos: IModelSpecInfo[] = [];\n axesSpec.forEach((s: any, i: number) => {\n if (!isValidPolarAxis(s)) {\n return;\n }\n const { axisType, componentName, startAngle, endAngle, center, outerRadius } = getPolarAxisInfo(s, chartSpec);\n s.center = center;\n s.startAngle = startAngle;\n s.endAngle = endAngle;\n s.outerRadius = outerRadius;\n s.type = axisType;\n const info = {\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: componentName\n };\n specInfos.push(info);\n if (s.orient === 'radius') {\n radiusAxisSpecInfos.push(info);\n } else {\n angleAxisIndex = i;\n }\n });\n radiusAxisSpecInfos.forEach(info => {\n (info as any).angleAxisIndex = angleAxisIndex;\n });\n return specInfos;\n }\n\n static createComponent(specInfo: IModelSpecInfo, options: IComponentOption) {\n const { spec, ...others } = specInfo;\n const C = Factory.getComponentInKey(others.type);\n if (C) {\n return new C(spec, {\n ...options,\n ...others\n }) as IPolarAxis;\n }\n options.onError(`Component ${others.type} not found`);\n return null;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n\n this._coordinateType = 'polar';\n }\n\n effect: IEffect = {\n scaleUpdate: param => {\n this.computeData(param?.value);\n eachSeries(\n this._regions,\n s => {\n if (this.getOrient() === 'radius') {\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this.visible) {\n this._axisStyle = this._getAxisAttributes();\n this._gridStyle = this._getGridAttributes();\n }\n\n this._tick = this._spec.tick;\n this._orient = this._spec.orient === 'angle' ? 'angle' : 'radius';\n this._center = this._spec.center;\n this._startAngle = degreeToRadian(this._spec.startAngle);\n this._endAngle = degreeToRadian(this._spec.endAngle);\n this._inverse = this._spec.inverse;\n }\n\n _transformLayoutPosition = (pos: Partial<IPoint>) => {\n const region = this.getRegions()?.[0];\n return region ? region.getLayoutStartPoint() : pos;\n };\n\n onLayoutEnd(ctx: any): void {\n const isChanged = this.updateScaleRange();\n\n if (isChanged) {\n this.updateSeriesScale();\n this.event.emit(ChartEvent.scaleUpdate, { model: this, value: 'range' });\n }\n\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n protected _tickTransformOption() {\n return {\n ...super._tickTransformOption(),\n noDecimal: this._tick.noDecimals,\n startAngle: this.startAngle,\n labelOffset: getAxisLabelOffset(this._spec),\n getRadius: () => this.getOuterRadius()\n } as IPolarTickDataOpt;\n }\n\n afterCompile() {\n const product = this._axisMark?.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n // 布局结束之后再进行插件的调用\n this._delegateAxisContainerEvent(product.getGroupGraphicItem());\n }\n });\n }\n }\n\n protected updateScaleRange() {\n const prevRange = this._scale.range();\n let newRange: [number, number];\n\n if (this.getOrient() === 'radius') {\n newRange = this._inverse\n ? [this.computeLayoutOuterRadius(), this.computeLayoutInnerRadius()]\n : [this.computeLayoutInnerRadius(), this.computeLayoutOuterRadius()];\n } else {\n newRange = this._inverse ? [this._endAngle, this._startAngle] : [this._startAngle, this._endAngle];\n }\n\n if (prevRange && newRange && prevRange[0] === newRange[0] && prevRange[1] === newRange[1]) {\n return false;\n }\n\n this._scale.range(newRange);\n\n return true;\n }\n\n protected collectSeriesField(depth: number, series: IPolarSeries) {\n let field: string | string[];\n\n if (depth > 0) {\n field = series.getGroups()?.fields?.[depth];\n } else {\n field = this.getOrient() === 'radius' ? series.getRadiusField() : series.getAngleField();\n }\n return field;\n }\n\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n\n protected updateSeriesScale(): void {\n eachSeries(\n this._regions,\n s => {\n if (this.getOrient() === 'radius') {\n (s as IPolarSeries).setRadiusScale(this._scale);\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).setAngleScale(this._scale);\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected getSeriesStatisticsField(s: IPolarSeries) {\n const f = this.getOrient() === 'radius' ? s.getRadiusField() : s.getAngleField();\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected initGroupScales() {\n // do nothing\n }\n\n // axisHelper\n protected axisHelper() {\n const getScale = (depth: number) => {\n return this._scales[depth];\n };\n\n const helper = {\n isContinuous: isContinuous(this._scale.type),\n dataToPosition: this.dataToPosition.bind(this),\n coordToPoint: this.coordToPoint.bind(this),\n pointToCoord: this.pointToCoord.bind(this),\n center: this.getCenter.bind(this),\n getScale,\n getAxisId: () => this.id,\n getSpec: () => this._spec\n };\n return helper;\n }\n\n positionToData(position: IPoint) {\n const coord = this.pointToCoord(position);\n if (this.getOrient() === 'radius') {\n return this.invert(coord.radius);\n }\n return this.invert(coord.angle);\n }\n\n /**\n * 将半径和角度转换为笛卡尔坐标点\n * @param point 角度 & 弧度信息\n * @returns 笛卡尔坐标点 { x, y }\n */\n coordToPoint(point: IPolarPoint): IPoint {\n // center & startAngle 都是坐标系转换的配置,在 scale 中不生效,仅在最终转换时生效\n const angle = point.angle;\n const { x: centerX, y: centerY } = this.getCenter();\n const p = polarToCartesian({ angle, radius: point.radius });\n return {\n x: p.x + centerX,\n y: p.y + centerY\n };\n }\n\n /**\n * 将笛卡尔坐标转换为对应的半径和弧度\n * @param point 笛卡尔坐标点 { x, y }\n * @returns 角度 & 弧度信息 { radius, angle }\n */\n pointToCoord(point: IPoint): IPolarPoint {\n const { x: centerX, y: centerY } = this.getCenter();\n let dx = point.x - centerX;\n let dy = point.y - centerY;\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n\n let radian = Math.atan2(dy, dx);\n if (radian < startAngle) {\n while (radian <= startAngle) {\n radian += Math.PI * 2;\n }\n }\n if (radian > endAngle) {\n while (radian >= endAngle) {\n radian -= Math.PI * 2;\n }\n }\n return {\n radius,\n angle: radian\n };\n }\n\n /**\n * 获取坐标轴圆心位置\n * @returns 圆心位置\n */\n getCenter(): IPoint {\n return {\n x: this._center?.x || this.getRefLayoutRect().width / 2,\n y: this._center?.y || this.getRefLayoutRect().height / 2\n };\n }\n\n /**\n * 获取极坐标半径值\n * @returns 半径数值\n */\n getOuterRadius(): number {\n return this.computeLayoutOuterRadius();\n }\n\n /**\n * 获取极坐标内半径值\n * @returns 内半径数值\n */\n getInnerRadius(): number {\n return this.computeLayoutInnerRadius();\n }\n\n updateLayoutAttribute(): void {\n if (this._visible) {\n if (this.getOrient() === 'radius') {\n this._layoutRadiusAxis();\n } else {\n this._layoutAngleAxis();\n }\n }\n\n super.updateLayoutAttribute();\n }\n\n protected _getNormalizedValue(values: any[], length: number) {\n return length === 0 ? 0 : (this.dataToPosition(values) - this._getStartValue()) / length;\n }\n\n protected getLabelItems(length: number) {\n const tickLatestData = this.getTickData()?.getLatestData();\n if (tickLatestData && tickLatestData.length) {\n return [\n tickLatestData.map((obj: Datum) => {\n return getAxisItem(obj.value, this._getNormalizedValue([obj.value], length));\n })\n ];\n }\n return [];\n }\n protected _getStartValue() {\n if (this.getOrient() === 'radius') {\n return this.computeLayoutInnerRadius();\n }\n\n return this._startAngle;\n }\n\n private _layoutAngleAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const angleRange = this._endAngle - this._startAngle;\n const items = this.getLabelItems(angleRange);\n const commonAttrs = {\n ...this.getLayoutStartPoint(),\n inside: this._spec.inside,\n center,\n radius,\n innerRadius,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n };\n const attrs: any = {\n ...commonAttrs,\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items,\n orient: 'angle'\n };\n if (this._spec.grid.visible) {\n attrs.grid = {\n type: 'line',\n smoothLink: true,\n items: items[0],\n ...commonAttrs\n };\n }\n this._update(attrs);\n }\n\n private _layoutRadiusAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const endPoint = this.coordToPoint({ angle: this._startAngle, radius });\n const startPoint = this.coordToPoint({ angle: this._startAngle, radius: innerRadius });\n const distance = PointService.distancePP(startPoint, endPoint);\n const items = this.getLabelItems(distance);\n const commonAttrs = {\n ...this.getLayoutStartPoint(),\n start: startPoint,\n end: endPoint,\n verticalFactor: -1\n };\n const attrs: any = {\n ...commonAttrs,\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items,\n orient: 'radius'\n };\n if (this._spec.grid?.visible) {\n attrs.grid = {\n items: items[0],\n type: this._spec.grid?.smooth ? 'circle' : 'polygon',\n center,\n closed: true,\n sides: this._getRelatedAngleAxis()?.getScale().domain().length,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n ...commonAttrs\n };\n }\n this._update(attrs);\n }\n\n protected _getRelatedAngleAxis(): IPolarAxis | undefined {\n const index = (this._option as any).angleAxisIndex;\n if (isValid(index)) {\n return this._option.getComponentByIndex(this.specKey, index) as IPolarAxis;\n }\n return undefined;\n }\n\n private computeLayoutOuterRadius() {\n /**\n * 兼容radius旧配置\n * @deprecated use outerRadius instead\n */\n const radius = this._spec.outerRadius ?? this._spec.radius;\n const outerRadius = radius ?? this.getRefSeriesRadius().outerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * outerRadius;\n }\n\n private computeLayoutInnerRadius() {\n const innerRadius = this._spec.innerRadius ?? this.getRefSeriesRadius().innerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * innerRadius;\n }\n\n private getRefLayoutRect() {\n return this.getRegions()[0].getLayoutRect();\n }\n\n private getRefSeriesRadius() {\n let outerRadius: number = POLAR_DEFAULT_RADIUS;\n let innerRadius: number = 0;\n const chartSpec = this.getChart().getSpec() as any;\n // FIXME: 为了保证 common 图表能够应用系列的 radius 配置,当前从相应的 region 中取到 radius 信息\n eachSeries(\n this.getRegions(),\n s => {\n const series = s as IPolarSeries;\n if (isPolarAxisSeries(series.type)) {\n const {\n outerRadius: seriesRadius = chartSpec.outerRadius,\n innerRadius: seriesInnerRadius = chartSpec.innerRadius\n } = series;\n if (isValidNumber(seriesRadius)) {\n outerRadius = seriesRadius;\n }\n if (isValidNumber(seriesInnerRadius)) {\n innerRadius = seriesInnerRadius;\n }\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return { outerRadius, innerRadius };\n }\n\n private _update(attrs: Dict<unknown>) {\n const { grid: gridAttrs, ...axisAttrs } = attrs;\n const axisProduct = this._axisMark.getProduct(); // 获取语法元素并更新\n axisProduct.encode(mergeSpec({}, this._axisStyle, axisAttrs));\n\n if (this._gridMark) {\n const gridProduct = this._gridMark.getProduct(); // 获取语法元素并更新\n gridProduct.encode(mergeSpec({}, this._gridStyle, gridAttrs));\n }\n }\n\n invert(value: number): number {\n if (this.getOrient() === 'angle' && this._scale.type === 'band') {\n //极坐标轴需要手动取模,超出range时默认会截断\n const range = this._scale.range();\n const rangeValue = range[range.length - 1] - range[0];\n const bandPosition = (this.getSpec() as IBandAxisSpec).bandPosition ?? this._defaultBandPosition;\n const offset = bandPosition === 0.5 ? 0 : (this._scale as BandScale).bandwidth() / 2;\n if (range[0] < 0) {\n const angle = value + offset;\n const transformedAngle = ((angle + Math.abs(range[0])) % rangeValue) - Math.abs(range[0]);\n return this._scale.invert(transformedAngle);\n }\n return this._scale.invert((value + offset) % rangeValue);\n }\n\n return this._scale.invert(value);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/polar/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["import { POLAR_DEFAULT_RADIUS, POLAR_END_RADIAN } from '../../../constant/polar';\nimport type { IBaseScale, BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { ChartEvent, LayoutZIndex, POLAR_START_RADIAN } from '../../../constant';\nimport type { IPolarAxis, IPolarAxisCommonSpec } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { Factory } from '../../../core/factory';\nimport { eachSeries } from '../../../util/model';\nimport { polarToCartesian } from '../../../util/math';\nimport type { IPolarTickDataOpt } from '@visactor/vutils-extension';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IPolarSeries } from '../../../series/interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint, Datum, StringOrNumber, ILayoutType } from '../../../typings';\nimport { isPolarAxisSeries } from '../../../series/util/utils';\nimport { getAxisItem, getAxisLabelOffset, isValidPolarAxis } from '../util';\nimport type { Dict, Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { PointService, degreeToRadian, isValid, isArray, isValidNumber } from '@visactor/vutils';\nimport type { IEffect, IModelSpecInfo } from '../../../model/interface';\nimport { AxisComponent } from '../base-axis';\nimport type { IBandAxisSpec, ITick } from '../interface';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\nimport { getPolarAxisInfo } from './util';\n// eslint-disable-next-line no-duplicate-imports\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport abstract class PolarAxis<T extends IPolarAxisCommonSpec = IPolarAxisCommonSpec>\n extends AxisComponent<T>\n implements IPolarAxis\n{\n static type = ComponentTypeEnum.polarAxis;\n type = ComponentTypeEnum.polarAxis;\n name: string = ComponentTypeEnum.polarAxis;\n\n static specKey = 'axes';\n\n protected readonly _defaultBandPosition = 0;\n protected readonly _defaultBandInnerPadding = 0;\n protected readonly _defaultBandOuterPadding = 0;\n\n layoutType: ILayoutType = 'absolute';\n layoutZIndex: number = LayoutZIndex.Axis;\n protected _tick: ITick | undefined = undefined;\n\n protected _center: IPoint | null = null;\n get center() {\n return this._center;\n }\n\n protected _startAngle: number = POLAR_START_RADIAN;\n get startAngle() {\n return this._startAngle;\n }\n\n protected _endAngle: number = POLAR_END_RADIAN;\n get endAngle() {\n return this._endAngle;\n }\n\n protected _orient: IPolarOrientType = 'radius';\n getOrient() {\n return this._orient;\n }\n\n protected _groupScales: IBaseScale[] = [];\n getGroupScales() {\n return this._groupScales;\n }\n\n private _axisStyle: any;\n private _gridStyle: any;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const axesSpec = chartSpec[this.specKey];\n if (!axesSpec) {\n return null;\n }\n\n if (!isArray(axesSpec)) {\n if (!isValidPolarAxis(axesSpec)) {\n return null;\n }\n const { axisType, componentName, startAngle, endAngle, center, outerRadius } = getPolarAxisInfo(\n axesSpec,\n chartSpec\n );\n axesSpec.center = center;\n axesSpec.startAngle = startAngle;\n axesSpec.endAngle = endAngle;\n axesSpec.outerRadius = outerRadius;\n axesSpec.type = axisType;\n return [\n {\n spec: axesSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: componentName\n }\n ];\n }\n const specInfos: IModelSpecInfo[] = [];\n let angleAxisIndex: number;\n const radiusAxisSpecInfos: IModelSpecInfo[] = [];\n axesSpec.forEach((s: any, i: number) => {\n if (!isValidPolarAxis(s)) {\n return;\n }\n const { axisType, componentName, startAngle, endAngle, center, outerRadius } = getPolarAxisInfo(s, chartSpec);\n s.center = center;\n s.startAngle = startAngle;\n s.endAngle = endAngle;\n s.outerRadius = outerRadius;\n s.type = axisType;\n const info = {\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: componentName\n };\n specInfos.push(info);\n if (s.orient === 'radius') {\n radiusAxisSpecInfos.push(info);\n } else {\n angleAxisIndex = i;\n }\n });\n radiusAxisSpecInfos.forEach(info => {\n (info as any).angleAxisIndex = angleAxisIndex;\n });\n return specInfos;\n }\n\n static createComponent(specInfo: IModelSpecInfo, options: IComponentOption) {\n const { spec, ...others } = specInfo;\n const C = Factory.getComponentInKey(others.type);\n if (C) {\n return new C(spec, {\n ...options,\n ...others\n }) as IPolarAxis;\n }\n options.onError(`Component ${others.type} not found`);\n return null;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n\n this._coordinateType = 'polar';\n }\n\n effect: IEffect = {\n scaleUpdate: param => {\n this.computeData(param?.value);\n eachSeries(\n this._regions,\n s => {\n if (this.getOrient() === 'radius') {\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this.visible) {\n this._axisStyle = this._getAxisAttributes();\n this._gridStyle = this._getGridAttributes();\n }\n\n this._tick = this._spec.tick;\n this._orient = this._spec.orient === 'angle' ? 'angle' : 'radius';\n this._center = this._spec.center;\n this._startAngle = degreeToRadian(this._spec.startAngle);\n this._endAngle = degreeToRadian(this._spec.endAngle);\n this._inverse = this._spec.inverse;\n }\n\n _transformLayoutPosition = (pos: Partial<IPoint>) => {\n const region = this.getRegions()?.[0];\n return region ? region.getLayoutStartPoint() : pos;\n };\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n protected _tickTransformOption() {\n return {\n ...super._tickTransformOption(),\n noDecimal: this._tick?.noDecimals,\n startAngle: this.startAngle,\n labelOffset: getAxisLabelOffset(this._spec),\n getRadius: () => this.getOuterRadius(),\n inside: this._spec.inside\n } as IPolarTickDataOpt;\n }\n\n afterCompile() {\n const product = this._axisMark?.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n // 布局结束之后再进行插件的调用\n this._delegateAxisContainerEvent(product.getGroupGraphicItem());\n }\n });\n }\n }\n\n protected updateScaleRange() {\n const prevRange = this._scale.range();\n let newRange: [number, number];\n\n if (this.getOrient() === 'radius') {\n newRange = this._inverse\n ? [this.computeLayoutOuterRadius(), this.computeLayoutInnerRadius()]\n : [this.computeLayoutInnerRadius(), this.computeLayoutOuterRadius()];\n } else {\n newRange = this._inverse ? [this._endAngle, this._startAngle] : [this._startAngle, this._endAngle];\n }\n\n if (prevRange && newRange && prevRange[0] === newRange[0] && prevRange[1] === newRange[1]) {\n return false;\n }\n\n this._scale.range(newRange);\n\n return true;\n }\n\n protected collectSeriesField(depth: number, series: IPolarSeries) {\n let field: string | string[];\n\n if (depth > 0) {\n field = series.getGroups()?.fields?.[depth];\n } else {\n field = this.getOrient() === 'radius' ? series.getRadiusField() : series.getAngleField();\n }\n return field;\n }\n\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n\n protected updateSeriesScale(): void {\n eachSeries(\n this._regions,\n s => {\n if (this.getOrient() === 'radius') {\n (s as IPolarSeries).setRadiusScale(this._scale);\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).setAngleScale(this._scale);\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected getSeriesStatisticsField(s: IPolarSeries) {\n const f = this.getOrient() === 'radius' ? s.getRadiusField() : s.getAngleField();\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected initGroupScales() {\n // do nothing\n }\n\n // axisHelper\n protected axisHelper() {\n const getScale = (depth: number) => {\n return this._scales[depth];\n };\n\n const helper = {\n isContinuous: isContinuous(this._scale.type),\n dataToPosition: this.dataToPosition.bind(this),\n coordToPoint: this.coordToPoint.bind(this),\n pointToCoord: this.pointToCoord.bind(this),\n center: this.getCenter.bind(this),\n getScale,\n getAxisId: () => this.id,\n getSpec: () => this._spec\n };\n return helper;\n }\n\n positionToData(position: IPoint) {\n const coord = this.pointToCoord(position);\n if (this.getOrient() === 'radius') {\n return this.invert(coord.radius);\n }\n return this.invert(coord.angle);\n }\n\n /**\n * 将半径和角度转换为笛卡尔坐标点\n * @param point 角度 & 弧度信息\n * @returns 笛卡尔坐标点 { x, y }\n */\n coordToPoint(point: IPolarPoint): IPoint {\n // center & startAngle 都是坐标系转换的配置,在 scale 中不生效,仅在最终转换时生效\n const angle = point.angle;\n const { x: centerX, y: centerY } = this.getCenter();\n const p = polarToCartesian({ angle, radius: point.radius });\n return {\n x: p.x + centerX,\n y: p.y + centerY\n };\n }\n\n /**\n * 将笛卡尔坐标转换为对应的半径和弧度\n * @param point 笛卡尔坐标点 { x, y }\n * @returns 角度 & 弧度信息 { radius, angle }\n */\n pointToCoord(point: IPoint): IPolarPoint {\n const { x: centerX, y: centerY } = this.getCenter();\n let dx = point.x - centerX;\n let dy = point.y - centerY;\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n\n let radian = Math.atan2(dy, dx);\n if (radian < startAngle) {\n while (radian <= startAngle) {\n radian += Math.PI * 2;\n }\n }\n if (radian > endAngle) {\n while (radian >= endAngle) {\n radian -= Math.PI * 2;\n }\n }\n return {\n radius,\n angle: radian\n };\n }\n\n /**\n * 获取坐标轴圆心位置\n * @returns 圆心位置\n */\n getCenter(): IPoint {\n return {\n x: this._center?.x || this.getRefLayoutRect().width / 2,\n y: this._center?.y || this.getRefLayoutRect().height / 2\n };\n }\n\n /**\n * 获取极坐标半径值\n * @returns 半径数值\n */\n getOuterRadius(): number {\n return this.computeLayoutOuterRadius();\n }\n\n /**\n * 获取极坐标内半径值\n * @returns 内半径数值\n */\n getInnerRadius(): number {\n return this.computeLayoutInnerRadius();\n }\n\n updateLayoutAttribute(): void {\n if (this._visible) {\n if (this.getOrient() === 'radius') {\n this._layoutRadiusAxis();\n } else {\n this._layoutAngleAxis();\n }\n }\n\n super.updateLayoutAttribute();\n }\n\n protected _getNormalizedValue(values: any[], length: number) {\n return length === 0 ? 0 : (this.dataToPosition(values) - this._getStartValue()) / length;\n }\n\n protected getLabelItems(length: number) {\n const tickLatestData = this.getTickData()?.getLatestData();\n if (tickLatestData && tickLatestData.length) {\n return [\n tickLatestData.map((obj: Datum) => {\n return getAxisItem(obj.value, this._getNormalizedValue([obj.value], length));\n })\n ];\n }\n return [];\n }\n protected _getStartValue() {\n if (this.getOrient() === 'radius') {\n return this.computeLayoutInnerRadius();\n }\n\n return this._startAngle;\n }\n\n private _layoutAngleAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const angleRange = this._endAngle - this._startAngle;\n const items = this.getLabelItems(angleRange);\n const commonAttrs = {\n ...this.getLayoutStartPoint(),\n inside: this._spec.inside,\n center,\n radius,\n innerRadius,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n };\n const attrs: any = {\n ...commonAttrs,\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items,\n orient: 'angle'\n };\n if (this._spec.grid.visible) {\n attrs.grid = {\n type: 'line',\n smoothLink: true,\n items: items[0],\n ...commonAttrs\n };\n }\n this._update(attrs);\n }\n\n private _layoutRadiusAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const endPoint = this.coordToPoint({ angle: this._startAngle, radius });\n const startPoint = this.coordToPoint({ angle: this._startAngle, radius: innerRadius });\n const distance = PointService.distancePP(startPoint, endPoint);\n const items = this.getLabelItems(distance);\n const commonAttrs = {\n ...this.getLayoutStartPoint(),\n start: startPoint,\n end: endPoint,\n verticalFactor: -1\n };\n const attrs: any = {\n ...commonAttrs,\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items,\n orient: 'radius'\n };\n if (this._spec.grid?.visible) {\n attrs.grid = {\n items: items[0],\n type: this._spec.grid?.smooth ? 'circle' : 'polygon',\n center,\n closed: true,\n sides: this._getRelatedAngleAxis()?.getScale().domain().length,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n ...commonAttrs\n };\n }\n this._update(attrs);\n }\n\n protected _getRelatedAngleAxis(): IPolarAxis | undefined {\n const index = (this._option as any).angleAxisIndex;\n if (isValid(index)) {\n return this._option.getComponentByIndex(this.specKey, index) as IPolarAxis;\n }\n return undefined;\n }\n\n private computeLayoutOuterRadius() {\n /**\n * 兼容radius旧配置\n * @deprecated use outerRadius instead\n */\n const radius = this._spec.outerRadius ?? this._spec.radius;\n const outerRadius = radius ?? this.getRefSeriesRadius().outerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * outerRadius;\n }\n\n private computeLayoutInnerRadius() {\n const innerRadius = this._spec.innerRadius ?? this.getRefSeriesRadius().innerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * innerRadius;\n }\n\n private getRefLayoutRect() {\n return this.getRegions()[0].getLayoutRect();\n }\n\n private getRefSeriesRadius() {\n let outerRadius: number = POLAR_DEFAULT_RADIUS;\n let innerRadius: number = 0;\n const chartSpec = this.getChart().getSpec() as any;\n // FIXME: 为了保证 common 图表能够应用系列的 radius 配置,当前从相应的 region 中取到 radius 信息\n eachSeries(\n this.getRegions(),\n s => {\n const series = s as IPolarSeries;\n if (isPolarAxisSeries(series.type)) {\n const {\n outerRadius: seriesRadius = chartSpec.outerRadius,\n innerRadius: seriesInnerRadius = chartSpec.innerRadius\n } = series;\n if (isValidNumber(seriesRadius)) {\n outerRadius = seriesRadius;\n }\n if (isValidNumber(seriesInnerRadius)) {\n innerRadius = seriesInnerRadius;\n }\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return { outerRadius, innerRadius };\n }\n\n private _update(attrs: Dict<unknown>) {\n const { grid: gridAttrs, ...axisAttrs } = attrs;\n const axisProduct = this._axisMark.getProduct(); // 获取语法元素并更新\n axisProduct.encode(mergeSpec({}, this._axisStyle, axisAttrs));\n\n if (this._gridMark) {\n const gridProduct = this._gridMark.getProduct(); // 获取语法元素并更新\n gridProduct.encode(mergeSpec({}, this._gridStyle, gridAttrs));\n }\n }\n\n invert(value: number): number {\n if (this.getOrient() === 'angle' && this._scale.type === 'band') {\n //极坐标轴需要手动取模,超出range时默认会截断\n const range = this._scale.range();\n const rangeValue = range[range.length - 1] - range[0];\n const bandPosition = (this.getSpec() as IBandAxisSpec).bandPosition ?? this._defaultBandPosition;\n const offset = bandPosition === 0.5 ? 0 : (this._scale as BandScale).bandwidth() / 2;\n if (range[0] < 0) {\n const angle = value + offset;\n const transformedAngle = ((angle + Math.abs(range[0])) % rangeValue) - Math.abs(range[0]);\n return this._scale.invert(transformedAngle);\n }\n return this._scale.invert((value + offset) % rangeValue);\n }\n\n return this._scale.invert(value);\n }\n}\n"]}
|
|
@@ -14,6 +14,7 @@ export interface IPolarAxisHelper {
|
|
|
14
14
|
getScale: (depth?: number) => IBaseScale;
|
|
15
15
|
getBandwidth?: (depth?: number) => number;
|
|
16
16
|
getAxisId: () => number;
|
|
17
|
+
setExtendDomain?: (key: string, value: number | undefined) => void;
|
|
17
18
|
}
|
|
18
19
|
export interface IPolarAxis extends IAxis {
|
|
19
20
|
startAngle: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/polar/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { IComponent } from '../../../interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint } from '../../../../typings';\nimport type { IAxis, IGrid } from '../../interface';\nimport type { ICompilableData } from '../../../../compile/data';\n\nexport type IPolarGrid = IGrid & {\n /**\n * smooth 为 true 时,为圆形 grid,为 false 则为多边形 grid\n * @default false\n */\n smooth?: boolean;\n};\nexport interface IPolarAxisHelper {\n // axis is continuous\n isContinuous: boolean;\n\n dataToPosition: (values: any, cfg?: any) => number;\n coordToPoint: (point: IPolarPoint) => IPoint;\n pointToCoord: (point: IPoint) => IPolarPoint;\n center: () => IPoint;\n\n getScale: (depth?: number) => IBaseScale;\n getBandwidth?: (depth?: number) => number; // band轴特有\n getAxisId: () => number;\n}\n\nexport interface IPolarAxis extends IAxis {\n startAngle: number;\n endAngle: number;\n\n // 为了与直角坐标系轴对齐,这里也通过 orient 来区别 angle/radius 轴\n getOrient: () => IPolarOrientType;\n getScale: () => IBaseScale;\n // tickValues: () => number[];\n getCenter: () => IPoint;\n getOuterRadius: () => number;\n getInnerRadius: () => number;\n dataToPosition: (values: any[]) => number;\n positionToData: (position: IPoint) => any;\n getTickData: () => ICompilableData;\n // 将半径和角度转换为笛卡尔坐标点\n coordToPoint: (point: IPolarPoint) => IPoint;\n pointToCoord: (point: IPoint) => IPolarPoint;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/polar/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\nimport type { IComponent } from '../../../interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint } from '../../../../typings';\nimport type { IAxis, IGrid } from '../../interface';\nimport type { ICompilableData } from '../../../../compile/data';\n\nexport type IPolarGrid = IGrid & {\n /**\n * smooth 为 true 时,为圆形 grid,为 false 则为多边形 grid\n * @default false\n */\n smooth?: boolean;\n};\nexport interface IPolarAxisHelper {\n // axis is continuous\n isContinuous: boolean;\n\n dataToPosition: (values: any, cfg?: any) => number;\n coordToPoint: (point: IPolarPoint) => IPoint;\n pointToCoord: (point: IPoint) => IPolarPoint;\n center: () => IPoint;\n\n getScale: (depth?: number) => IBaseScale;\n getBandwidth?: (depth?: number) => number; // band轴特有\n getAxisId: () => number;\n // 用户其他模块扩充轴scale的区间\n setExtendDomain?: (key: string, value: number | undefined) => void;\n}\n\nexport interface IPolarAxis extends IAxis {\n startAngle: number;\n endAngle: number;\n\n // 为了与直角坐标系轴对齐,这里也通过 orient 来区别 angle/radius 轴\n getOrient: () => IPolarOrientType;\n getScale: () => IBaseScale;\n // tickValues: () => number[];\n getCenter: () => IPoint;\n getOuterRadius: () => number;\n getInnerRadius: () => number;\n dataToPosition: (values: any[]) => number;\n positionToData: (position: IPoint) => any;\n getTickData: () => ICompilableData;\n // 将半径和角度转换为笛卡尔坐标点\n coordToPoint: (point: IPolarPoint) => IPoint;\n pointToCoord: (point: IPoint) => IPolarPoint;\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import { ComponentTypeEnum } from '../../interface/type';
|
|
|
3
3
|
import { PolarAxis } from './axis';
|
|
4
4
|
import type { IPolarLinearAxisSpec } from './interface/spec';
|
|
5
5
|
import { LinearAxisMixin } from '../mixin/linear-axis-mixin';
|
|
6
|
-
export interface PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends Pick<LinearAxisMixin, 'setExtraAttrFromSpec' | 'transformScaleDomain' | 'valueToPosition' | 'computeLinearDomain' | 'setScaleNice'>, PolarAxis<T> {
|
|
6
|
+
export interface PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends Pick<LinearAxisMixin, 'setExtraAttrFromSpec' | 'transformScaleDomain' | 'valueToPosition' | 'computeLinearDomain' | 'setScaleNice' | 'setExtendDomain'>, PolarAxis<T> {
|
|
7
7
|
}
|
|
8
8
|
export declare class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends PolarAxis<T> {
|
|
9
9
|
static type: ComponentTypeEnum;
|
|
@@ -11,6 +11,9 @@ export declare class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLine
|
|
|
11
11
|
static specKey: string;
|
|
12
12
|
protected _zero: boolean;
|
|
13
13
|
protected _nice: boolean;
|
|
14
|
+
protected _extend: {
|
|
15
|
+
[key: string]: number;
|
|
16
|
+
};
|
|
14
17
|
protected _scale: LinearScale;
|
|
15
18
|
protected _groupScales: LinearScale[];
|
|
16
19
|
setAttrFromSpec(): void;
|
|
@@ -20,5 +23,6 @@ export declare class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLine
|
|
|
20
23
|
max: number;
|
|
21
24
|
values: any[];
|
|
22
25
|
}[]): number[];
|
|
26
|
+
protected axisHelper(): any;
|
|
23
27
|
}
|
|
24
28
|
export declare const registerPolarLinearAxis: () => void;
|
|
@@ -9,7 +9,7 @@ const vscale_1 = require("@visactor/vscale"), type_1 = require("../../interface/
|
|
|
9
9
|
class PolarLinearAxis extends axis_1.PolarAxis {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments), this.type = type_1.ComponentTypeEnum.polarLinearAxis, this._zero = !0,
|
|
12
|
-
this._nice = !0, this._scale = new vscale_1.LinearScale;
|
|
12
|
+
this._nice = !0, this._extend = {}, this._scale = new vscale_1.LinearScale;
|
|
13
13
|
}
|
|
14
14
|
setAttrFromSpec() {
|
|
15
15
|
super.setAttrFromSpec(), this.setExtraAttrFromSpec();
|
|
@@ -20,6 +20,10 @@ class PolarLinearAxis extends axis_1.PolarAxis {
|
|
|
20
20
|
computeDomain(data) {
|
|
21
21
|
return this.computeLinearDomain(data);
|
|
22
22
|
}
|
|
23
|
+
axisHelper() {
|
|
24
|
+
const helper = super.axisHelper();
|
|
25
|
+
return helper.setExtendDomain = this.setExtendDomain.bind(this), helper;
|
|
26
|
+
}
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
exports.PolarLinearAxis = PolarLinearAxis, PolarLinearAxis.type = type_1.ComponentTypeEnum.polarLinearAxis,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/polar/linear-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,+CAAyD;AACzD,iCAAmC;AAEnC,kEAA6D;AAC7D,6CAAyC;AACzC,mDAAgD;AAChD,4CAA4C;
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/polar/linear-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,+CAAyD;AACzD,iCAAmC;AAEnC,kEAA6D;AAC7D,6CAAyC;AACzC,mDAAgD;AAChD,4CAA4C;AAe5C,MAAa,eAAuE,SAAQ,gBAAY;IAAxG;;QAEE,SAAI,GAAG,wBAAiB,CAAC,eAAe,CAAC;QAI/B,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QACtB,YAAO,GAA8B,EAAE,CAAC;QAExC,WAAM,GAAG,IAAI,oBAAW,EAAE,CAAC;IAsBvC,CAAC;IAnBC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAES,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAES,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAES,UAAU;QAClB,MAAM,MAAM,GAAqB,KAAK,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,MAAa,CAAC;IACvB,CAAC;;AA/BH,0CAgCC;AA/BQ,oBAAI,GAAG,wBAAiB,CAAC,eAAe,CAAC;AAGzC,uBAAO,GAAG,MAAM,CAAC;AA8B1B,IAAA,cAAK,EAAC,eAAe,EAAE,mCAAe,CAAC,CAAC;AAEjC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,IAAA,wBAAY,GAAE,CAAC;IACf,iBAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AACnE,CAAC,CAAC;AAHW,QAAA,uBAAuB,2BAGlC","file":"linear-axis.js","sourcesContent":["import { LinearScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { PolarAxis } from './axis';\nimport type { IPolarLinearAxisSpec } from './interface/spec';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport type { IPolarAxisHelper } from './interface';\n\nexport interface PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'transformScaleDomain'\n | 'valueToPosition'\n | 'computeLinearDomain'\n | 'setScaleNice'\n | 'setExtendDomain'\n >,\n PolarAxis<T> {}\n\nexport class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarLinearAxis;\n type = ComponentTypeEnum.polarLinearAxis;\n\n static specKey = 'axes';\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale = new LinearScale();\n protected declare _groupScales: LinearScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n }\n\n protected initScales() {\n super.initScales();\n this.setScaleNice();\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n\n protected axisHelper() {\n const helper: IPolarAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n return helper as any;\n }\n}\n\nmixin(PolarLinearAxis, LinearAxisMixin);\n\nexport const registerPolarLinearAxis = () => {\n registerAxis();\n Factory.registerComponent(PolarLinearAxis.type, PolarLinearAxis);\n};\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.getAxisItem = exports.isDiscreteAxis = exports.getPolarAxisTheme = exports.getCartesianAxisTheme = exports.isValidPolarAxis = exports.isValidCartesianAxis = exports.getLinearAxisSpecDomain = exports.getAxisLabelOffset = exports.transformAxisLineStyle = exports.DEFAULT_TITLE_STYLE = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"),
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), vutils_extension_1 = require("@visactor/vutils-extension"), style_1 = require("../../util/style"), common_1 = require("./cartesian/util/common"), util_1 = require("../util");
|
|
8
8
|
|
|
9
9
|
function transformAxisLineStyle(lineCfg) {
|
|
10
10
|
return (lineCfg = (0, style_1.transformComponentStyle)(lineCfg)).startSymbol = (0,
|
|
@@ -59,7 +59,7 @@ const getCartesianAxisTheme = (orient, type, chartTheme) => {
|
|
|
59
59
|
common_1.isXAxis)(orient) ? (0, util_1.getComponentThemeFromOption)("axisX", chartTheme) : (0,
|
|
60
60
|
common_1.isYAxis)(orient) ? (0, util_1.getComponentThemeFromOption)("axisY", chartTheme) : (0,
|
|
61
61
|
util_1.getComponentThemeFromOption)("axisZ", chartTheme);
|
|
62
|
-
return (0,
|
|
62
|
+
return (0, vutils_extension_1.mergeSpec)({}, (0, util_1.getComponentThemeFromOption)("axis", chartTheme), axisTypeTheme, axisTheme);
|
|
63
63
|
};
|
|
64
64
|
|
|
65
65
|
exports.getCartesianAxisTheme = getCartesianAxisTheme;
|
|
@@ -69,7 +69,7 @@ const getPolarAxisTheme = (orient, type, chartTheme) => {
|
|
|
69
69
|
const axisTypeTheme = null !== (_a = "band" === type ? (0, util_1.getComponentThemeFromOption)("axisBand", chartTheme) : "linear" === type ? (0,
|
|
70
70
|
util_1.getComponentThemeFromOption)("axisLinear", chartTheme) : {}) && void 0 !== _a ? _a : {}, axisTheme = "angle" === orient ? (0,
|
|
71
71
|
util_1.getComponentThemeFromOption)("axisAngle", chartTheme) : (0, util_1.getComponentThemeFromOption)("axisRadius", chartTheme);
|
|
72
|
-
return (0,
|
|
72
|
+
return (0, vutils_extension_1.mergeSpec)({}, (0, util_1.getComponentThemeFromOption)("axis", chartTheme), axisTypeTheme, axisTheme);
|
|
73
73
|
};
|
|
74
74
|
|
|
75
75
|
exports.getPolarAxisTheme = getPolarAxisTheme;
|