@visactor/vchart 1.3.0-beta.8 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +3 -3
- package/build/index.js +17083 -16200
- package/build/index.min.js +2 -2
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/utils.js +2 -2
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/area/area.js +2 -2
- package/cjs/chart/area/area.js.map +1 -1
- package/cjs/chart/bar/bar-3d.js +2 -2
- package/cjs/chart/bar/bar-3d.js.map +1 -1
- package/cjs/chart/bar/bar.js +2 -2
- package/cjs/chart/bar/bar.js.map +1 -1
- package/cjs/chart/base-chart.d.ts +1 -0
- package/cjs/chart/base-chart.js +14 -8
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/box-plot/box-plot.js +2 -2
- package/cjs/chart/box-plot/box-plot.js.map +1 -1
- package/cjs/chart/cartesian/cartesian.js +1 -1
- package/cjs/chart/cartesian/cartesian.js.map +1 -1
- package/cjs/chart/circle-packing/circle-packing.js +2 -2
- package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
- package/cjs/chart/funnel/funnel-3d.js +2 -2
- package/cjs/chart/funnel/funnel-3d.js.map +1 -1
- package/cjs/chart/funnel/funnel.js +2 -2
- package/cjs/chart/funnel/funnel.js.map +1 -1
- package/cjs/chart/gauge/gauge.js +2 -2
- package/cjs/chart/gauge/gauge.js.map +1 -1
- package/cjs/chart/heatmap/heatmap.js +2 -2
- package/cjs/chart/heatmap/heatmap.js.map +1 -1
- package/cjs/chart/histogram/histogram-3d.js +2 -2
- package/cjs/chart/histogram/histogram-3d.js.map +1 -1
- package/cjs/chart/histogram/histogram.js +2 -2
- package/cjs/chart/histogram/histogram.js.map +1 -1
- package/cjs/chart/index.d.ts +1 -1
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/line/line.js +2 -2
- package/cjs/chart/line/line.js.map +1 -1
- package/cjs/chart/map/map.js +2 -2
- package/cjs/chart/map/map.js.map +1 -1
- package/cjs/chart/pie/pie-3d.js +2 -2
- package/cjs/chart/pie/pie-3d.js.map +1 -1
- package/cjs/chart/pie/pie.js +2 -2
- package/cjs/chart/pie/pie.js.map +1 -1
- package/cjs/chart/polar/progress-like.js +2 -2
- package/cjs/chart/polar/progress-like.js.map +1 -1
- package/cjs/chart/polar/rose-like.js +1 -1
- package/cjs/chart/polar/rose-like.js.map +1 -1
- package/cjs/chart/progress/circular/circular.js +2 -2
- package/cjs/chart/progress/circular/circular.js.map +1 -1
- package/cjs/chart/progress/linear/linear.js +4 -4
- package/cjs/chart/progress/linear/linear.js.map +1 -1
- package/cjs/chart/radar/radar.js +4 -4
- package/cjs/chart/radar/radar.js.map +1 -1
- package/cjs/chart/range-area/range-area.js +2 -2
- package/cjs/chart/range-area/range-area.js.map +1 -1
- package/cjs/chart/range-column/range-column-3d.js +2 -2
- package/cjs/chart/range-column/range-column-3d.js.map +1 -1
- package/cjs/chart/range-column/range-column.js +2 -2
- package/cjs/chart/range-column/range-column.js.map +1 -1
- package/cjs/chart/rose/rose.js +3 -3
- package/cjs/chart/rose/rose.js.map +1 -1
- package/cjs/chart/sankey/sankey.js +2 -2
- package/cjs/chart/sankey/sankey.js.map +1 -1
- package/cjs/chart/scatter/scatter.js +2 -2
- package/cjs/chart/scatter/scatter.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +2 -2
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/chart/stack.js.map +1 -1
- package/cjs/chart/sunburst/sunburst.js +2 -2
- package/cjs/chart/sunburst/sunburst.js.map +1 -1
- package/cjs/chart/treemap/treemap.js +2 -2
- package/cjs/chart/treemap/treemap.js.map +1 -1
- package/cjs/chart/util.js +1 -1
- package/cjs/chart/util.js.map +1 -1
- package/cjs/chart/waterfall/waterfall.js +2 -2
- package/cjs/chart/waterfall/waterfall.js.map +1 -1
- package/cjs/chart/word-cloud/word-cloud-3d.js +2 -2
- package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/chart/word-cloud/word-cloud.js +2 -2
- package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
- package/cjs/compile/compiler.d.ts +4 -0
- package/cjs/compile/compiler.js +4 -0
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/interface/compilable-item.d.ts +1 -0
- package/cjs/compile/interface/compilable-item.js.map +1 -1
- package/cjs/compile/mark/compilable-mark.js +9 -10
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +0 -1
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/mark/util.d.ts +2 -1
- package/cjs/compile/mark/util.js +21 -5
- package/cjs/compile/mark/util.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +1 -14
- package/cjs/component/axis/base-axis.js +18 -29
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +1 -1
- package/cjs/component/axis/cartesian/axis.js +24 -23
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
- package/cjs/component/axis/cartesian/band-axis.js +1 -0
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/index.d.ts +1 -0
- package/cjs/component/axis/cartesian/index.js +2 -1
- package/cjs/component/axis/cartesian/index.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/common.d.ts +2 -0
- package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -1
- package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
- package/cjs/component/axis/cartesian/linear-axis.js +4 -3
- package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/symlog-axis.d.ts +16 -0
- package/cjs/component/axis/cartesian/symlog-axis.js +23 -0
- package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -0
- 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.d.ts +4 -8
- package/cjs/component/axis/interface.js.map +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.js +3 -3
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +2 -1
- package/cjs/component/axis/polar/axis.js +15 -14
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/band-axis.d.ts +1 -0
- package/cjs/component/axis/polar/interface/common.d.ts +1 -1
- package/cjs/component/axis/polar/interface/common.js.map +1 -1
- package/cjs/component/axis/{utils.d.ts → util.d.ts} +1 -1
- package/cjs/component/axis/{utils.js → util.js} +6 -6
- package/cjs/component/axis/util.js.map +1 -0
- package/cjs/component/base/base-component.d.ts +10 -2
- package/cjs/component/base/base-component.js +10 -5
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/interface.d.ts +8 -0
- package/cjs/component/base/interface.js +6 -0
- package/cjs/component/base/interface.js.map +1 -0
- package/cjs/component/base/util.d.ts +2 -1
- package/cjs/component/base/util.js +21 -16
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +12 -2
- package/cjs/component/brush/brush.js +74 -63
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +2 -2
- package/cjs/component/crosshair/base.js +1 -1
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.js +9 -9
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.d.ts +8 -8
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/interface/theme.d.ts +3 -1
- package/cjs/component/crosshair/interface/theme.js.map +1 -1
- package/cjs/component/crosshair/polar.js +9 -9
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/crosshair/util.d.ts +5 -0
- package/cjs/component/crosshair/util.js +41 -4
- package/cjs/component/crosshair/util.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +1 -1
- package/cjs/component/custom-mark/custom-mark.js +3 -3
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +0 -1
- package/cjs/component/data-zoom/data-filter-base-component.js +2 -9
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +6 -6
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/interface.d.ts +2 -2
- package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/cjs/component/data-zoom/interface.d.ts +2 -5
- package/cjs/component/data-zoom/interface.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +2 -0
- package/cjs/component/geo/geo-coordinate.js +29 -3
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/geo/projection.d.ts +1 -0
- package/cjs/component/geo/projection.js +4 -0
- package/cjs/component/geo/projection.js.map +1 -1
- package/cjs/component/index.d.ts +2 -2
- package/cjs/component/index.js +6 -1
- package/cjs/component/index.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +1 -0
- package/cjs/component/indicator/indicator.js +10 -7
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/indicator/interface.d.ts +5 -6
- package/cjs/component/indicator/interface.js.map +1 -1
- package/cjs/component/interface/theme.d.ts +2 -2
- package/cjs/component/interface/theme.js.map +1 -1
- package/cjs/component/interface/type.d.ts +1 -0
- package/cjs/component/interface/type.js +12 -11
- package/cjs/component/interface/type.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +0 -1
- package/cjs/component/label/base-label.js +0 -5
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/component/label/interface.d.ts +2 -1
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/label.d.ts +0 -1
- package/cjs/component/label/label.js +1 -6
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/totalLabel.js +1 -1
- package/cjs/component/label/totalLabel.js.map +1 -1
- package/cjs/component/legend/base-legend.js +4 -4
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/util.js +4 -4
- package/cjs/component/legend/continuous/util.js.map +1 -1
- package/cjs/component/legend/discrete/interface.d.ts +3 -1
- package/cjs/component/legend/discrete/interface.js.map +1 -1
- package/cjs/component/legend/discrete/legend.js +2 -2
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/discrete/util.js +2 -2
- package/cjs/component/legend/discrete/util.js.map +1 -1
- package/cjs/component/legend/interface.d.ts +2 -6
- package/cjs/component/legend/interface.js.map +1 -1
- package/cjs/component/legend/util.js +2 -2
- package/cjs/component/legend/util.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +2 -2
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/poptip/interface.d.ts +15 -0
- package/cjs/component/poptip/interface.js +6 -0
- package/cjs/component/poptip/interface.js.map +1 -0
- package/cjs/component/title/interface/spec.d.ts +2 -2
- package/cjs/component/title/interface/spec.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js +5 -5
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-model.js +2 -2
- package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/title-model.js +2 -2
- package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.js +2 -2
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/util.js +3 -3
- package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/attribute.js +3 -3
- package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/get-spec.js +1 -1
- package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/style.js +2 -2
- package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
- package/cjs/component/tooltip/processor/base.js +1 -1
- package/cjs/component/tooltip/processor/base.js.map +1 -1
- package/cjs/component/tooltip/tooltip.js +3 -2
- package/cjs/component/tooltip/tooltip.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/vchart.js +20 -17
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/dimension-statistics.d.ts +11 -5
- package/cjs/data/transforms/dimension-statistics.js +34 -22
- package/cjs/data/transforms/dimension-statistics.js.map +1 -1
- package/cjs/data/transforms/legend-data/discrete/discrete.js +4 -2
- package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
- package/cjs/data/transforms/tick-data/discrete/polar-angle.js +2 -2
- package/cjs/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
- package/cjs/data/transforms/tick-data/util.js +5 -5
- package/cjs/data/transforms/tick-data/util.js.map +1 -1
- package/cjs/event/events/dimension/util/cartesian.js +2 -2
- package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
- package/cjs/event/events/dimension/util/polar.js +1 -1
- package/cjs/event/events/dimension/util/polar.js.map +1 -1
- package/cjs/interaction/trigger.js +2 -2
- package/cjs/interaction/trigger.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +1 -0
- package/cjs/mark/base/base-mark.js +21 -4
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/mark-set/index.d.ts +1 -0
- package/cjs/mark/mark-set/index.js.map +1 -1
- package/cjs/mark/symbol.js +1 -1
- package/cjs/mark/symbol.js.map +1 -1
- package/cjs/model/base-model.js +2 -2
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +1 -1
- package/cjs/model/interface.js.map +1 -1
- package/cjs/plugin/components/index.d.ts +0 -2
- package/cjs/plugin/components/index.js +1 -2
- package/cjs/plugin/components/index.js.map +1 -1
- package/cjs/series/area/area.d.ts +4 -1
- package/cjs/series/area/area.js +9 -5
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/bar.js +10 -10
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +2 -0
- package/cjs/series/base/base-series.js +71 -15
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/tooltip-helper.js +4 -2
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +1 -1
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +10 -3
- package/cjs/series/cartesian/cartesian.js +39 -27
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/cartesian/interface.d.ts +1 -0
- package/cjs/series/cartesian/interface.js.map +1 -1
- package/cjs/series/dot/dot.js +1 -1
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/funnel/funnel.js +13 -3
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/heatmap/heatmap.js +1 -1
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/line/interface.d.ts +0 -2
- package/cjs/series/line/interface.js.map +1 -1
- package/cjs/series/line/line.d.ts +1 -0
- package/cjs/series/line/line.js +1 -1
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/link.js +1 -1
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/map/geo-source.js +2 -2
- package/cjs/series/map/geo-source.js.map +1 -1
- package/cjs/series/map/interface.d.ts +1 -0
- package/cjs/series/map/interface.js.map +1 -1
- package/cjs/series/map/map.js +8 -4
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +3 -2
- package/cjs/series/mixin/line-mixin.js +30 -13
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/pie.js +1 -1
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/interface.d.ts +1 -0
- package/cjs/series/polar/interface.js.map +1 -1
- package/cjs/series/polar/polar.d.ts +4 -0
- package/cjs/series/polar/polar.js +15 -3
- package/cjs/series/polar/polar.js.map +1 -1
- package/cjs/series/radar/radar.d.ts +1 -0
- package/cjs/series/radar/radar.js +1 -1
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.d.ts +2 -0
- package/cjs/series/range-area/range-area.js +3 -0
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-column/range-column.js +2 -2
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/rose/rose.js +1 -1
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/interface.d.ts +3 -2
- package/cjs/series/sankey/interface.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +5 -0
- package/cjs/series/sankey/sankey.js +246 -92
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/scatter.d.ts +1 -1
- package/cjs/series/scatter/scatter.js +13 -8
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/util/utils.d.ts +4 -1
- package/cjs/series/util/utils.js +8 -6
- package/cjs/series/util/utils.js.map +1 -1
- package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +4 -4
- package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
- package/cjs/theme/builtin/common/component/axis/common-axis.js +12 -6
- package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -1
- package/cjs/theme/builtin/common/component/axis/polar-axis.js +1 -1
- package/cjs/theme/builtin/common/component/axis/polar-axis.js.map +1 -1
- package/cjs/theme/builtin/common/component/crosshair.js +73 -117
- package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
- package/cjs/theme/builtin/common/component/data-zoom.js +19 -7
- package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
- package/cjs/theme/builtin/common/component/indicator.js +17 -5
- package/cjs/theme/builtin/common/component/indicator.js.map +1 -1
- package/cjs/theme/builtin/common/component/legend/color-legend.js +31 -5
- package/cjs/theme/builtin/common/component/legend/color-legend.js.map +1 -1
- package/cjs/theme/builtin/common/component/legend/continuous.js +26 -12
- package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -1
- package/cjs/theme/builtin/common/component/legend/discrete-legend.js +22 -9
- package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
- package/cjs/theme/builtin/common/component/legend/size-legend.js +54 -15
- package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -1
- package/cjs/theme/builtin/common/component/map-label.js +5 -5
- package/cjs/theme/builtin/common/component/map-label.js.map +1 -1
- package/cjs/theme/builtin/common/component/mark-area.js +7 -2
- package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
- package/cjs/theme/builtin/common/component/mark-line.js +7 -2
- package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
- package/cjs/theme/builtin/common/component/player.js +33 -7
- package/cjs/theme/builtin/common/component/player.js.map +1 -1
- package/cjs/theme/builtin/common/component/poptip.d.ts +2 -2
- package/cjs/theme/builtin/common/component/poptip.js +20 -12
- package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
- package/cjs/theme/builtin/common/component/title.js +9 -5
- package/cjs/theme/builtin/common/component/title.js.map +1 -1
- package/cjs/theme/builtin/common/component/tooltip.js +13 -10
- package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
- package/cjs/theme/builtin/common/component/total-label.js +4 -4
- package/cjs/theme/builtin/common/component/total-label.js.map +1 -1
- package/cjs/theme/builtin/common/constants.js +17 -10
- package/cjs/theme/builtin/common/constants.js.map +1 -1
- package/cjs/theme/builtin/common/mark.js +8 -4
- package/cjs/theme/builtin/common/mark.js.map +1 -1
- package/cjs/theme/builtin/common/series/area.js +2 -7
- package/cjs/theme/builtin/common/series/area.js.map +1 -1
- package/cjs/theme/builtin/common/series/bar.js +2 -7
- package/cjs/theme/builtin/common/series/bar.js.map +1 -1
- package/cjs/theme/builtin/common/series/bar3d.js +1 -6
- package/cjs/theme/builtin/common/series/bar3d.js.map +1 -1
- package/cjs/theme/builtin/common/series/circle-packing.js +11 -5
- package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -1
- package/cjs/theme/builtin/common/series/dot.js +11 -3
- package/cjs/theme/builtin/common/series/dot.js.map +1 -1
- package/cjs/theme/builtin/common/series/funnel.js +7 -4
- package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
- package/cjs/theme/builtin/common/series/funnel3d.js +7 -4
- package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -1
- package/cjs/theme/builtin/common/series/line.js +2 -7
- package/cjs/theme/builtin/common/series/line.js.map +1 -1
- package/cjs/theme/builtin/common/series/map.js +4 -2
- package/cjs/theme/builtin/common/series/map.js.map +1 -1
- package/cjs/theme/builtin/common/series/pie.js +1 -6
- package/cjs/theme/builtin/common/series/pie.js.map +1 -1
- package/cjs/theme/builtin/common/series/pie3d.js +2 -9
- package/cjs/theme/builtin/common/series/pie3d.js.map +1 -1
- package/cjs/theme/builtin/common/series/radar.js +2 -7
- package/cjs/theme/builtin/common/series/radar.js.map +1 -1
- package/cjs/theme/builtin/common/series/rangeColumn.js +2 -3
- package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
- package/cjs/theme/builtin/common/series/rose.js +1 -2
- package/cjs/theme/builtin/common/series/rose.js.map +1 -1
- package/cjs/theme/builtin/common/series/sankey.js +0 -1
- package/cjs/theme/builtin/common/series/sankey.js.map +1 -1
- package/cjs/theme/builtin/common/series/scatter.js +2 -7
- package/cjs/theme/builtin/common/series/scatter.js.map +1 -1
- package/cjs/theme/builtin/common/series/sunburst.js +5 -2
- package/cjs/theme/builtin/common/series/sunburst.js.map +1 -1
- package/cjs/theme/builtin/common/series/treemap.js +9 -5
- package/cjs/theme/builtin/common/series/treemap.js.map +1 -1
- package/cjs/theme/builtin/common/series/waterfall.js +5 -6
- package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
- package/cjs/theme/builtin/dark/color-scheme.js +5 -3
- package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
- package/cjs/theme/builtin/index.d.ts +0 -1
- package/cjs/theme/builtin/index.js +1 -2
- package/cjs/theme/builtin/index.js.map +1 -1
- package/cjs/theme/builtin/light/color-scheme.js +4 -2
- package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
- package/cjs/theme/builtin/light/index.js +2 -2
- package/cjs/theme/builtin/light/index.js.map +1 -1
- package/cjs/theme/color-scheme/builtin/interface.d.ts +22 -0
- package/cjs/theme/color-scheme/builtin/interface.js +6 -0
- package/cjs/theme/color-scheme/builtin/interface.js.map +1 -0
- package/cjs/theme/color-scheme/interface.d.ts +3 -2
- package/cjs/theme/color-scheme/interface.js.map +1 -1
- package/cjs/theme/color-scheme/util.js +8 -2
- package/cjs/theme/color-scheme/util.js.map +1 -1
- package/cjs/theme/interface.d.ts +16 -5
- package/cjs/theme/interface.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +2 -1
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/visual.d.ts +10 -20
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/data.d.ts +0 -8
- package/cjs/util/data.js +2 -9
- package/cjs/util/data.js.map +1 -1
- package/cjs/util/object.d.ts +2 -4
- package/cjs/util/object.js +2 -18
- package/cjs/util/object.js.map +1 -1
- package/cjs/util/scale.d.ts +2 -6
- package/cjs/util/scale.js +1 -6
- package/cjs/util/scale.js.map +1 -1
- package/cjs/util/space.d.ts +3 -10
- package/cjs/util/space.js +13 -28
- package/cjs/util/space.js.map +1 -1
- package/cjs/util/spec/background.d.ts +4 -0
- package/cjs/util/spec/background.js +27 -0
- package/cjs/util/spec/background.js.map +1 -0
- package/cjs/util/spec/clone-deep.d.ts +1 -0
- package/cjs/util/spec/clone-deep.js +27 -0
- package/cjs/util/spec/clone-deep.js.map +1 -0
- package/cjs/util/spec/common.d.ts +3 -0
- package/cjs/util/spec/common.js +23 -0
- package/cjs/util/spec/common.js.map +1 -0
- package/cjs/util/spec/index.d.ts +7 -0
- package/cjs/util/spec/index.js +24 -0
- package/cjs/util/spec/index.js.map +1 -0
- package/cjs/util/spec/merge-spec.d.ts +1 -0
- package/cjs/util/spec/merge-spec.js +58 -0
- package/cjs/util/spec/merge-spec.js.map +1 -0
- package/cjs/util/spec/merge-theme.d.ts +3 -0
- package/cjs/util/spec/merge-theme.js +37 -0
- package/cjs/util/spec/merge-theme.js.map +1 -0
- package/cjs/util/spec/preprocess.d.ts +3 -0
- package/cjs/util/spec/preprocess.js +24 -0
- package/cjs/util/spec/preprocess.js.map +1 -0
- package/cjs/util/spec/transform.d.ts +3 -0
- package/cjs/util/spec/transform.js +28 -0
- package/cjs/util/spec/transform.js.map +1 -0
- package/cjs/util/text.d.ts +1 -2
- package/cjs/util/text.js +4 -14
- package/cjs/util/text.js.map +1 -1
- package/cjs/vchart-all.js +1 -1
- package/cjs/vchart-all.js.map +1 -1
- package/cjs/vchart-simple.js +3 -4
- package/cjs/vchart-simple.js.map +1 -1
- package/esm/animation/utils.js +3 -3
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/area/area.js +3 -3
- package/esm/chart/area/area.js.map +1 -1
- package/esm/chart/bar/bar-3d.js +2 -2
- package/esm/chart/bar/bar-3d.js.map +1 -1
- package/esm/chart/bar/bar.js +2 -2
- package/esm/chart/bar/bar.js.map +1 -1
- package/esm/chart/base-chart.d.ts +1 -0
- package/esm/chart/base-chart.js +14 -8
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/box-plot/box-plot.js +1 -1
- package/esm/chart/box-plot/box-plot.js.map +1 -1
- package/esm/chart/cartesian/cartesian.js +1 -1
- package/esm/chart/cartesian/cartesian.js.map +1 -1
- package/esm/chart/circle-packing/circle-packing.js +1 -1
- package/esm/chart/circle-packing/circle-packing.js.map +1 -1
- package/esm/chart/funnel/funnel-3d.js +1 -1
- package/esm/chart/funnel/funnel-3d.js.map +1 -1
- package/esm/chart/funnel/funnel.js +1 -1
- package/esm/chart/funnel/funnel.js.map +1 -1
- package/esm/chart/gauge/gauge.js +2 -2
- package/esm/chart/gauge/gauge.js.map +1 -1
- package/esm/chart/heatmap/heatmap.js +1 -1
- package/esm/chart/heatmap/heatmap.js.map +1 -1
- package/esm/chart/histogram/histogram-3d.js +2 -2
- package/esm/chart/histogram/histogram-3d.js.map +1 -1
- package/esm/chart/histogram/histogram.js +2 -2
- package/esm/chart/histogram/histogram.js.map +1 -1
- package/esm/chart/index.d.ts +1 -1
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/line/line.js +1 -1
- package/esm/chart/line/line.js.map +1 -1
- package/esm/chart/map/map.js +2 -2
- package/esm/chart/map/map.js.map +1 -1
- package/esm/chart/pie/pie-3d.js +2 -2
- package/esm/chart/pie/pie-3d.js.map +1 -1
- package/esm/chart/pie/pie.js +2 -2
- package/esm/chart/pie/pie.js.map +1 -1
- package/esm/chart/polar/progress-like.js +1 -1
- package/esm/chart/polar/progress-like.js.map +1 -1
- package/esm/chart/polar/rose-like.js +1 -1
- package/esm/chart/polar/rose-like.js.map +1 -1
- package/esm/chart/progress/circular/circular.js +1 -1
- package/esm/chart/progress/circular/circular.js.map +1 -1
- package/esm/chart/progress/linear/linear.js +2 -2
- package/esm/chart/progress/linear/linear.js.map +1 -1
- package/esm/chart/radar/radar.js +5 -5
- package/esm/chart/radar/radar.js.map +1 -1
- package/esm/chart/range-area/range-area.js +1 -1
- package/esm/chart/range-area/range-area.js.map +1 -1
- package/esm/chart/range-column/range-column-3d.js +1 -1
- package/esm/chart/range-column/range-column-3d.js.map +1 -1
- package/esm/chart/range-column/range-column.js +1 -1
- package/esm/chart/range-column/range-column.js.map +1 -1
- package/esm/chart/rose/rose.js +4 -4
- package/esm/chart/rose/rose.js.map +1 -1
- package/esm/chart/sankey/sankey.js +1 -1
- package/esm/chart/sankey/sankey.js.map +1 -1
- package/esm/chart/scatter/scatter.js +2 -2
- package/esm/chart/scatter/scatter.js.map +1 -1
- package/esm/chart/sequence/sequence.js +4 -2
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/chart/stack.js.map +1 -1
- package/esm/chart/sunburst/sunburst.js +1 -1
- package/esm/chart/sunburst/sunburst.js.map +1 -1
- package/esm/chart/treemap/treemap.js +1 -1
- package/esm/chart/treemap/treemap.js.map +1 -1
- package/esm/chart/util.js +2 -2
- package/esm/chart/util.js.map +1 -1
- package/esm/chart/waterfall/waterfall.js +1 -1
- package/esm/chart/waterfall/waterfall.js.map +1 -1
- package/esm/chart/word-cloud/word-cloud-3d.js +1 -1
- package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/chart/word-cloud/word-cloud.js +1 -1
- package/esm/chart/word-cloud/word-cloud.js.map +1 -1
- package/esm/compile/compiler.d.ts +4 -0
- package/esm/compile/compiler.js +4 -0
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/interface/compilable-item.d.ts +1 -0
- package/esm/compile/interface/compilable-item.js.map +1 -1
- package/esm/compile/mark/compilable-mark.js +9 -11
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +0 -1
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/compile/mark/util.d.ts +2 -1
- package/esm/compile/mark/util.js +19 -3
- package/esm/compile/mark/util.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +1 -14
- package/esm/component/axis/base-axis.js +19 -30
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +1 -1
- package/esm/component/axis/cartesian/axis.js +21 -20
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
- package/esm/component/axis/cartesian/band-axis.js +1 -0
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/index.d.ts +1 -0
- package/esm/component/axis/cartesian/index.js +2 -0
- package/esm/component/axis/cartesian/index.js.map +1 -1
- package/esm/component/axis/cartesian/interface/common.d.ts +2 -0
- package/esm/component/axis/cartesian/interface/common.js.map +1 -1
- package/esm/component/axis/cartesian/interface/spec.d.ts +4 -1
- package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
- package/esm/component/axis/cartesian/linear-axis.js +3 -4
- package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
- package/esm/component/axis/cartesian/symlog-axis.d.ts +16 -0
- package/esm/component/axis/cartesian/symlog-axis.js +24 -0
- package/esm/component/axis/cartesian/symlog-axis.js.map +1 -0
- package/esm/component/axis/cartesian/time-axis.js +3 -3
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/interface.d.ts +4 -8
- package/esm/component/axis/interface.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +2 -1
- package/esm/component/axis/polar/axis.js +14 -13
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/band-axis.d.ts +1 -0
- package/esm/component/axis/polar/interface/common.d.ts +1 -1
- package/esm/component/axis/polar/interface/common.js.map +1 -1
- package/esm/component/axis/{utils.d.ts → util.d.ts} +1 -1
- package/esm/component/axis/{utils.js → util.js} +7 -5
- package/esm/component/axis/util.js.map +1 -0
- package/esm/component/base/base-component.d.ts +10 -2
- package/esm/component/base/base-component.js +9 -5
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/interface.d.ts +8 -0
- package/esm/component/base/interface.js +2 -0
- package/esm/component/base/interface.js.map +1 -0
- package/esm/component/base/util.d.ts +2 -1
- package/esm/component/base/util.js +14 -7
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/brush/brush.d.ts +12 -2
- package/esm/component/brush/brush.js +74 -62
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +2 -2
- package/esm/component/crosshair/base.js +1 -1
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.js +7 -7
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/interface/spec.d.ts +8 -8
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/interface/theme.d.ts +3 -1
- package/esm/component/crosshair/interface/theme.js.map +1 -1
- package/esm/component/crosshair/polar.js +8 -8
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/crosshair/util.d.ts +5 -0
- package/esm/component/crosshair/util.js +34 -0
- package/esm/component/crosshair/util.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +1 -1
- package/esm/component/custom-mark/custom-mark.js +4 -4
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +0 -1
- package/esm/component/data-zoom/data-filter-base-component.js +2 -9
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +8 -6
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/interface.d.ts +2 -2
- package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/esm/component/data-zoom/interface.d.ts +2 -5
- package/esm/component/data-zoom/interface.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +2 -0
- package/esm/component/geo/geo-coordinate.js +30 -4
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/geo/projection.d.ts +1 -0
- package/esm/component/geo/projection.js +4 -0
- package/esm/component/geo/projection.js.map +1 -1
- package/esm/component/index.d.ts +2 -2
- package/esm/component/index.js +2 -2
- package/esm/component/index.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +1 -0
- package/esm/component/indicator/indicator.js +8 -7
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/indicator/interface.d.ts +5 -6
- package/esm/component/indicator/interface.js.map +1 -1
- package/esm/component/interface/theme.d.ts +2 -2
- package/esm/component/interface/theme.js.map +1 -1
- package/esm/component/interface/type.d.ts +1 -0
- package/esm/component/interface/type.js +12 -11
- package/esm/component/interface/type.js.map +1 -1
- package/esm/component/label/base-label.d.ts +0 -1
- package/esm/component/label/base-label.js +0 -5
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/component/label/interface.d.ts +2 -1
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/label.d.ts +0 -1
- package/esm/component/label/label.js +2 -7
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/totalLabel.js +2 -2
- package/esm/component/label/totalLabel.js.map +1 -1
- package/esm/component/legend/base-legend.js +5 -5
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/util.js +5 -3
- package/esm/component/legend/continuous/util.js.map +1 -1
- package/esm/component/legend/discrete/interface.d.ts +3 -1
- package/esm/component/legend/discrete/interface.js.map +1 -1
- package/esm/component/legend/discrete/legend.js +2 -2
- 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/interface.d.ts +2 -6
- package/esm/component/legend/interface.js.map +1 -1
- package/esm/component/legend/util.js +4 -2
- package/esm/component/legend/util.js.map +1 -1
- package/esm/component/marker/interface.d.ts +2 -2
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/poptip/interface.d.ts +15 -0
- package/esm/component/poptip/interface.js +2 -0
- package/esm/component/poptip/interface.js.map +1 -0
- package/esm/component/title/interface/spec.d.ts +2 -2
- package/esm/component/title/interface/spec.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-column-model.js +7 -5
- package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-model.js +2 -2
- package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/title-model.js +3 -3
- package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/tooltip-model.js +4 -2
- package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/util.js +4 -4
- package/esm/component/tooltip/handler/dom/util.js.map +1 -1
- package/esm/component/tooltip/handler/utils/attribute.js +5 -5
- package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/esm/component/tooltip/handler/utils/get-spec.js +2 -2
- package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/esm/component/tooltip/handler/utils/style.js +2 -2
- package/esm/component/tooltip/handler/utils/style.js.map +1 -1
- package/esm/component/tooltip/processor/base.js +1 -1
- package/esm/component/tooltip/processor/base.js.map +1 -1
- package/esm/component/tooltip/tooltip.js +4 -3
- package/esm/component/tooltip/tooltip.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/vchart.js +22 -19
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/dimension-statistics.d.ts +11 -5
- package/esm/data/transforms/dimension-statistics.js +33 -22
- package/esm/data/transforms/dimension-statistics.js.map +1 -1
- package/esm/data/transforms/legend-data/discrete/discrete.js +4 -3
- package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
- package/esm/data/transforms/tick-data/discrete/polar-angle.js +1 -1
- package/esm/data/transforms/tick-data/discrete/polar-angle.js.map +1 -1
- package/esm/data/transforms/tick-data/util.js +1 -1
- package/esm/data/transforms/tick-data/util.js.map +1 -1
- package/esm/event/events/dimension/util/cartesian.js +2 -2
- package/esm/event/events/dimension/util/cartesian.js.map +1 -1
- package/esm/event/events/dimension/util/polar.js +1 -1
- package/esm/event/events/dimension/util/polar.js.map +1 -1
- package/esm/interaction/trigger.js +3 -3
- package/esm/interaction/trigger.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +1 -0
- package/esm/mark/base/base-mark.js +22 -5
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/mark-set/index.d.ts +1 -0
- package/esm/mark/mark-set/index.js.map +1 -1
- package/esm/mark/symbol.js +1 -1
- package/esm/mark/symbol.js.map +1 -1
- package/esm/model/base-model.js +4 -4
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +1 -1
- package/esm/model/interface.js.map +1 -1
- package/esm/plugin/components/index.d.ts +0 -2
- package/esm/plugin/components/index.js +0 -3
- package/esm/plugin/components/index.js.map +1 -1
- package/esm/series/area/area.d.ts +4 -1
- package/esm/series/area/area.js +10 -7
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/bar.js +3 -5
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.d.ts +2 -0
- package/esm/series/base/base-series.js +71 -16
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/tooltip-helper.js +4 -2
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +1 -1
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +10 -3
- package/esm/series/cartesian/cartesian.js +37 -26
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/cartesian/interface.d.ts +1 -0
- package/esm/series/cartesian/interface.js.map +1 -1
- package/esm/series/dot/dot.js +2 -2
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/funnel/funnel.js +12 -2
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/heatmap/heatmap.js +2 -2
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/line/interface.d.ts +0 -2
- package/esm/series/line/interface.js.map +1 -1
- package/esm/series/line/line.d.ts +1 -0
- package/esm/series/line/line.js +1 -1
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/link.js +1 -1
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/map/geo-source.js +3 -1
- package/esm/series/map/geo-source.js.map +1 -1
- package/esm/series/map/interface.d.ts +1 -0
- package/esm/series/map/interface.js.map +1 -1
- package/esm/series/map/map.js +9 -3
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +3 -2
- package/esm/series/mixin/line-mixin.js +32 -13
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/pie.js +2 -2
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/interface.d.ts +1 -0
- package/esm/series/polar/interface.js.map +1 -1
- package/esm/series/polar/polar.d.ts +4 -0
- package/esm/series/polar/polar.js +15 -2
- package/esm/series/polar/polar.js.map +1 -1
- package/esm/series/radar/radar.d.ts +1 -0
- package/esm/series/radar/radar.js +1 -1
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.d.ts +2 -0
- package/esm/series/range-area/range-area.js +3 -0
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-column/range-column.js +3 -3
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/rose/rose.js +2 -2
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/interface.d.ts +3 -2
- package/esm/series/sankey/interface.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +5 -0
- package/esm/series/sankey/sankey.js +248 -93
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/scatter.d.ts +1 -1
- package/esm/series/scatter/scatter.js +14 -9
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/util/utils.d.ts +4 -1
- package/esm/series/util/utils.js +6 -4
- package/esm/series/util/utils.js.map +1 -1
- package/esm/theme/builtin/common/component/axis/cartesian-axis.js +4 -4
- package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
- package/esm/theme/builtin/common/component/axis/common-axis.js +12 -6
- package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -1
- package/esm/theme/builtin/common/component/axis/polar-axis.js +1 -1
- package/esm/theme/builtin/common/component/axis/polar-axis.js.map +1 -1
- package/esm/theme/builtin/common/component/crosshair.js +73 -117
- package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
- package/esm/theme/builtin/common/component/data-zoom.js +16 -6
- package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
- package/esm/theme/builtin/common/component/indicator.js +14 -4
- package/esm/theme/builtin/common/component/indicator.js.map +1 -1
- package/esm/theme/builtin/common/component/legend/color-legend.js +32 -4
- package/esm/theme/builtin/common/component/legend/color-legend.js.map +1 -1
- package/esm/theme/builtin/common/component/legend/continuous.js +26 -12
- package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -1
- package/esm/theme/builtin/common/component/legend/discrete-legend.js +22 -9
- package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
- package/esm/theme/builtin/common/component/legend/size-legend.js +55 -14
- package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -1
- package/esm/theme/builtin/common/component/map-label.js +4 -6
- package/esm/theme/builtin/common/component/map-label.js.map +1 -1
- package/esm/theme/builtin/common/component/mark-area.js +4 -1
- package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
- package/esm/theme/builtin/common/component/mark-line.js +4 -1
- package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
- package/esm/theme/builtin/common/component/player.js +33 -7
- package/esm/theme/builtin/common/component/player.js.map +1 -1
- package/esm/theme/builtin/common/component/poptip.d.ts +2 -2
- package/esm/theme/builtin/common/component/poptip.js +17 -11
- package/esm/theme/builtin/common/component/poptip.js.map +1 -1
- package/esm/theme/builtin/common/component/title.js +9 -5
- package/esm/theme/builtin/common/component/title.js.map +1 -1
- package/esm/theme/builtin/common/component/tooltip.js +12 -11
- package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
- package/esm/theme/builtin/common/component/total-label.js +3 -5
- package/esm/theme/builtin/common/component/total-label.js.map +1 -1
- package/esm/theme/builtin/common/constants.js +16 -7
- package/esm/theme/builtin/common/constants.js.map +1 -1
- package/esm/theme/builtin/common/mark.js +8 -4
- package/esm/theme/builtin/common/mark.js.map +1 -1
- package/esm/theme/builtin/common/series/area.js +1 -4
- package/esm/theme/builtin/common/series/area.js.map +1 -1
- package/esm/theme/builtin/common/series/bar.js +1 -4
- package/esm/theme/builtin/common/series/bar.js.map +1 -1
- package/esm/theme/builtin/common/series/bar3d.js +0 -3
- package/esm/theme/builtin/common/series/bar3d.js.map +1 -1
- package/esm/theme/builtin/common/series/circle-packing.js +8 -4
- package/esm/theme/builtin/common/series/circle-packing.js.map +1 -1
- package/esm/theme/builtin/common/series/dot.js +8 -2
- package/esm/theme/builtin/common/series/dot.js.map +1 -1
- package/esm/theme/builtin/common/series/funnel.js +6 -5
- package/esm/theme/builtin/common/series/funnel.js.map +1 -1
- package/esm/theme/builtin/common/series/funnel3d.js +6 -5
- package/esm/theme/builtin/common/series/funnel3d.js.map +1 -1
- package/esm/theme/builtin/common/series/line.js +1 -4
- package/esm/theme/builtin/common/series/line.js.map +1 -1
- package/esm/theme/builtin/common/series/map.js +4 -2
- package/esm/theme/builtin/common/series/map.js.map +1 -1
- package/esm/theme/builtin/common/series/pie.js +0 -3
- package/esm/theme/builtin/common/series/pie.js.map +1 -1
- package/esm/theme/builtin/common/series/pie3d.js +1 -6
- package/esm/theme/builtin/common/series/pie3d.js.map +1 -1
- package/esm/theme/builtin/common/series/radar.js +1 -4
- package/esm/theme/builtin/common/series/radar.js.map +1 -1
- package/esm/theme/builtin/common/series/rangeColumn.js +1 -4
- package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
- package/esm/theme/builtin/common/series/rose.js +1 -2
- package/esm/theme/builtin/common/series/rose.js.map +1 -1
- package/esm/theme/builtin/common/series/sankey.js +0 -1
- package/esm/theme/builtin/common/series/sankey.js.map +1 -1
- package/esm/theme/builtin/common/series/scatter.js +1 -4
- package/esm/theme/builtin/common/series/scatter.js.map +1 -1
- package/esm/theme/builtin/common/series/sunburst.js +6 -1
- package/esm/theme/builtin/common/series/sunburst.js.map +1 -1
- package/esm/theme/builtin/common/series/treemap.js +8 -6
- package/esm/theme/builtin/common/series/treemap.js.map +1 -1
- package/esm/theme/builtin/common/series/waterfall.js +4 -7
- package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
- package/esm/theme/builtin/dark/color-scheme.js +5 -3
- package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
- package/esm/theme/builtin/index.d.ts +0 -1
- package/esm/theme/builtin/index.js +0 -2
- package/esm/theme/builtin/index.js.map +1 -1
- package/esm/theme/builtin/light/color-scheme.js +4 -2
- package/esm/theme/builtin/light/color-scheme.js.map +1 -1
- package/esm/theme/builtin/light/index.js +2 -2
- package/esm/theme/builtin/light/index.js.map +1 -1
- package/esm/theme/color-scheme/builtin/interface.d.ts +22 -0
- package/esm/theme/color-scheme/builtin/interface.js +2 -0
- package/esm/theme/color-scheme/builtin/interface.js.map +1 -0
- package/esm/theme/color-scheme/interface.d.ts +3 -2
- package/esm/theme/color-scheme/interface.js.map +1 -1
- package/esm/theme/color-scheme/util.js +8 -3
- package/esm/theme/color-scheme/util.js.map +1 -1
- package/esm/theme/interface.d.ts +16 -5
- package/esm/theme/interface.js.map +1 -1
- package/esm/typings/spec/common.d.ts +2 -1
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/visual.d.ts +10 -20
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/data.d.ts +0 -8
- package/esm/util/data.js +1 -7
- package/esm/util/data.js.map +1 -1
- package/esm/util/object.d.ts +2 -4
- package/esm/util/object.js +2 -13
- package/esm/util/object.js.map +1 -1
- package/esm/util/scale.d.ts +2 -6
- package/esm/util/scale.js +1 -5
- package/esm/util/scale.js.map +1 -1
- package/esm/util/space.d.ts +3 -10
- package/esm/util/space.js +5 -23
- package/esm/util/space.js.map +1 -1
- package/esm/util/spec/background.d.ts +4 -0
- package/esm/util/spec/background.js +21 -0
- package/esm/util/spec/background.js.map +1 -0
- package/esm/util/spec/clone-deep.d.ts +1 -0
- package/esm/util/spec/clone-deep.js +20 -0
- package/esm/util/spec/clone-deep.js.map +1 -0
- package/esm/util/spec/common.d.ts +3 -0
- package/esm/util/spec/common.js +15 -0
- package/esm/util/spec/common.js.map +1 -0
- package/esm/util/spec/index.d.ts +7 -0
- package/esm/util/spec/index.js +14 -0
- package/esm/util/spec/index.js.map +1 -0
- package/esm/util/spec/merge-spec.d.ts +1 -0
- package/esm/util/spec/merge-spec.js +48 -0
- package/esm/util/spec/merge-spec.js.map +1 -0
- package/esm/util/spec/merge-theme.d.ts +3 -0
- package/esm/util/spec/merge-theme.js +34 -0
- package/esm/util/spec/merge-theme.js.map +1 -0
- package/esm/util/spec/preprocess.d.ts +3 -0
- package/esm/util/spec/preprocess.js +20 -0
- package/esm/util/spec/preprocess.js.map +1 -0
- package/esm/util/spec/transform.d.ts +3 -0
- package/esm/util/spec/transform.js +20 -0
- package/esm/util/spec/transform.js.map +1 -0
- package/esm/util/text.d.ts +1 -2
- package/esm/util/text.js +4 -12
- package/esm/util/text.js.map +1 -1
- package/esm/vchart-all.js +2 -2
- package/esm/vchart-all.js.map +1 -1
- package/esm/vchart-simple.js +18 -2
- package/esm/vchart-simple.js.map +1 -1
- package/package.json +20 -13
- package/cjs/component/axis/utils.js.map +0 -1
- package/cjs/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
- package/cjs/plugin/components/axis-label-overlap-plugin.js +0 -75
- package/cjs/plugin/components/axis-label-overlap-plugin.js.map +0 -1
- package/cjs/theme/builtin/common/component/axis/log-axis.d.ts +0 -2
- package/cjs/theme/builtin/common/component/axis/log-axis.js +0 -22
- package/cjs/theme/builtin/common/component/axis/log-axis.js.map +0 -1
- package/cjs/theme/builtin/constant.d.ts +0 -2
- package/cjs/theme/builtin/constant.js +0 -8
- package/cjs/theme/builtin/constant.js.map +0 -1
- package/cjs/util/spec.d.ts +0 -17
- package/cjs/util/spec.js +0 -121
- package/cjs/util/spec.js.map +0 -1
- package/esm/component/axis/utils.js.map +0 -1
- package/esm/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
- package/esm/plugin/components/axis-label-overlap-plugin.js +0 -72
- package/esm/plugin/components/axis-label-overlap-plugin.js.map +0 -1
- package/esm/theme/builtin/common/component/axis/log-axis.d.ts +0 -2
- package/esm/theme/builtin/common/component/axis/log-axis.js +0 -18
- package/esm/theme/builtin/common/component/axis/log-axis.js.map +0 -1
- package/esm/theme/builtin/constant.d.ts +0 -2
- package/esm/theme/builtin/constant.js +0 -4
- package/esm/theme/builtin/constant.js.map +0 -1
- package/esm/util/spec.d.ts +0 -17
- package/esm/util/spec.js +0 -112
- package/esm/util/spec.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './axis';\nexport * from './linear-axis';\nexport * from './band-axis';\nexport * from './time-axis';\nexport * from './log-axis';\nexport * from './interface';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './axis';\nexport * from './linear-axis';\nexport * from './band-axis';\nexport * from './time-axis';\nexport * from './log-axis';\nexport * from './symlog-axis';\nexport * from './interface';\n"]}
|
|
@@ -25,7 +25,9 @@ export interface ILinearAxis extends IAxis {
|
|
|
25
25
|
setExtendDomain: (key: string, value: number | undefined) => void;
|
|
26
26
|
}
|
|
27
27
|
export interface IAxisHelper {
|
|
28
|
+
isContinuous: boolean;
|
|
28
29
|
dataToPosition: (values: any[], cfg?: IAxisLocationCfg) => number;
|
|
30
|
+
valueToPosition?: (value: any, cfg?: IAxisLocationCfg) => number;
|
|
29
31
|
getScale?: (depth: number) => IBaseScale;
|
|
30
32
|
getBandwidth?: (depth: number) => number;
|
|
31
33
|
setExtendDomain?: (key: string, value: number | undefined) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { SegmentAttributes, AxisLabelOverlap } from '@visactor/vrender-components';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IAxis, IDomainLine, ILabel, ITitle } from '../../interface';\nimport type { Datum, StringOrNumber } from '../../../../typings';\n\nexport type ICartesianDomainLineSpec = {\n startSymbol?: SegmentAttributes['startSymbol'];\n endSymbol?: SegmentAttributes['endSymbol'];\n // /**\n // * TODO: 待支持\n // * 坐标轴截断范围,当需要对坐标轴轴线截断时,可配置该属性\n // */\n // breakRange?: [number, number];\n // /**\n // * TODO: 待支持\n // * 截断区域的形状\n // */\n // breakShape?: SymbolType | [SymbolType, SymbolType];\n // /**\n // * TODO: 待支持\n // * 截断图形样式\n // */\n // breakShapeStyle?: Partial<IAttribute>;\n /**\n * X 轴或者 Y 轴的轴线是否在另一个轴的 0 刻度上,只有在另一个轴为数值轴且包含 0 刻度时有效。\n * 默认为 false,交由用户按需打开\n */\n onZero?: boolean;\n /**\n * 当有多轴时,可以用这个属性手动指定,在哪个轴的 0 刻度上。\n * Tips: 该索引对应所有轴的 index\n */\n onZeroAxisIndex?: number;\n /**\n * 当有多轴时,可以用这个属性手动指定,在哪个轴的 0 刻度上。\n */\n onZeroAxisId?: StringOrNumber;\n};\nexport type ICartesianDomainLine = IDomainLine & ICartesianDomainLineSpec;\n\nexport type ICartesianTitle = ITitle & {\n /**\n * 标题是否根据轴方向自动渲染,生效于左右纵轴。\n * 默认为 true,表现为左轴标题整体旋转 -90 度,右轴标题整体旋转为 90 度。\n * **如果需要单独在 `textStyle` 中配置文本的 angle 的话,建议将该属性设置为 false。**\n * @default true\n */\n autoRotate?: boolean;\n /**\n * 标题朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n};\n\nexport type ICartesianLabel = ILabel & {\n /**\n * If labels at the beginning or end of the axis should be aligned flush with the scale range.\n * 坐标轴首尾文字向内收缩\n * @default false\n */\n flush?: boolean;\n // /**\n // * 第一个坐标轴文字是否显示。默认根据标签重叠策略自动判定。\n // * @default null\n // */\n // firstVisible?: boolean | null;\n /**\n * `sampling` 开启时生效。\n * 最后一个坐标轴文字是否显示。默认根据标签重叠策略自动判定。\n * @default null\n */\n lastVisible?: boolean | null;\n /**\n * label 相对于容器整体的对齐方式\n * - `top`:整体向上对齐(垂直方向)\n * - `middle`:整体居中对齐(垂直方向)\n * - `bottom`:整体向下对齐(垂直方向)\n * - `left`:整体向左对齐(水平方向)\n * - `center`:整体居中对齐(水平方向)\n * - `right`:整体向右对齐(水平方向)\n * @since 1.3.0\n */\n containerAlign?: 'left' | 'right' | 'center' | 'top' | 'bottom' | 'middle';\n} & AxisLabelOverlap;\n\nexport interface ILinearAxis extends IAxis {\n readonly zero: boolean;\n readonly nice: boolean;\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain: (key: string, value: number | undefined) => void;\n}\n\nexport interface IAxisHelper {\n dataToPosition: (values: any[], cfg?: IAxisLocationCfg) => number;\n
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { SegmentAttributes, AxisLabelOverlap } from '@visactor/vrender-components';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IAxis, IDomainLine, ILabel, ITitle } from '../../interface';\nimport type { Datum, StringOrNumber } from '../../../../typings';\n\nexport type ICartesianDomainLineSpec = {\n startSymbol?: SegmentAttributes['startSymbol'];\n endSymbol?: SegmentAttributes['endSymbol'];\n // /**\n // * TODO: 待支持\n // * 坐标轴截断范围,当需要对坐标轴轴线截断时,可配置该属性\n // */\n // breakRange?: [number, number];\n // /**\n // * TODO: 待支持\n // * 截断区域的形状\n // */\n // breakShape?: SymbolType | [SymbolType, SymbolType];\n // /**\n // * TODO: 待支持\n // * 截断图形样式\n // */\n // breakShapeStyle?: Partial<IAttribute>;\n /**\n * X 轴或者 Y 轴的轴线是否在另一个轴的 0 刻度上,只有在另一个轴为数值轴且包含 0 刻度时有效。\n * 默认为 false,交由用户按需打开\n */\n onZero?: boolean;\n /**\n * 当有多轴时,可以用这个属性手动指定,在哪个轴的 0 刻度上。\n * Tips: 该索引对应所有轴的 index\n */\n onZeroAxisIndex?: number;\n /**\n * 当有多轴时,可以用这个属性手动指定,在哪个轴的 0 刻度上。\n */\n onZeroAxisId?: StringOrNumber;\n};\nexport type ICartesianDomainLine = IDomainLine & ICartesianDomainLineSpec;\n\nexport type ICartesianTitle = ITitle & {\n /**\n * 标题是否根据轴方向自动渲染,生效于左右纵轴。\n * 默认为 true,表现为左轴标题整体旋转 -90 度,右轴标题整体旋转为 90 度。\n * **如果需要单独在 `textStyle` 中配置文本的 angle 的话,建议将该属性设置为 false。**\n * @default true\n */\n autoRotate?: boolean;\n /**\n * 标题朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n};\n\nexport type ICartesianLabel = ILabel & {\n /**\n * If labels at the beginning or end of the axis should be aligned flush with the scale range.\n * 坐标轴首尾文字向内收缩\n * @default false\n */\n flush?: boolean;\n // /**\n // * 第一个坐标轴文字是否显示。默认根据标签重叠策略自动判定。\n // * @default null\n // */\n // firstVisible?: boolean | null;\n /**\n * `sampling` 开启时生效。\n * 最后一个坐标轴文字是否显示。默认根据标签重叠策略自动判定。\n * @default null\n */\n lastVisible?: boolean | null;\n /**\n * label 相对于容器整体的对齐方式\n * - `top`:整体向上对齐(垂直方向)\n * - `middle`:整体居中对齐(垂直方向)\n * - `bottom`:整体向下对齐(垂直方向)\n * - `left`:整体向左对齐(水平方向)\n * - `center`:整体居中对齐(水平方向)\n * - `right`:整体向右对齐(水平方向)\n * @since 1.3.0\n */\n containerAlign?: 'left' | 'right' | 'center' | 'top' | 'bottom' | 'middle';\n} & AxisLabelOverlap;\n\nexport interface ILinearAxis extends IAxis {\n readonly zero: boolean;\n readonly nice: boolean;\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain: (key: string, value: number | undefined) => void;\n}\n\nexport interface IAxisHelper {\n isContinuous: boolean;\n\n dataToPosition: (values: any[], cfg?: IAxisLocationCfg) => number;\n valueToPosition?: (value: any, cfg?: IAxisLocationCfg) => number;\n getScale?: (depth: number) => IBaseScale;\n getBandwidth?: (depth: number) => number; // band轴特有\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain?: (key: string, value: number | undefined) => void;\n\n // domain 类型是any[]\n getStatisticsDomain?: () => {\n domain: any[];\n index: { [key in StringOrNumber]: number };\n };\n\n getAxisType: () => string;\n\n getAxisId: () => number;\n\n isInverse: () => boolean;\n\n // 在地理坐标系系列中,传递经纬度配置字段\n getFields?: () => string[];\n}\n\nexport interface IAxisLocationCfg {\n bandPosition?: number;\n datum?: Datum;\n}\n\nexport interface ITimeLayerType {\n /**\n * tick间隔\n */\n tickStep?: number;\n /**\n * 时间转换格式\n * @default '%Y%m%d'\n */\n timeFormat?: string;\n /**\n * 时间转换模式\n * @default 'local'\n */\n timeFormatMode?: 'utc' | 'local'; // todo: 'iso'\n /**\n * 期望的连续轴tick数量\n * The desired number of ticks draw on linear axis.\n * @default 10\n * @description 建议的tick数量,并不保证结果一定是配置值\n */\n tickCount?: number;\n /**\n * 强制设置tick数量\n * The exact number of ticks draw on linear axis. Might lead to decimal step.\n * @default 10\n * @description 强制设置的tick数量,可能由于数据范围导致tick值为小数\n */\n forceTickCount?: number;\n}\n"]}
|
|
@@ -2,7 +2,7 @@ import type { IOrientType, IRectMarkSpec, StringOrNumber } from '../../../../typ
|
|
|
2
2
|
import type { IBandAxisSpec, ILinearAxisSpec, IGrid, ICommonAxisSpec } from '../../interface';
|
|
3
3
|
import type { ICartesianDomainLine, ICartesianLabel, ITimeLayerType, ICartesianTitle } from './common';
|
|
4
4
|
import type { AxisItemStateStyle } from '@visactor/vrender-components';
|
|
5
|
-
export type ICartesianAxisSpec = ICartesianLinearAxisSpec | ICartesianBandAxisSpec | ICartesianTimeAxisSpec | ICartesianLogAxisSpec;
|
|
5
|
+
export type ICartesianAxisSpec = ICartesianLinearAxisSpec | ICartesianBandAxisSpec | ICartesianTimeAxisSpec | ICartesianLogAxisSpec | ICartesianSymlogAxisSpec;
|
|
6
6
|
export type ICartesianAxisCommonSpec = ICommonAxisSpec & {
|
|
7
7
|
orient: IOrientType;
|
|
8
8
|
grid?: IGrid;
|
|
@@ -34,3 +34,6 @@ export type ICartesianTimeAxisSpec = Omit<ICartesianAxisCommonSpec, 'inverse'> &
|
|
|
34
34
|
export type ICartesianLogAxisSpec = ICartesianLinearAxisSpec & {
|
|
35
35
|
base?: number;
|
|
36
36
|
};
|
|
37
|
+
export type ICartesianSymlogAxisSpec = ICartesianLinearAxisSpec & {
|
|
38
|
+
constant?: number;
|
|
39
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IOrientType, IRectMarkSpec, StringOrNumber } from '../../../../typings';\nimport type { IBandAxisSpec, ILinearAxisSpec, IGrid, ICommonAxisSpec } from '../../interface';\nimport type { ICartesianDomainLine, ICartesianLabel, ITimeLayerType, ICartesianTitle } from './common';\nimport type { AxisItemStateStyle } from '@visactor/vrender-components';\n\n/** spec */\nexport type ICartesianAxisSpec =\n | ICartesianLinearAxisSpec\n | ICartesianBandAxisSpec\n | ICartesianTimeAxisSpec\n | ICartesianLogAxisSpec;\n\nexport type ICartesianAxisCommonSpec = ICommonAxisSpec & {\n /** 轴位置 */\n orient: IOrientType;\n /**\n * 网格线配置\n */\n grid?: IGrid;\n /**\n * 子网格线配置\n */\n subGrid?: IGrid;\n /**\n * 轴线配置\n */\n domainLine?: ICartesianDomainLine;\n /**\n * 轴标签配置\n */\n label?: ICartesianLabel;\n /**\n * 轴标题配置\n */\n title?: ICartesianTitle;\n /**\n * 是否进行自动缩进\n * 设置为 true 时,当轴元素超出绘图区会被裁剪时,会对图表增加额外的padding,使轴可以显示完整\n */\n autoIndent?: boolean;\n /**\n * 坐标轴背景配置\n */\n background?: {\n /**\n * 是否绘制坐标轴背景\n * @default false\n */\n visible: boolean;\n /**\n * 背景样式\n */\n style?: Partial<IRectMarkSpec>;\n /**\n * 背景在交互状态下的样式配置\n */\n state?: AxisItemStateStyle<Partial<IRectMarkSpec>>;\n };\n /**\n * 是否是3d模式的轴\n */\n mode?: '2d' | '3d';\n /**\n * 轴的z方向深度\n */\n depth?: number;\n};\n\nexport interface ILinearAxisSync {\n axisId: StringOrNumber;\n zeroAlign?: boolean;\n tickAlign?: boolean;\n}\n\nexport type ICartesianLinearAxisSpec = ICartesianAxisCommonSpec &\n ILinearAxisSpec & {\n sync?: ILinearAxisSync;\n };\n\nexport type ICartesianBandAxisSpec = ICartesianAxisCommonSpec & IBandAxisSpec;\n\nexport type ICartesianTimeAxisSpec = Omit<ICartesianAxisCommonSpec, 'inverse'> & {\n /**\n * 轴的层级配置。\n * layer[0] 为主轴,即离坐标轴线最近的轴\n * @description 目前仅支持单层 / 双层,即layers.length <= 2\n */\n layers?: ITimeLayerType[];\n};\n\nexport type ICartesianLogAxisSpec = ICartesianLinearAxisSpec & {\n /**\n * 底数\n * @default 10\n */\n base?: number;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IOrientType, IRectMarkSpec, StringOrNumber } from '../../../../typings';\nimport type { IBandAxisSpec, ILinearAxisSpec, IGrid, ICommonAxisSpec } from '../../interface';\nimport type { ICartesianDomainLine, ICartesianLabel, ITimeLayerType, ICartesianTitle } from './common';\nimport type { AxisItemStateStyle } from '@visactor/vrender-components';\n\n/** spec */\nexport type ICartesianAxisSpec =\n | ICartesianLinearAxisSpec\n | ICartesianBandAxisSpec\n | ICartesianTimeAxisSpec\n | ICartesianLogAxisSpec\n | ICartesianSymlogAxisSpec;\n\nexport type ICartesianAxisCommonSpec = ICommonAxisSpec & {\n /** 轴位置 */\n orient: IOrientType;\n /**\n * 网格线配置\n */\n grid?: IGrid;\n /**\n * 子网格线配置\n */\n subGrid?: IGrid;\n /**\n * 轴线配置\n */\n domainLine?: ICartesianDomainLine;\n /**\n * 轴标签配置\n */\n label?: ICartesianLabel;\n /**\n * 轴标题配置\n */\n title?: ICartesianTitle;\n /**\n * 是否进行自动缩进\n * 设置为 true 时,当轴元素超出绘图区会被裁剪时,会对图表增加额外的padding,使轴可以显示完整\n */\n autoIndent?: boolean;\n /**\n * 坐标轴背景配置\n */\n background?: {\n /**\n * 是否绘制坐标轴背景\n * @default false\n */\n visible: boolean;\n /**\n * 背景样式\n */\n style?: Partial<IRectMarkSpec>;\n /**\n * 背景在交互状态下的样式配置\n */\n state?: AxisItemStateStyle<Partial<IRectMarkSpec>>;\n };\n /**\n * 是否是3d模式的轴\n */\n mode?: '2d' | '3d';\n /**\n * 轴的z方向深度\n */\n depth?: number;\n};\n\nexport interface ILinearAxisSync {\n axisId: StringOrNumber;\n zeroAlign?: boolean;\n tickAlign?: boolean;\n}\n\nexport type ICartesianLinearAxisSpec = ICartesianAxisCommonSpec &\n ILinearAxisSpec & {\n sync?: ILinearAxisSync;\n };\n\nexport type ICartesianBandAxisSpec = ICartesianAxisCommonSpec & IBandAxisSpec;\n\nexport type ICartesianTimeAxisSpec = Omit<ICartesianAxisCommonSpec, 'inverse'> & {\n /**\n * 轴的层级配置。\n * layer[0] 为主轴,即离坐标轴线最近的轴\n * @description 目前仅支持单层 / 双层,即layers.length <= 2\n */\n layers?: ITimeLayerType[];\n};\n\nexport type ICartesianLogAxisSpec = ICartesianLinearAxisSpec & {\n /**\n * 底数\n * @default 10\n */\n base?: number;\n};\n\nexport type ICartesianSymlogAxisSpec = ICartesianLinearAxisSpec & {\n /**\n * 底数\n * @default 10\n */\n constant?: number;\n};\n"]}
|
|
@@ -6,8 +6,6 @@ import { isValid } from "../../../util";
|
|
|
6
6
|
|
|
7
7
|
import { ComponentTypeEnum } from "../../interface";
|
|
8
8
|
|
|
9
|
-
import { getLinearAxisSpecDomain } from "../utils";
|
|
10
|
-
|
|
11
9
|
import { LinearAxisMixin } from "../mixin/linear-axis-mixin";
|
|
12
10
|
|
|
13
11
|
import { mixin } from "@visactor/vutils";
|
|
@@ -18,7 +16,7 @@ export class CartesianLinearAxis extends CartesianAxis {
|
|
|
18
16
|
this._nice = !0, this._extend = {}, this._scale = new LinearScale;
|
|
19
17
|
}
|
|
20
18
|
setAttrFromSpec() {
|
|
21
|
-
super.setAttrFromSpec(), this.setExtraAttrFromSpec()
|
|
19
|
+
super.setAttrFromSpec(), this.setExtraAttrFromSpec();
|
|
22
20
|
}
|
|
23
21
|
initScales() {
|
|
24
22
|
var _a, _b;
|
|
@@ -33,7 +31,8 @@ export class CartesianLinearAxis extends CartesianAxis {
|
|
|
33
31
|
}
|
|
34
32
|
axisHelper() {
|
|
35
33
|
const helper = super.axisHelper();
|
|
36
|
-
return helper.setExtendDomain = this.setExtendDomain.bind(this), helper
|
|
34
|
+
return helper.setExtendDomain = this.setExtendDomain.bind(this), helper.valueToPosition = this.valueToPosition.bind(this),
|
|
35
|
+
helper;
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
38
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/linear-axis.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/linear-axis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAgBzC,MAAM,OAAO,mBAEX,SAAQ,aAAgB;IAF1B;;QAIE,SAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;QAEnC,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QACtB,YAAO,GAA8B,EAAE,CAAC;QAExC,WAAM,GAA2B,IAAI,WAAW,EAAE,CAAC;IAkC/D,CAAC;IA/BC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAKS,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,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,GAAgB,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;;AAxCM,wBAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AA2CtD,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC","file":"linear-axis.js","sourcesContent":["import type { LogScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { LinearScale } from '@visactor/vscale';\nimport { CartesianAxis } from './axis';\nimport { isValid } from '../../../util';\nimport type { IAxisHelper, ICartesianLinearAxisSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\n\nexport interface CartesianLinearAxis<T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n | 'setExtraAttrFromSpec'\n | 'computeLinearDomain'\n | 'valueToPosition'\n | 'setScaleNice'\n | '_domain'\n | 'dataToPosition'\n | 'transformScaleDomain'\n | 'setExtendDomain'\n >,\n CartesianAxis<T> {}\n\nexport class CartesianLinearAxis<\n T extends ICartesianLinearAxisSpec = ICartesianLinearAxisSpec\n> extends CartesianAxis<T> {\n static type = ComponentTypeEnum.cartesianLinearAxis;\n type = ComponentTypeEnum.cartesianLinearAxis;\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n protected _extend: { [key: string]: number } = {};\n\n protected _scale: LinearScale | LogScale = new LinearScale();\n protected declare _scales: LinearScale[] | LogScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n }\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n const range = [0, 1];\n if (isValid(this._domain?.min)) {\n range[0] = this._domain.min;\n }\n if (isValid(this._domain?.max)) {\n range[1] = this._domain.max;\n }\n this._scale.domain(range);\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: IAxisHelper = super.axisHelper();\n helper.setExtendDomain = this.setExtendDomain.bind(this);\n helper.valueToPosition = this.valueToPosition.bind(this);\n return helper;\n }\n}\n\nmixin(CartesianLinearAxis, LinearAxisMixin);\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CartesianLinearAxis } from './linear-axis';
|
|
2
|
+
import { ComponentTypeEnum } from '../../interface';
|
|
3
|
+
import { LinearAxisMixin } from '../mixin/linear-axis-mixin';
|
|
4
|
+
import { SymlogScale } from '@visactor/vscale';
|
|
5
|
+
import type { ICartesianSymlogAxisSpec } from './interface';
|
|
6
|
+
export interface CartesianSymlogAxis<T extends ICartesianSymlogAxisSpec = ICartesianSymlogAxisSpec> extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>, CartesianLinearAxis<T> {
|
|
7
|
+
}
|
|
8
|
+
export declare class CartesianSymlogAxis<T extends ICartesianSymlogAxisSpec = ICartesianSymlogAxisSpec> extends CartesianLinearAxis<T> {
|
|
9
|
+
static type: ComponentTypeEnum;
|
|
10
|
+
type: ComponentTypeEnum;
|
|
11
|
+
protected _zero: boolean;
|
|
12
|
+
protected _scale: SymlogScale;
|
|
13
|
+
protected _scales: SymlogScale[];
|
|
14
|
+
protected initScales(): void;
|
|
15
|
+
transformScaleDomain(): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CartesianLinearAxis } from "./linear-axis";
|
|
2
|
+
|
|
3
|
+
import { ComponentTypeEnum } from "../../interface";
|
|
4
|
+
|
|
5
|
+
import { LinearAxisMixin } from "../mixin/linear-axis-mixin";
|
|
6
|
+
|
|
7
|
+
import { SymlogScale } from "@visactor/vscale";
|
|
8
|
+
|
|
9
|
+
import { mixin } from "@visactor/vutils";
|
|
10
|
+
|
|
11
|
+
export class CartesianSymlogAxis extends CartesianLinearAxis {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments), this.type = ComponentTypeEnum.cartesianSymlogAxis, this._zero = !1,
|
|
14
|
+
this._scale = new SymlogScale;
|
|
15
|
+
}
|
|
16
|
+
initScales() {
|
|
17
|
+
var _a;
|
|
18
|
+
super.initScales(), this._scale.constant(null !== (_a = this._spec.constant) && void 0 !== _a ? _a : 10);
|
|
19
|
+
}
|
|
20
|
+
transformScaleDomain() {}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
CartesianSymlogAxis.type = ComponentTypeEnum.cartesianSymlogAxis, mixin(CartesianSymlogAxis, LinearAxisMixin);
|
|
24
|
+
//# sourceMappingURL=symlog-axis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/symlog-axis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAOzC,MAAM,OAAO,mBAEX,SAAQ,mBAAsB;IAFhC;;QAIE,SAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;QAEnC,UAAK,GAAY,KAAK,CAAC;QAEvB,WAAM,GAAgB,IAAI,WAAW,EAAE,CAAC;IAcpD,CAAC;IARW,UAAU;;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,oBAAoB;IAEpB,CAAC;;AAlBM,wBAAI,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;AAqBtD,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC","file":"symlog-axis.js","sourcesContent":["import { CartesianLinearAxis } from './linear-axis';\nimport { ComponentTypeEnum } from '../../interface';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { SymlogScale } from '@visactor/vscale';\nimport { mixin } from '@visactor/vutils';\nimport type { ICartesianSymlogAxisSpec } from './interface';\n\nexport interface CartesianSymlogAxis<T extends ICartesianSymlogAxisSpec = ICartesianSymlogAxisSpec>\n extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>,\n CartesianLinearAxis<T> {}\n\nexport class CartesianSymlogAxis<\n T extends ICartesianSymlogAxisSpec = ICartesianSymlogAxisSpec\n> extends CartesianLinearAxis<T> {\n static type = ComponentTypeEnum.cartesianSymlogAxis;\n type = ComponentTypeEnum.cartesianSymlogAxis;\n\n protected _zero: boolean = false;\n\n protected _scale: SymlogScale = new SymlogScale();\n protected declare _scales: SymlogScale[];\n\n /**\n * @override\n */\n protected initScales() {\n super.initScales();\n this._scale.constant(this._spec.constant ?? 10);\n }\n\n transformScaleDomain() {\n // do nothing\n }\n}\n\nmixin(CartesianSymlogAxis, LinearAxisMixin);\n"]}
|
|
@@ -2,7 +2,7 @@ import { DataView } from "@visactor/vdataset";
|
|
|
2
2
|
|
|
3
3
|
import { isXAxis, TimeUtil } from "./util";
|
|
4
4
|
|
|
5
|
-
import { eachSeries, isArray,
|
|
5
|
+
import { eachSeries, isArray, mergeSpec } from "../../../util";
|
|
6
6
|
|
|
7
7
|
import { CartesianLinearAxis } from "./linear-axis";
|
|
8
8
|
|
|
@@ -16,7 +16,7 @@ export class CartesianTimeAxis extends CartesianLinearAxis {
|
|
|
16
16
|
this.effect = {
|
|
17
17
|
scaleUpdate: () => {
|
|
18
18
|
this.computeData(), eachSeries(this._regions, (s => {
|
|
19
|
-
isXAxis(this.
|
|
19
|
+
isXAxis(this.getOrient()) ? s.setXAxisHelper(this.axisHelper()) : s.setYAxisHelper(this.axisHelper());
|
|
20
20
|
}), {
|
|
21
21
|
userId: this._seriesUserId,
|
|
22
22
|
specIndex: this._seriesIndex
|
|
@@ -26,7 +26,7 @@ export class CartesianTimeAxis extends CartesianLinearAxis {
|
|
|
26
26
|
}
|
|
27
27
|
setAttrFromSpec() {
|
|
28
28
|
var _a;
|
|
29
|
-
super.setAttrFromSpec(), this._tick =
|
|
29
|
+
super.setAttrFromSpec(), this._tick = mergeSpec({}, this._spec.tick, null === (_a = this._spec.layers) || void 0 === _a ? void 0 : _a[0]);
|
|
30
30
|
}
|
|
31
31
|
_initData() {
|
|
32
32
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/time-axis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/time-axis.ts"],"names":[],"mappings":"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","file":"time-axis.js","sourcesContent":["import type { IEffect } from '../../../model/interface';\nimport { DataView } from '@visactor/vdataset';\nimport { isXAxis, TimeUtil } from './util';\nimport { eachSeries, isArray, mergeSpec } from '../../../util';\nimport type { ICartesianSeries } from '../../../series/interface';\nimport { CartesianLinearAxis } from './linear-axis';\nimport type { ICartesianTickDataOpt } from '../../../data/transforms/tick-data';\nimport { ComponentTypeEnum } from '../../interface';\nimport type { Datum } from '../../../typings';\nimport { CompilableData } from '../../../compile/data';\nimport type { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport type { ICartesianTimeAxisSpec } from './interface';\n\nexport interface CartesianTimeAxis<T extends ICartesianTimeAxisSpec = ICartesianTimeAxisSpec>\n extends Pick<LinearAxisMixin, 'valueToPosition' | 'dataToPosition'>,\n CartesianLinearAxis<T> {}\n\nexport class CartesianTimeAxis<\n T extends ICartesianTimeAxisSpec = ICartesianTimeAxisSpec\n> extends CartesianLinearAxis<T> {\n static type = ComponentTypeEnum.cartesianTimeAxis;\n type = ComponentTypeEnum.cartesianTimeAxis;\n\n protected _layerTickData!: CompilableData;\n\n protected _zero: boolean = false;\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.computeData();\n eachSeries(\n this._regions,\n s => {\n if (isXAxis(this.getOrient())) {\n (s as ICartesianSeries).setXAxisHelper(this.axisHelper());\n } else {\n (s as ICartesianSeries).setYAxisHelper(this.axisHelper());\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._tick = mergeSpec({}, this._spec.tick, this._spec.layers?.[0]);\n }\n\n protected _initData() {\n super._initData();\n\n // 如果layer数组的第二项未配置,则不显示第二层\n if (this._spec.layers?.[1]) {\n const label = this._spec.label || {};\n const layerTickData = new DataView(this._option.dataSet)\n .parse(this._scale, {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options: {\n sampling: this._spec.sampling !== false, // default do sampling\n tickCount: this._spec.layers?.[1]?.tickCount,\n forceTickCount: this._spec.layers?.[1]?.forceTickCount,\n tickStep: this._spec.layers?.[1]?.tickStep,\n\n axisOrientType: this._orient,\n coordinateType: 'cartesian',\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n labelLastVisible: label.lastVisible,\n labelFlush: label.flush\n } as ICartesianTickDataOpt\n },\n false\n );\n // layerTickData.target.addListener('change', this.updateAxis.bind(this));\n\n this._layerTickData = new CompilableData(this._option, layerTickData);\n }\n }\n\n /**\n * @override\n */\n protected computeData(): void {\n super.computeData();\n if (this._layerTickData) {\n this._layerTickData.getDataView().reRunAllTransform();\n this._layerTickData.updateData();\n }\n }\n\n protected getLabelFormatMethod(): any {\n const timeUtil = TimeUtil.getInstance();\n const timeFormat1 = this._spec?.layers?.[1]?.timeFormat || '%Y%m%d';\n const timeFormatMode1 = this._spec?.layers?.[1]?.timeFormatMode || 'local';\n const timeFormatter1 = timeFormatMode1 === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n\n const timeFormat0 = this._spec?.layers?.[0]?.timeFormat || '%Y%m%d';\n const timeFormatMode0 = this._spec?.layers?.[0]?.timeFormatMode || 'local';\n const timeFormatter0 = timeFormatMode0 === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n\n return (value: any, datum: any, index: number, data: any[], layer: number) => {\n let timeValue: string;\n if (layer === 0) {\n timeValue = timeFormatter0(timeFormat0, value);\n } else {\n timeValue = timeFormatter1(timeFormat1, value);\n }\n\n return this._spec.label?.formatMethod ? this._spec.label.formatMethod(timeValue, datum) : timeValue;\n };\n }\n\n protected getLabelItems(length: number) {\n const items = [];\n if (isArray(this._tickData.getLatestData())) {\n items.push(\n this._tickData.getLatestData().map((obj: Datum) => {\n return {\n id: obj.value,\n label: obj.value,\n value: length === 0 ? 0 : this.dataToPosition([obj.value]) / length,\n rawValue: obj.value\n };\n })\n );\n }\n\n if (this._layerTickData && isArray(this._layerTickData.getLatestData())) {\n items.push(\n this._layerTickData.getLatestData().map((obj: Datum) => {\n const value = this.dataToPosition([obj.value]);\n return {\n id: obj.value,\n label: obj.value,\n value: value / length,\n rawValue: obj.value\n };\n })\n );\n }\n\n return items;\n }\n transformScaleDomain() {\n // do nothing\n }\n}\n"]}
|
|
@@ -2,9 +2,9 @@ import type { Datum, IPadding, IPolarOrientType, IRectMarkSpec, IRuleMarkSpec, I
|
|
|
2
2
|
import type { ICartesianAxisSpec } from './cartesian/interface';
|
|
3
3
|
import type { IComponent } from '../interface';
|
|
4
4
|
import type { IBaseScale } from '@visactor/vscale';
|
|
5
|
-
import type { IModelSpec } from '../../model/interface';
|
|
6
5
|
import type { IAnimationSpec } from '../../animation/spec';
|
|
7
6
|
import type { AxisItem, AxisItemStateStyle } from '@visactor/vrender-components';
|
|
7
|
+
import type { IComponentSpec } from '../base/interface';
|
|
8
8
|
export interface StatisticsDomain {
|
|
9
9
|
domain: any[];
|
|
10
10
|
index: {
|
|
@@ -15,7 +15,7 @@ export interface IAxis extends IComponent {
|
|
|
15
15
|
valueToPosition: (value: any) => number;
|
|
16
16
|
getScale: () => IBaseScale;
|
|
17
17
|
getScales: () => IBaseScale[];
|
|
18
|
-
|
|
18
|
+
getOrient: () => ICartesianAxisSpec['orient'] | IPolarOrientType;
|
|
19
19
|
visible: boolean;
|
|
20
20
|
getStatisticsDomain: () => StatisticsDomain;
|
|
21
21
|
}
|
|
@@ -28,16 +28,12 @@ export interface IAxisItemTheme<T> {
|
|
|
28
28
|
style?: Omit<T, 'visible'>;
|
|
29
29
|
}
|
|
30
30
|
export type AxisAnimationPreset = 'groupFadeIn' | 'fadeIn' | 'grow';
|
|
31
|
-
export interface ICommonAxisSpec extends Omit<
|
|
31
|
+
export interface ICommonAxisSpec extends Omit<IComponentSpec, 'orient' | 'center'>, IAnimationSpec<string, string> {
|
|
32
32
|
type?: AxisType;
|
|
33
33
|
visible?: boolean;
|
|
34
34
|
inverse?: boolean;
|
|
35
35
|
tick?: ITick;
|
|
36
36
|
subTick?: ISubTick;
|
|
37
|
-
regionIndex?: number | number[];
|
|
38
|
-
regionId?: StringOrNumber | StringOrNumber[];
|
|
39
|
-
seriesIndex?: number | number[];
|
|
40
|
-
seriesId?: StringOrNumber | StringOrNumber[];
|
|
41
37
|
animation?: boolean;
|
|
42
38
|
select?: boolean;
|
|
43
39
|
hover?: boolean;
|
|
@@ -116,7 +112,7 @@ export interface ITitle extends IAxisItem<ITextMarkSpec> {
|
|
|
116
112
|
state?: AxisItemStateStyle<Partial<ITextMarkSpec>>;
|
|
117
113
|
}
|
|
118
114
|
export type StyleCallback<T> = (value: any, index: number, datum: Datum, data: Datum[]) => T;
|
|
119
|
-
export type AxisType = 'linear' | 'ordinal' | 'band' | 'point' | 'time' | 'log';
|
|
115
|
+
export type AxisType = 'linear' | 'ordinal' | 'band' | 'point' | 'time' | 'log' | 'symlog';
|
|
120
116
|
export interface IAxisCommonTheme {
|
|
121
117
|
grid?: IGrid;
|
|
122
118
|
subGrid?: IGrid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type {\n Datum,\n IPadding,\n IPolarOrientType,\n IRectMarkSpec,\n IRuleMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n StringOrNumber\n} from '../../typings';\nimport type { ICartesianAxisSpec } from './cartesian/interface';\nimport type { IComponent } from '../interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IModelSpec } from '../../model/interface';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AxisItem, AxisItemStateStyle } from '@visactor/vrender-components';\n\nexport interface StatisticsDomain {\n domain: any[];\n index: { [key in StringOrNumber]: number };\n}\n\nexport interface IAxis extends IComponent {\n valueToPosition: (value: any) => number;\n getScale: () => IBaseScale;\n getScales: () => IBaseScale[];\n
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type {\n Datum,\n IPadding,\n IPolarOrientType,\n IRectMarkSpec,\n IRuleMarkSpec,\n ISymbolMarkSpec,\n ITextMarkSpec,\n StringOrNumber\n} from '../../typings';\nimport type { ICartesianAxisSpec } from './cartesian/interface';\nimport type { IComponent } from '../interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IModelSpec } from '../../model/interface';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { AxisItem, AxisItemStateStyle } from '@visactor/vrender-components';\nimport type { IComponentSpec } from '../base/interface';\n\nexport interface StatisticsDomain {\n domain: any[];\n index: { [key in StringOrNumber]: number };\n}\n\nexport interface IAxis extends IComponent {\n valueToPosition: (value: any) => number;\n getScale: () => IBaseScale;\n getScales: () => IBaseScale[];\n getOrient: () => ICartesianAxisSpec['orient'] | IPolarOrientType;\n visible: boolean;\n getStatisticsDomain: () => StatisticsDomain;\n}\n\nexport interface IAxisItem<T> {\n visible?: boolean;\n style?: Omit<T, 'visible'>;\n}\n\nexport interface IAxisItemTheme<T> {\n visible?: boolean;\n style?: Omit<T, 'visible'>;\n}\nexport type AxisAnimationPreset = 'groupFadeIn' | 'fadeIn' | 'grow';\n\nexport interface ICommonAxisSpec extends Omit<IComponentSpec, 'orient' | 'center'>, IAnimationSpec<string, string> {\n /**\n * 轴类型\n */\n type?: AxisType;\n /**\n * 是否显示坐标轴\n * @default true\n */\n visible?: boolean;\n /**\n * 是否开启反向坐标轴。\n * @default false\n */\n inverse?: boolean;\n /**\n * 轴刻度线配置\n */\n tick?: ITick;\n /**\n * 子刻度线配置\n */\n subTick?: ISubTick;\n\n /**\n * 是否开启动画,默认关闭\n * @default false\n */\n animation?: boolean;\n\n // 交互相关的配置\n /**\n * 是否开启 select 选中交互,默认关闭\n * @default false\n */\n select?: boolean;\n /**\n * 是否开启 hover 悬浮交互,默认关闭\n * @default false\n */\n hover?: boolean;\n\n /**\n * 是否开启轴数据采样,默认开启。\n * 轴采样开启之后,会对轴数据进行采样显示,防止轴数据的重叠。\n * 通过配置 `label.minGap` 可以控制轴标签之间的间距。\n * @default true\n * @since 1.1.0\n */\n sampling?: boolean;\n}\n\nexport interface ILinearAxisSpec {\n // 线性轴数值范围配置\n /** 最小值,**优先级高于 zero,nice** */\n min?: number;\n /** 最大值,**优先级高于 zero,nice** */\n max?: number;\n\n /** @deparated 线性轴数值范围配置(已弃用,请使用外层 min/max) */\n range?: {\n /** @deparated 最小值 */\n min?: number;\n /** @deparated 最大值 */\n max?: number;\n };\n\n /**\n * 是否根据数据将轴范围调整到相对规整的数值\n * @default true\n * @description 当配置了 min 和 max,该配置项失效\n * @example 当配置了 max = 999, nice并不会将轴范围优化到1000\n */\n nice?: boolean;\n /**\n * nice效果的类型,是精度优先还是tickCount优先(比如tickCount为2那nice出来的精度就很低)\n * @default undefined('tickCountFirst')\n * @description 不配置就默认是tickCountFirst\n * @example 数据范围是0~6000,如果tickCount为2,那么tickCountFirst出来的range就是[0, 10000], accurateFirst出来的range就是[0, 6000]但10000显示不了\n */\n niceType?: 'tickCountFirst' | 'accurateFirst';\n /**\n * 是否包含0值\n * @default true\n * @description 当配置了 min和 max,该配置项失效\n */\n zero?: boolean;\n /**\n * 轴范围按比例扩展\n * @description 当配置了 min和 max,该配置项失效\n */\n expand?: {\n min?: number;\n max?: number;\n };\n}\n\nexport interface IBandAxisSpec {\n /**\n * 同时设置轴的 paddingInner 和 paddingOuter\n * **因为有可能存在多层 scale( xField 设置成了数组,即分组场景),所以支持了数组类型,用于多层 scale 的 bandPadding 配置**\n */\n bandPadding?: number | number[];\n /**\n * band 轴的内边距\n * ** 因为有可能存在多层 scale( xField 设置成了数组,即分组场景),所以支持了数组类型,用于多层 scale 的 paddingInner 配置**\n * @default 0.1\n */\n paddingInner?: number | number[];\n /**\n * band 轴的外边距\n * ** 因为有可能存在多层 scale( xField 设置成了数组,即分组场景),所以支持了数组类型,用于多层 scale 的 paddingOuter 配置**\n * @default 0.3\n */\n paddingOuter?: number | number[];\n /**\n * 配置离散轴的数值范围\n * @since 1.1.0\n */\n domain?: StringOrNumber[];\n}\n// Grid 配置项\nexport interface IGrid extends IAxisItem<IRuleMarkSpec> {\n /**\n * 两个栅格线间的填充色\n */\n alternateColor?: string | string[];\n /**\n * grid 是否与 label 对齐,默认为 true,即对齐,配置为 false 则显示在前后两个刻度中间\n * @default true\n */\n alignWithLabel?: boolean;\n /**\n * 网格线样式,支持回调\n */\n style?: IRuleMarkSpec | StyleCallback<IRuleMarkSpec | undefined>;\n}\n\n// 刻度线配置\nexport interface ITick extends IAxisItem<IRuleMarkSpec> {\n /**\n * Length of tick lines\n * 坐标轴刻度线的长度\n * @default 4\n */\n tickSize?: number;\n /**\n * 刻度线朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n /**\n * tick 是否与 label 对齐,默认为 true,即对齐,配置为 false 则显示在前后两个刻度中间\n * @default true\n */\n alignWithLabel?: boolean;\n /** tick步长 */\n tickStep?: number;\n /**\n * 期望的连续轴tick数量\n * The desired number of ticks draw on linear axis.\n * @default 10\n * @description 建议的tick数量,并不保证结果一定是配置值\n */\n tickCount?: number;\n /**\n * 强制设置tick数量\n * The exact number of ticks draw on linear axis. Might lead to decimal step.\n * @default 10\n * @description 强制设置的tick数量,可能由于数据范围导致tick值为小数\n */\n forceTickCount?: number;\n /**\n * 连续轴 tick 生成算法:\n * 'average': 尽可能均分;\n * 'd3':与 d3 默认逻辑一致,以 [1, 2, 5] 为基数生成;\n * @default 'average'\n * @since 1.3.0\n */\n tickMode?: 'average' | 'd3';\n /**\n * 连续轴,是否避免小数 tick。\n * @default false\n * @description 当配置了 tickStep 或 forceTickCount 时不生效。\n * @since 1.3.0\n */\n noDecimals?: boolean;\n /**\n * 刻度线样式设置,支持回调\n */\n style?: IRuleMarkSpec | StyleCallback<IRuleMarkSpec | undefined>;\n /**\n * 刻度线不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<IRuleMarkSpec>;\n /**\n * 用于 tick 的数据过滤\n * @since 1.1.0\n */\n dataFilter?: (data: AxisItem[]) => AxisItem[];\n}\n\n// 子刻度线配置\nexport interface ISubTick extends IAxisItem<IRuleMarkSpec> {\n /**\n * TODO: 考虑下 log 轴,自刻度线之间的间距是不均匀的问题\n * 子刻度个数\n */\n tickCount?: number;\n /**\n * 子刻度线朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n /** 子刻度线的长度 */\n tickSize?: number;\n /**\n * 子刻度线不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<IRuleMarkSpec>;\n}\n\n// 轴标签配置\nexport interface ILabel extends IAxisItem<ITextMarkSpec> {\n /**\n * 轴标签内容格式化函数\n * @param text 原始标签文本值\n * @param datum 图形数据\n * @returns 格式化后的文本\n */\n formatMethod?: (text: string | string[], datum?: Datum) => string | string[];\n /** 标签同 tick 之间的间距 */\n space?: number;\n /**\n * 标签朝向,默认朝外(坐标线包围盒外部)\n * @default false\n */\n inside?: boolean;\n /**\n * 标签之间的最小间距(单位为像素),仅当轴采样开始时生效(`sampling: true`)。\n * 该配置会影响轴采样的结果。\n */\n minGap?: number;\n /**\n * 文本样式设置\n */\n style?: ITextMarkSpec | StyleCallback<ITextMarkSpec | undefined>;\n /**\n * label 不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<ITextMarkSpec>;\n /**\n * 用于 label 的数据过滤\n * @since 1.1.0\n */\n dataFilter?: (data: AxisItem[], layer: number) => AxisItem[];\n}\n\n// 轴线配置\nexport interface IDomainLine extends IAxisItem<IRuleMarkSpec> {\n /**\n * domainLine 在不同交互状态下的样式配置,支持:\n * 1. hover\n * 2. hover_reverse\n * 3. selected\n * 4. selected_reverse\n */\n state?: AxisItemStateStyle<IRuleMarkSpec>;\n}\n\n// 轴标题配置\nexport interface ITitle extends IAxisItem<ITextMarkSpec> {\n /**\n * 标题的显示位置,直角坐标系默认 'middle';\n * 极坐标系的圆弧轴如果配置了内半径,则默认 'middle',否则 'end'\n */\n position?: 'start' | 'middle' | 'end';\n /**\n * 标题距离坐标轴(轴线、刻度、标签共同构成的包围盒)的距离\n */\n space?: number;\n /**\n * 标题内边距配置\n */\n padding?: IPadding | number | number[];\n /**\n * 标题背景色设置\n */\n background?: IAxisItem<IRectMarkSpec> & {\n /**\n * 背景的交互状态样式配置\n */\n state?: AxisItemStateStyle<Partial<IRectMarkSpec>>;\n };\n /**\n * TODO: 接入富文本\n * 标题 shape 配置\n */\n shape?: IAxisItem<ISymbolMarkSpec> & {\n /**\n * shape 同标题文本之间的间距\n */\n space?: number;\n /**\n * shape 标记的交互状态样式配置\n */\n state?: AxisItemStateStyle<Partial<ISymbolMarkSpec>>;\n };\n text?: string | string[];\n /**\n * 标题整体的旋转角度(如果标题配置了 background、shape 等属性的话,需要使用该属性进行整体的配置旋转)。\n */\n angle?: number;\n /**\n * text 文本的交互状态样式配置\n */\n state?: AxisItemStateStyle<Partial<ITextMarkSpec>>;\n}\n\nexport type StyleCallback<T> = (value: any, index: number, datum: Datum, data: Datum[]) => T;\nexport type AxisType = 'linear' | 'ordinal' | 'band' | 'point' | 'time' | 'log' | 'symlog';\n\nexport interface IAxisCommonTheme {\n /** 网格线配置 */\n grid?: IGrid;\n /** 网格线配置 */\n subGrid?: IGrid;\n /** 轴线配置 */\n domainLine?: IDomainLine;\n /** 轴标签配置 */\n label?: ILabel;\n /** 轴标题配置 */\n title?: ITitle;\n /** 轴刻度线配置 */\n tick?: ITick;\n /** 轴刻度线配置 */\n subTick?: ISubTick;\n}\n\nexport interface IBandAxisTheme extends IAxisCommonTheme {\n bandPadding?: number | number[];\n paddingInner?: number | number[];\n paddingOuter?: number | number[];\n}\n"]}
|
|
@@ -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 type { LinearScale } from '@visactor/vscale';\nimport { isNil, isValid, maxInArr, minInArr } from '../../../util';\nimport { getLinearAxisSpecDomain } from '../utils';\nimport type { IAxisLocationCfg } from '../cartesian/interface';\nimport type { ITick } from '../interface';\nimport { ChartEvent } from '../../../constant';\nimport type { IEvent } from '../../../event/interface';\n\nexport const e10 = Math.sqrt(50);\nexport const e5 = Math.sqrt(10);\nexport const e2 = Math.sqrt(2);\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 computeStatisticsDomain: any;\n computeDomain: any;\n collectData: any;\n event: IEvent;\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 = this._spec.tick?.forceTickCount ?? this._spec.tick?.tickCount ?? 10;\n // 如果配置了精度优先,那么最低是10\n // 否则就直接使用tickCount即可\n if (this._spec.niceType === 'accurateFirst') {\n tickCount = Math.max(10, tickCount);\n }\n\n if (isNil(this._domain?.min) && isNil(this._domain?.max)) {\n this._nice && this._scale.nice(tickCount);\n } else if (isValid(this._domain?.min) && isNil(this._domain?.max)) {\n this._nice && this._scale.niceMax(tickCount);\n } else if (isNil(this._domain?.min) && isValid(this._domain?.max)) {\n this._nice && this._scale.niceMin(tickCount);\n }\n }\n\n setLogScaleNice() {\n if (isNil(this._domain?.min) && isNil(this._domain?.max)) {\n this._nice && this._scale.nice();\n } else if (isValid(this._domain?.min) && isNil(this._domain?.max)) {\n this._nice && this._scale.niceMax();\n } else if (isNil(this._domain?.min) && isValid(this._domain?.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 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 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 / 5; // 默认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 niceMinMax() {\n if (this._nice) {\n let tickCount = this._tick.forceTickCount ?? this._tick.tickCount ?? 10;\n // 如果配置了精度优先,那么最低是10\n // 否则就直接使用tickCount即可\n if (this._spec.niceType === 'accurateFirst') {\n tickCount = Math.max(10, tickCount);\n }\n if (isNil(this._domain?.min) && isNil(this._domain?.max)) {\n this._scale.nice(tickCount);\n } else if (isValid(this._domain?.min) && isNil(this._domain?.max)) {\n this._scale.niceMax(tickCount);\n } else if (isNil(this._domain?.min) && isValid(this._domain?.max)) {\n this._scale.niceMin(tickCount);\n }\n }\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.niceMinMax();\n\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any });\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 this.computeStatisticsDomain();\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.niceMinMax();\n this.event.emit(ChartEvent.scaleDomainUpdate, { model: this as any });\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/mixin/linear-axis-mixin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAkB/B,MAAM,OAAO,eAAe;IAA5B;QACY,YAAO,GAA8B,EAAE,CAAC;IA0OpD,CAAC;IAxOC,oBAAoB;QAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,oBAAoB;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,kBAAkB;;QAChB,IAAI,SAAS,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,cAAc,mCAAI,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,0CAAE,SAAS,mCAAI,EAAE,CAAC;QAGpF,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,eAAe,EAAE;YAC3C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SACrC;QAED,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YACxD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3C;aAAM,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YACjE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC9C;aAAM,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YACjE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAC9C;IACH,CAAC;IAED,eAAe;;QACb,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YACxD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAClC;aAAM,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YACjE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SACrC;aAAM,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;YACjE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;SACrC;IACH,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;IACH,CAAC;IAED,cAAc,CAAC,MAAa,EAAE,GAAsB;QAClD,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,KAAU;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,mBAAmB,CAAC,IAAmD;QACrE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACvB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAW,EAAE,GAAa,CAAC,CAAC;YACzF,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAW,EAAE,GAAa,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,YAAY,CAAC,MAAgB;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;SACR;QAED,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE1C,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,IAAI,SAAS,KAAK,CAAC,EAAE;gBACnB,SAAS,GAAG,CAAC,CAAC;aACf;iBAAM,IAAI,SAAS,GAAG,CAAC,EAAE;gBACxB,SAAS,GAAG,CAAC,CAAC;aACf;iBAAM,IAAI,SAAS,GAAG,CAAC,EAAE;gBACxB,SAAS,GAAG,CAAC,CAAC;aACf;SACF;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SACpE;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SACpF;IACH,CAAC;IAES,UAAU,CAAC,MAAgB;QACnC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAGxE,OAAO,MAAM,CAAC;SACf;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,EAAE;YAC1D,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,GAAG,GAAG,CAAC,EAAE;gBACX,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACf;iBAAM;gBACL,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;gBACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACvC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAEnF,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;aACvB;YACD,IAAI,IAAI,GAAG,CAAC,EAAE;gBACZ,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACjB;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,UAAU;;QAClB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,EAAE,CAAC;YAGxE,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,eAAe,EAAE;gBAC3C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;aACrC;YACD,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;gBACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC7B;iBAAM,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;gBACjE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAChC;iBAAM,IAAI,KAAK,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,IAAI,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,GAAG,CAAC,EAAE;gBACjE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAChC;SACF;IACH,CAAC;IAES,WAAW,CAAC,MAAgB;QACpC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACpE;IACH,CAAC;IAGD,eAAe,CAAC,GAAW,EAAE,KAAyB;QACpD,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAW,EAAE,CAAC,CAAC;IAClE,CAAC;IAES,YAAY,CAAC,MAAgB;QACrC,IAAI,IAAI,CAAC;QACT,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3C,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAES,eAAe,CAAC,MAAgB;QACxC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;SACR;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,IAAa;QACnB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;IACH,CAAC;IAKS,iBAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAC9B,OAAO;SACR;QACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,MAAM,GAAa,IAAI,CAAC,aAAa,CAAC,IAAI,CAAa,CAAC;QAC9D,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAMS,wBAAwB,CAAC,MAAiB;QAClD,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAExC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAE7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAW,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAW,EAAE,CAAC,CAAC;IAClE,CAAC;CACF","file":"linear-axis-mixin.js","sourcesContent":["import type { LinearScale } from '@visactor/vscale';\nimport { isNil, isValid, maxInArr, minInArr } from '../../../util';\nimport { getLinearAxisSpecDomain } from '../util';\nimport type { IAxisLocationCfg } from '../cartesian/interface';\nimport type { ITick } from '../interface';\nimport { ChartEvent } from '../../../constant';\nimport type { IEvent } from '../../../event/interface';\n\nexport const e10 = Math.sqrt(50);\nexport const e5 = Math.sqrt(10);\nexport const e2 = Math.sqrt(2);\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 computeStatisticsDomain: any;\n computeDomain: any;\n collectData: any;\n event: IEvent;\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 = this._spec.tick?.forceTickCount ?? this._spec.tick?.tickCount ?? 10;\n // 如果配置了精度优先,那么最低是10\n // 否则就直接使用tickCount即可\n if (this._spec.niceType === 'accurateFirst') {\n tickCount = Math.max(10, tickCount);\n }\n\n if (isNil(this._domain?.min) && isNil(this._domain?.max)) {\n this._nice && this._scale.nice(tickCount);\n } else if (isValid(this._domain?.min) && isNil(this._domain?.max)) {\n this._nice && this._scale.niceMax(tickCount);\n } else if (isNil(this._domain?.min) && isValid(this._domain?.max)) {\n this._nice && this._scale.niceMin(tickCount);\n }\n }\n\n setLogScaleNice() {\n if (isNil(this._domain?.min) && isNil(this._domain?.max)) {\n this._nice && this._scale.nice();\n } else if (isValid(this._domain?.min) && isNil(this._domain?.max)) {\n this._nice && this._scale.niceMax();\n } else if (isNil(this._domain?.min) && isValid(this._domain?.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 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 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 / 5; // 默认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 niceMinMax() {\n if (this._nice) {\n let tickCount = this._tick.forceTickCount ?? this._tick.tickCount ?? 10;\n // 如果配置了精度优先,那么最低是10\n // 否则就直接使用tickCount即可\n if (this._spec.niceType === 'accurateFirst') {\n tickCount = Math.max(10, tickCount);\n }\n if (isNil(this._domain?.min) && isNil(this._domain?.max)) {\n this._scale.nice(tickCount);\n } else if (isValid(this._domain?.min) && isNil(this._domain?.max)) {\n this._scale.niceMax(tickCount);\n } else if (isNil(this._domain?.min) && isValid(this._domain?.max)) {\n this._scale.niceMin(tickCount);\n }\n }\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.niceMinMax();\n\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any });\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 this.computeStatisticsDomain();\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.niceMinMax();\n this.event.emit(ChartEvent.scaleDomainUpdate, { model: this as any });\n this.event.emit(ChartEvent.scaleUpdate, { model: this as any });\n }\n}\n"]}
|
|
@@ -23,7 +23,7 @@ export declare abstract class PolarAxis<T extends IPolarAxisCommonSpec = IPolarA
|
|
|
23
23
|
get endAngle(): number;
|
|
24
24
|
protected _theme: IPolarAxisCommonTheme;
|
|
25
25
|
protected _orient: IPolarOrientType;
|
|
26
|
-
|
|
26
|
+
getOrient(): IPolarOrientType;
|
|
27
27
|
protected _groupScales: IBaseScale[];
|
|
28
28
|
getGroupScales(): IBaseScale[];
|
|
29
29
|
protected _refAngleAxis: IPolarAxis;
|
|
@@ -54,6 +54,7 @@ export declare abstract class PolarAxis<T extends IPolarAxisCommonSpec = IPolarA
|
|
|
54
54
|
protected getSeriesStatisticsField(s: IPolarSeries): string[];
|
|
55
55
|
protected initGroupScales(): void;
|
|
56
56
|
protected axisHelper(): {
|
|
57
|
+
isContinuous: boolean;
|
|
57
58
|
dataToPosition: (values: any[]) => number;
|
|
58
59
|
coordToPoint: (point: IPolarPoint) => IPoint;
|
|
59
60
|
pointToCoord: (point: IPoint) => IPolarPoint;
|
|
@@ -10,7 +10,7 @@ import { ComponentTypeEnum } from "../../interface";
|
|
|
10
10
|
|
|
11
11
|
import { Factory } from "../../../core/factory";
|
|
12
12
|
|
|
13
|
-
import { isArray, isValidNumber,
|
|
13
|
+
import { isArray, isValidNumber, mergeSpec, polarToCartesian, radians, eachSeries } from "../../../util";
|
|
14
14
|
|
|
15
15
|
import { scaleParser } from "../../../data/parser/scale";
|
|
16
16
|
|
|
@@ -20,7 +20,7 @@ import { registerDataSetInstanceParser, registerDataSetInstanceTransform } from
|
|
|
20
20
|
|
|
21
21
|
import { isPolarAxisSeries } from "../../../series/util/utils";
|
|
22
22
|
|
|
23
|
-
import { isValidPolarAxis } from "../
|
|
23
|
+
import { isValidPolarAxis } from "../util";
|
|
24
24
|
|
|
25
25
|
import { PointService, isValid } from "@visactor/vutils";
|
|
26
26
|
|
|
@@ -36,7 +36,7 @@ export class PolarAxis extends AxisComponent {
|
|
|
36
36
|
this._orient = "radius", this._groupScales = [], this.effect = {
|
|
37
37
|
scaleUpdate: () => {
|
|
38
38
|
this.computeData(), eachSeries(this._regions, (s => {
|
|
39
|
-
"radius" === this.
|
|
39
|
+
"radius" === this.getOrient() ? s.radiusAxisHelper = this.axisHelper() : s.angleAxisHelper = this.axisHelper();
|
|
40
40
|
}), {
|
|
41
41
|
userId: this._seriesUserId,
|
|
42
42
|
specIndex: this._seriesIndex
|
|
@@ -53,7 +53,7 @@ export class PolarAxis extends AxisComponent {
|
|
|
53
53
|
get endAngle() {
|
|
54
54
|
return this._endAngle;
|
|
55
55
|
}
|
|
56
|
-
|
|
56
|
+
getOrient() {
|
|
57
57
|
return this._orient;
|
|
58
58
|
}
|
|
59
59
|
getGroupScales() {
|
|
@@ -152,14 +152,14 @@ export class PolarAxis extends AxisComponent {
|
|
|
152
152
|
}
|
|
153
153
|
updateScaleRange() {
|
|
154
154
|
const inverse = this._spec.inverse;
|
|
155
|
-
"radius" === this.
|
|
155
|
+
"radius" === this.getOrient() ? this._scale.range(inverse ? [ this.computeLayoutOuterRadius(), this.computeLayoutInnerRadius() ] : [ this.computeLayoutInnerRadius(), this.computeLayoutOuterRadius() ]) : this._scale.range(inverse ? [ this._endAngle, this._startAngle ] : [ this._startAngle, this._endAngle ]);
|
|
156
156
|
}
|
|
157
157
|
collectData(depth) {
|
|
158
158
|
const data = [];
|
|
159
159
|
return eachSeries(this._regions, (s => {
|
|
160
160
|
var _a, _b, _c;
|
|
161
161
|
let field;
|
|
162
|
-
field = depth > 0 ? null === (_b = null === (_a = s.getGroups()) || void 0 === _a ? void 0 : _a.fields) || void 0 === _b ? void 0 : _b[depth] : "radius" === this.
|
|
162
|
+
field = depth > 0 ? null === (_b = null === (_a = s.getGroups()) || void 0 === _a ? void 0 : _a.fields) || void 0 === _b ? void 0 : _b[depth] : "radius" === this.getOrient() ? s.getRadiusField() : s.getAngleField(),
|
|
163
163
|
field = isArray(field) ? isContinuous(this._scale.type) ? field : [ field[0] ] : [ field ],
|
|
164
164
|
depth || (this._dataFieldText = s.getFieldAlias(field[0]));
|
|
165
165
|
const seriesData = null === (_c = s.getViewDataStatistics) || void 0 === _c ? void 0 : _c.call(s);
|
|
@@ -174,7 +174,7 @@ export class PolarAxis extends AxisComponent {
|
|
|
174
174
|
}
|
|
175
175
|
updateSeriesScale() {
|
|
176
176
|
eachSeries(this._regions, (s => {
|
|
177
|
-
"radius" === this.
|
|
177
|
+
"radius" === this.getOrient() ? (s.setRadiusScale(this._scale), s.radiusAxisHelper = this.axisHelper()) : (s.setAngleScale(this._scale),
|
|
178
178
|
s.angleAxisHelper = this.axisHelper());
|
|
179
179
|
}), {
|
|
180
180
|
userId: this._seriesUserId,
|
|
@@ -182,12 +182,13 @@ export class PolarAxis extends AxisComponent {
|
|
|
182
182
|
});
|
|
183
183
|
}
|
|
184
184
|
getSeriesStatisticsField(s) {
|
|
185
|
-
const f = "radius" === this.
|
|
185
|
+
const f = "radius" === this.getOrient() ? s.getRadiusField() : s.getAngleField();
|
|
186
186
|
return isContinuous(this._scale.type) ? f : [ f[0] ];
|
|
187
187
|
}
|
|
188
188
|
initGroupScales() {}
|
|
189
189
|
axisHelper() {
|
|
190
190
|
return {
|
|
191
|
+
isContinuous: isContinuous(this._scale.type),
|
|
191
192
|
dataToPosition: this.dataToPosition.bind(this),
|
|
192
193
|
coordToPoint: this.coordToPoint.bind(this),
|
|
193
194
|
pointToCoord: this.pointToCoord.bind(this),
|
|
@@ -201,7 +202,7 @@ export class PolarAxis extends AxisComponent {
|
|
|
201
202
|
}
|
|
202
203
|
positionToData(position) {
|
|
203
204
|
const coord = this.pointToCoord(position);
|
|
204
|
-
if ("radius" === this.
|
|
205
|
+
if ("radius" === this.getOrient()) return this._scale.invert(coord.radius);
|
|
205
206
|
if ("band" === this._scale.type) {
|
|
206
207
|
const range = this._scale.range(), rangeValue = range[range.length - 1] - range[0];
|
|
207
208
|
if (range[0] < 0) {
|
|
@@ -228,8 +229,8 @@ export class PolarAxis extends AxisComponent {
|
|
|
228
229
|
const startAngle = this._startAngle, endAngle = this._endAngle, radius = Math.sqrt(dx * dx + dy * dy);
|
|
229
230
|
dx /= radius, dy /= radius;
|
|
230
231
|
let radian = Math.atan2(dy, dx);
|
|
231
|
-
|
|
232
|
-
|
|
232
|
+
if (radian < startAngle) for (;radian <= startAngle; ) radian += 2 * Math.PI;
|
|
233
|
+
if (radian > endAngle) for (;radian >= endAngle; ) radian -= 2 * Math.PI;
|
|
233
234
|
return {
|
|
234
235
|
radius: radius,
|
|
235
236
|
angle: radian
|
|
@@ -252,7 +253,7 @@ export class PolarAxis extends AxisComponent {
|
|
|
252
253
|
return this._tickData.getLatestData() || [];
|
|
253
254
|
}
|
|
254
255
|
updateLayoutAttribute() {
|
|
255
|
-
this._visible && ("radius" === this.
|
|
256
|
+
this._visible && ("radius" === this.getOrient() ? this._layoutRadiusAxis() : this._layoutAngleAxis()),
|
|
256
257
|
super.updateLayoutAttribute();
|
|
257
258
|
}
|
|
258
259
|
_layoutAngleAxis() {
|
|
@@ -348,7 +349,7 @@ export class PolarAxis extends AxisComponent {
|
|
|
348
349
|
};
|
|
349
350
|
}
|
|
350
351
|
_update(attrs) {
|
|
351
|
-
this.getMarks()[0].getProduct().encode(
|
|
352
|
+
this.getMarks()[0].getProduct().encode(mergeSpec({}, this._axisStyle, attrs));
|
|
352
353
|
}
|
|
353
354
|
}
|
|
354
355
|
|