{"version":3,"sources":["webpack://G2Plot/webpack/universalModuleDefinition","webpack://G2Plot/webpack/bootstrap","webpack://G2Plot/../src/is-array-like.ts","webpack://G2Plot/../src/contains.ts","webpack://G2Plot/../src/filter.ts","webpack://G2Plot/../src/difference.ts","webpack://G2Plot/../src/is-type.ts","webpack://G2Plot/../src/is-function.ts","webpack://G2Plot/../src/is-nil.ts","webpack://G2Plot/../src/is-array.ts","webpack://G2Plot/../src/is-object.ts","webpack://G2Plot/../src/each.ts","webpack://G2Plot/../src/keys.ts","webpack://G2Plot/../src/is-match.ts","webpack://G2Plot/../src/is-object-like.ts","webpack://G2Plot/../src/is-plain-object.ts","webpack://G2Plot/../src/find.ts","webpack://G2Plot/../src/find-index.ts","webpack://G2Plot/../src/first-value.ts","webpack://G2Plot/../src/flatten.ts","webpack://G2Plot/../src/flatten-deep.ts","webpack://G2Plot/../src/max.ts","webpack://G2Plot/../src/min.ts","webpack://G2Plot/../src/get-range.ts","webpack://G2Plot/../src/pull.ts","webpack://G2Plot/../src/pull-at.ts","webpack://G2Plot/../src/reduce.ts","webpack://G2Plot/../src/remove.ts","webpack://G2Plot/../src/is-string.ts","webpack://G2Plot/../src/sort-by.ts","webpack://G2Plot/../src/uniq.ts","webpack://G2Plot/../src/union.ts","webpack://G2Plot/../src/values-of-key.ts","webpack://G2Plot/../src/head.ts","webpack://G2Plot/../src/last.ts","webpack://G2Plot/../src/starts-with.ts","webpack://G2Plot/../src/ends-with.ts","webpack://G2Plot/../src/every.ts","webpack://G2Plot/../src/some.ts","webpack://G2Plot/../src/group-by.ts","webpack://G2Plot/../src/group-to-map.ts","webpack://G2Plot/../src/group.ts","webpack://G2Plot/../src/get-wrap-behavior.ts","webpack://G2Plot/../src/wrap-behavior.ts","webpack://G2Plot/../src/number2color.ts","webpack://G2Plot/../src/parse-radius.ts","webpack://G2Plot/../src/clamp.ts","webpack://G2Plot/../src/fixed-base.ts","webpack://G2Plot/../src/is-number.ts","webpack://G2Plot/../src/is-decimal.ts","webpack://G2Plot/../src/is-even.ts","webpack://G2Plot/../src/is-integer.ts","webpack://G2Plot/../src/is-negative.ts","webpack://G2Plot/../src/is-number-equal.ts","webpack://G2Plot/../src/is-odd.ts","webpack://G2Plot/../src/is-positive.ts","webpack://G2Plot/../src/max-by.ts","webpack://G2Plot/../src/min-by.ts","webpack://G2Plot/../src/mod.ts","webpack://G2Plot/../src/to-degree.ts","webpack://G2Plot/../src/to-integer.ts","webpack://G2Plot/../src/to-radian.ts","webpack://G2Plot/../src/for-in.ts","webpack://G2Plot/../src/has.ts","webpack://G2Plot/../src/has-key.ts","webpack://G2Plot/../src/values.ts","webpack://G2Plot/../src/has-value.ts","webpack://G2Plot/../src/to-string.ts","webpack://G2Plot/../src/lower-case.ts","webpack://G2Plot/../src/lower-first.ts","webpack://G2Plot/../src/substitute.ts","webpack://G2Plot/../src/upper-case.ts","webpack://G2Plot/../src/upper-first.ts","webpack://G2Plot/../src/get-type.ts","webpack://G2Plot/../src/is-arguments.ts","webpack://G2Plot/../src/is-boolean.ts","webpack://G2Plot/../src/is-date.ts","webpack://G2Plot/../src/is-error.ts","webpack://G2Plot/../src/is-finite.ts","webpack://G2Plot/../src/is-null.ts","webpack://G2Plot/../src/is-prototype.ts","webpack://G2Plot/../src/is-reg-exp.ts","webpack://G2Plot/../src/is-undefined.ts","webpack://G2Plot/../src/is-element.ts","webpack://G2Plot/../src/request-animation-frame.ts","webpack://G2Plot/../src/clear-animation-frame.ts","webpack://G2Plot/../src/mix.ts","webpack://G2Plot/../src/augment.ts","webpack://G2Plot/../src/clone.ts","webpack://G2Plot/../src/debounce.ts","webpack://G2Plot/../src/memoize.ts","webpack://G2Plot/../src/deep-mix.ts","webpack://G2Plot/../src/extend.ts","webpack://G2Plot/../src/index-of.ts","webpack://G2Plot/../src/is-empty.ts","webpack://G2Plot/../src/is-equal.ts","webpack://G2Plot/../src/is-equal-with.ts","webpack://G2Plot/../src/map.ts","webpack://G2Plot/../src/map-values.ts","webpack://G2Plot/../src/get.ts","webpack://G2Plot/../src/set.ts","webpack://G2Plot/../src/pick.ts","webpack://G2Plot/../src/omit.ts","webpack://G2Plot/../src/throttle.ts","webpack://G2Plot/../src/to-array.ts","webpack://G2Plot/../src/unique-id.ts","webpack://G2Plot/../src/noop.ts","webpack://G2Plot/../src/identity.ts","webpack://G2Plot/../src/size.ts","webpack://G2Plot/../src/measure-text-width.ts","webpack://G2Plot/../src/get-ellipsis-text.ts","webpack://G2Plot/../src/cache.ts","webpack://G2Plot/./node_modules/_tslib@2.5.0@tslib/tslib.es6.js","webpack://G2Plot/./src/utils/index.ts","webpack://G2Plot/../src/ext.ts","webpack://G2Plot/../../src/util/util.ts","webpack://G2Plot/../../src/util/theme.ts","webpack://G2Plot/./node_modules/_gl-matrix@3.4.3@gl-matrix/esm/mat3.js","webpack://G2Plot/./src/core/plot.ts","webpack://G2Plot/../src/constant.ts","webpack://G2Plot/../../src/engine/index.ts","webpack://G2Plot/../../src/util/dom.ts","webpack://G2Plot/../src/base.ts","webpack://G2Plot/../../src/attributes/base.ts","webpack://G2Plot/../../src/attributes/color.ts","webpack://G2Plot/../../src/attributes/opacity.ts","webpack://G2Plot/../../src/attributes/position.ts","webpack://G2Plot/../../src/attributes/shape.ts","webpack://G2Plot/../../src/attributes/size.ts","webpack://G2Plot/../src/factory.ts","webpack://G2Plot/../src/index.ts","webpack://G2Plot/../../src/coord/base.ts","webpack://G2Plot/../../src/coord/cartesian.ts","webpack://G2Plot/../../src/coord/helix.ts","webpack://G2Plot/../../src/coord/polar.ts","webpack://G2Plot/../src/dependents.ts","webpack://G2Plot/../../src/util/graphics.ts","webpack://G2Plot/../../src/util/helper.ts","webpack://G2Plot/../../src/util/bbox.ts","webpack://G2Plot/../../src/util/coordinate.ts","webpack://G2Plot/../../src/util/scale.ts","webpack://G2Plot/../../src/util/axis.ts","webpack://G2Plot/../../src/facet/facet.ts","webpack://G2Plot/../../src/facet/index.ts","webpack://G2Plot/../../../src/interaction/action/base.ts","webpack://G2Plot/../../../src/interaction/action/callback.ts","webpack://G2Plot/../../../src/interaction/action/register.ts","webpack://G2Plot/../../../../src/geometry/shape/util/path.ts","webpack://G2Plot/../../../src/interaction/action/util.ts","webpack://G2Plot/../../src/interaction/context.ts","webpack://G2Plot/../../src/interaction/interaction.ts","webpack://G2Plot/../../src/interaction/grammar-interaction.ts","webpack://G2Plot/../../src/interaction/index.ts","webpack://G2Plot/../../../src/theme/util/create-by-style-sheet.ts","webpack://G2Plot/../../../src/theme/style-sheet/light.ts","webpack://G2Plot/../../../src/theme/util/create-theme.ts","webpack://G2Plot/../../src/theme/index.ts","webpack://G2Plot/../../src/util/tooltip.ts","webpack://G2Plot/../../src/util/padding.ts","webpack://G2Plot/../../../src/chart/controller/index.ts","webpack://G2Plot/../../../src/chart/controller/coordinate.ts","webpack://G2Plot/../../src/chart/event.ts","webpack://G2Plot/../../../src/chart/layout/index.ts","webpack://G2Plot/../../../src/chart/util/scale-pool.ts","webpack://G2Plot/../../../src/chart/layout/padding-cal.ts","webpack://G2Plot/../../../src/chart/layout/auto.ts","webpack://G2Plot/../../../src/chart/util/sync-view-padding.ts","webpack://G2Plot/../../src/chart/view.ts","webpack://G2Plot/../../src/chart/chart.ts","webpack://G2Plot/../../../src/chart/controller/base.ts","webpack://G2Plot/../../../src/chart/controller/tooltip.ts","webpack://G2Plot/../../../src/animate/animation/index.ts","webpack://G2Plot/../../src/animate/index.ts","webpack://G2Plot/../../../src/geometry/shape/constant.ts","webpack://G2Plot/../../../src/geometry/element/index.ts","webpack://G2Plot/../../../src/geometry/label/index.ts","webpack://G2Plot/../../../src/geometry/shape/base.ts","webpack://G2Plot/../../../src/geometry/util/is-model-change.ts","webpack://G2Plot/../../../src/geometry/util/parse-fields.ts","webpack://G2Plot/../../../src/geometry/util/diff.ts","webpack://G2Plot/../../src/geometry/base.ts","webpack://G2Plot/../../../src/geometry/util/group-data.ts","webpack://G2Plot/../../src/util/transform.ts","webpack://G2Plot/../../../../src/geometry/label/util/index.ts","webpack://G2Plot/../../src/component/labels.ts","webpack://G2Plot/../../src/component/update-label.ts","webpack://G2Plot/../../../src/geometry/label/base.ts","webpack://G2Plot/../../src/util/attr.ts","webpack://G2Plot/../../src/util/marker.ts","webpack://G2Plot/../../src/util/legend.ts","webpack://G2Plot/../../../../src/geometry/shape/util/get-path-points.ts","webpack://G2Plot/../../../../src/geometry/shape/util/get-style.ts","webpack://G2Plot/../../../../src/geometry/shape/util/split-points.ts","webpack://G2Plot/../../../../src/geometry/shape/line/util.ts","webpack://G2Plot/../../../../src/geometry/shape/line/index.ts","webpack://G2Plot/../src/core.ts","webpack://G2Plot/../../../src/theme/style-sheet/dark.ts","webpack://G2Plot/../../src/geometry/path.ts","webpack://G2Plot/../../../../src/geometry/shape/area/util.ts","webpack://G2Plot/../../../../src/geometry/shape/area/index.ts","webpack://G2Plot/../../src/geometry/area.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/index.ts","webpack://G2Plot/../../src/geometry/edge.ts","webpack://G2Plot/../../src/geometry/heatmap.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/util.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/index.ts","webpack://G2Plot/../../../src/geometry/util/shape-size.ts","webpack://G2Plot/../../src/geometry/interval.ts","webpack://G2Plot/../../src/geometry/line.ts","webpack://G2Plot/../../../../src/geometry/shape/point/util.ts","webpack://G2Plot/../../../../src/geometry/shape/point/index.ts","webpack://G2Plot/../../src/geometry/point.ts","webpack://G2Plot/../../../../src/geometry/shape/polygon/index.ts","webpack://G2Plot/../../src/geometry/polygon.ts","webpack://G2Plot/../../../../src/geometry/shape/schema/index.ts","webpack://G2Plot/../../src/geometry/schema.ts","webpack://G2Plot/../../../../src/geometry/shape/violin/index.ts","webpack://G2Plot/../../src/geometry/violin.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/util.ts","webpack://G2Plot/../../../../src/geometry/shape/area/line.ts","webpack://G2Plot/../../../../src/geometry/shape/area/smooth.ts","webpack://G2Plot/../../../../src/geometry/shape/area/smooth-line.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/arc.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/smooth.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/vhv.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/funnel.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/hollow-rect.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/line.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/pyramid.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/tick.ts","webpack://G2Plot/../../../../src/geometry/shape/line/step.ts","webpack://G2Plot/../../../../src/geometry/shape/schema/box.ts","webpack://G2Plot/../../../../src/geometry/shape/schema/candle.ts","webpack://G2Plot/../../../../src/geometry/shape/polygon/square.ts","webpack://G2Plot/../../../../src/geometry/shape/point/hollow.ts","webpack://G2Plot/../../../../src/geometry/shape/point/image.ts","webpack://G2Plot/../../../../src/geometry/shape/point/solid.ts","webpack://G2Plot/../../../../src/geometry/shape/violin/smooth.ts","webpack://G2Plot/../../../../src/geometry/shape/violin/hollow.ts","webpack://G2Plot/../../../src/geometry/label/interval.ts","webpack://G2Plot/../../../src/geometry/label/polar.ts","webpack://G2Plot/../../../src/geometry/label/pie.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/pie/util.ts","webpack://G2Plot/../../../../src/geometry/label/layout/overlap.ts","webpack://G2Plot/../../src/util/collision-detect.ts","webpack://G2Plot/../../../../src/geometry/label/util/createWorker.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/worker/hide-overlap.ts","webpack://G2Plot/../../../../src/geometry/label/layout/hide-overlap.ts","webpack://G2Plot/../../src/util/color.ts","webpack://G2Plot/../../src/util/context.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/interval/adjust-position.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/point/adjust-position.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/path/adjust-position.ts","webpack://G2Plot/../../src/util/text.ts","webpack://G2Plot/../../../src/animate/animation/util.ts","webpack://G2Plot/../../../src/animate/animation/sector-path-update.ts","webpack://G2Plot/../../../src/animate/animation/zoom.ts","webpack://G2Plot/../../src/util/facet.ts","webpack://G2Plot/../../src/facet/circle.ts","webpack://G2Plot/../../src/facet/list.ts","webpack://G2Plot/../../src/facet/matrix.ts","webpack://G2Plot/../../src/facet/mirror.ts","webpack://G2Plot/../../src/facet/rect.ts","webpack://G2Plot/../../src/facet/tree.ts","webpack://G2Plot/../../src/util/stat.ts","webpack://G2Plot/../../src/util/annotation.ts","webpack://G2Plot/../../../src/chart/controller/annotation.ts","webpack://G2Plot/../../src/util/grid.ts","webpack://G2Plot/../../../src/chart/controller/axis.ts","webpack://G2Plot/../../src/util/direction.ts","webpack://G2Plot/../../../src/chart/controller/legend.ts","webpack://G2Plot/../../../src/chart/controller/slider.ts","webpack://G2Plot/../../../src/chart/controller/scrollbar.ts","webpack://G2Plot/../../../src/interaction/action/active-region.ts","webpack://G2Plot/../../../../../src/interaction/action/component/tooltip/geometry.ts","webpack://G2Plot/../../../../../src/interaction/action/component/tooltip/sibling.ts","webpack://G2Plot/../../../../../src/interaction/action/component/tooltip/ellipsis-text.ts","webpack://G2Plot/../../../../src/interaction/action/element/state-base.ts","webpack://G2Plot/../../../../src/interaction/action/element/state.ts","webpack://G2Plot/../../../../src/interaction/action/element/active.ts","webpack://G2Plot/../../../../src/interaction/action/element/link-by-color.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-state.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-active.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-state.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-active.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight-util.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-highlight.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight-by-color.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight-by-x.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-highlight.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-selected.ts","webpack://G2Plot/../../../../src/interaction/action/element/selected.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-selected.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-state.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-active.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-highlight.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-highlight-util.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-selected.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-unchecked.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-checked.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-focus.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-radio.ts","webpack://G2Plot/../../../../src/interaction/action/mask/base.ts","webpack://G2Plot/../../../../src/interaction/action/mask/circle.ts","webpack://G2Plot/../../../../src/interaction/action/mask/rect.ts","webpack://G2Plot/../../../../src/interaction/action/mask/dim-rect.ts","webpack://G2Plot/../../../../src/interaction/action/mask/path.ts","webpack://G2Plot/../../../../src/interaction/action/mask/smooth-path.ts","webpack://G2Plot/../../../../src/interaction/action/data/range-filter.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/base.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/rect.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/dim-rect.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/circle.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/path.ts","webpack://G2Plot/../../../../../src/interaction/action/mask/multiple/smooth-path.ts","webpack://G2Plot/../../../src/interaction/action/cursor.ts","webpack://G2Plot/../../../../src/interaction/action/data/filter.ts","webpack://G2Plot/../../../../src/interaction/action/data/sibling-filter.ts","webpack://G2Plot/../../../../src/interaction/action/element/filter.ts","webpack://G2Plot/../../../../src/interaction/action/element/sibling-filter.ts","webpack://G2Plot/../../../../src/interaction/action/view/button.ts","webpack://G2Plot/../../../../src/interaction/action/view/drag.ts","webpack://G2Plot/../../../../src/interaction/action/view/move.ts","webpack://G2Plot/../../../../src/interaction/action/view/scale-transform.ts","webpack://G2Plot/../../../../src/interaction/action/view/scale-translate.ts","webpack://G2Plot/../../../../src/interaction/action/view/scale-zoom.ts","webpack://G2Plot/../../../../src/interaction/action/view/mousewheel-scroll.ts","webpack://G2Plot/../../../../../src/interaction/action/component/axis/axis-description.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/pie/distribute.ts","webpack://G2Plot/../../../../src/geometry/label/layout/limit-in-shape.ts","webpack://G2Plot/../../../../src/geometry/label/layout/limit-in-canvas.ts","webpack://G2Plot/../../../../src/geometry/label/layout/limit-in-plot.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/pie/outer.ts","webpack://G2Plot/../../../../src/geometry/label/layout/adjust-color.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/interval/hide-overlap.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/pie/spider.ts","webpack://G2Plot/../../../src/animate/animation/fade.ts","webpack://G2Plot/../../../src/animate/animation/grow-in.ts","webpack://G2Plot/../../../src/animate/animation/scale-in.ts","webpack://G2Plot/../../../src/animate/animation/wave-in.ts","webpack://G2Plot/../../../src/animate/animation/position-update.ts","webpack://G2Plot/../../../src/animate/animation/path-in.ts","webpack://G2Plot/../src/add-event-listener.ts","webpack://G2Plot/../src/create-dom.ts","webpack://G2Plot/../src/get-style.ts","webpack://G2Plot/../src/get-outer-height.ts","webpack://G2Plot/../src/get-height.ts","webpack://G2Plot/../src/get-outer-width.ts","webpack://G2Plot/../src/get-width.ts","webpack://G2Plot/../src/modify-css.ts","webpack://G2Plot/./src/adaptor/common.ts","webpack://G2Plot/../../src/abstract/group-component.ts","webpack://G2Plot/../src/util.ts","webpack://G2Plot/../src/line.ts","webpack://G2Plot/../src/bezier.ts","webpack://G2Plot/../src/quadratic.ts","webpack://G2Plot/../src/cubic.ts","webpack://G2Plot/../src/ellipse.ts","webpack://G2Plot/../src/arc.ts","webpack://G2Plot/../src/segments.ts","webpack://G2Plot/../src/polyline.ts","webpack://G2Plot/./node_modules/_gl-matrix@3.4.3@gl-matrix/esm/common.js","webpack://G2Plot/./src/adaptor/geometries/index.ts","webpack://G2Plot/../../src/tooltip/css-const.ts","webpack://G2Plot/../../src/util/matrix.ts","webpack://G2Plot/../../src/util/draw.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_root.js","webpack://G2Plot/../../src/util/arrow.ts","webpack://G2Plot/../../src/util/svg.ts","webpack://G2Plot/./node_modules/_tslib@1.14.1@tslib/tslib.es6.js","webpack://G2Plot/./src/adaptor/geometries/base.ts","webpack://G2Plot/../src/parse-path.ts","webpack://G2Plot/../src/catmull-rom-2-bezier.ts","webpack://G2Plot/../src/parse-path-string.ts","webpack://G2Plot/../src/path-2-absolute.ts","webpack://G2Plot/../../src/process/arc-2-cubic.ts","webpack://G2Plot/../src/get-arc-params.ts","webpack://G2Plot/../src/path-2-segments.ts","webpack://G2Plot/../src/get-line-intersect.ts","webpack://G2Plot/../src/point-in-polygon.ts","webpack://G2Plot/../src/is-polygons-intersect.ts","webpack://G2Plot/../../src/util/label.ts","webpack://G2Plot/./src/utils/tooltip.ts","webpack://G2Plot/../../src/adjusts/adjust.ts","webpack://G2Plot/../../src/tick-method/register.ts","webpack://G2Plot/../../src/category/base.ts","webpack://G2Plot/../src/fecha.ts","webpack://G2Plot/../../src/util/time.ts","webpack://G2Plot/../../src/util/bisector.ts","webpack://G2Plot/../../src/category/time.ts","webpack://G2Plot/../../src/continuous/base.ts","webpack://G2Plot/../../src/continuous/linear.ts","webpack://G2Plot/../../src/util/math.ts","webpack://G2Plot/../../src/continuous/log.ts","webpack://G2Plot/../../src/continuous/pow.ts","webpack://G2Plot/../../src/continuous/time.ts","webpack://G2Plot/../../src/continuous/quantize.ts","webpack://G2Plot/../../src/continuous/quantile.ts","webpack://G2Plot/../../src/identity/index.ts","webpack://G2Plot/../../src/tick-method/cat.ts","webpack://G2Plot/../../src/util/d3-linear.ts","webpack://G2Plot/../../src/util/interval.ts","webpack://G2Plot/../../src/util/strict-limit.ts","webpack://G2Plot/../../src/util/pretty-number.ts","webpack://G2Plot/../../src/util/extended.ts","webpack://G2Plot/../../src/util/pretty.ts","webpack://G2Plot/../../src/tick-method/quantile.ts","webpack://G2Plot/../../src/tick-method/time-pretty.ts","webpack://G2Plot/../../src/tick-method/index.ts","webpack://G2Plot/../../src/tick-method/time-cat.ts","webpack://G2Plot/../../src/tick-method/linear.ts","webpack://G2Plot/../../src/tick-method/r-prettry.ts","webpack://G2Plot/../../src/tick-method/time.ts","webpack://G2Plot/../../src/tick-method/log.ts","webpack://G2Plot/../../src/tick-method/pow.ts","webpack://G2Plot/../../src/tick-method/d3-linear.ts","webpack://G2Plot/../../src/util/path.ts","webpack://G2Plot/../../src/shape/base.ts","webpack://G2Plot/../../src/shape/circle.ts","webpack://G2Plot/../../src/shape/ellipse.ts","webpack://G2Plot/../../src/shape/image.ts","webpack://G2Plot/../../../src/util/in-stroke/line.ts","webpack://G2Plot/../../src/shape/line.ts","webpack://G2Plot/../../src/shape/marker.ts","webpack://G2Plot/../../../src/util/in-path/point-in-path.ts","webpack://G2Plot/../../../src/util/in-path/polygon.ts","webpack://G2Plot/../../../src/util/in-stroke/arc.ts","webpack://G2Plot/../../src/shape/path.ts","webpack://G2Plot/../../../src/util/in-stroke/polyline.ts","webpack://G2Plot/../../src/shape/polygon.ts","webpack://G2Plot/../../src/shape/polyline.ts","webpack://G2Plot/../../src/shape/rect.ts","webpack://G2Plot/../../../src/util/in-stroke/rect-radius.ts","webpack://G2Plot/../../../src/util/in-stroke/rect.ts","webpack://G2Plot/../../src/shape/text.ts","webpack://G2Plot/./src/constant.ts","webpack://G2Plot/../../src/abstract/html-component.ts","webpack://G2Plot/../../src/util/state.ts","webpack://G2Plot/./src/utils/padding.ts","webpack://G2Plot/./src/adaptor/pattern.ts","webpack://G2Plot/./src/utils/transform/percent.ts","webpack://G2Plot/./src/plots/funnel/constant.ts","webpack://G2Plot/./src/plots/tiny-line/utils.ts","webpack://G2Plot/../../src/abstract/component.ts","webpack://G2Plot/../../src/shape/dom.ts","webpack://G2Plot/../../../src/shape/marker/symbols.ts","webpack://G2Plot/../../../src/shape/marker/index.ts","webpack://G2Plot/../../src/util/format.ts","webpack://G2Plot/./node_modules/_gl-matrix@3.4.3@gl-matrix/esm/vec2.js","webpack://G2Plot/./src/plots/column/adaptor.ts","webpack://G2Plot/./src/plots/tiny-line/constants.ts","webpack://G2Plot/./src/utils/hierarchy/util.ts","webpack://G2Plot/../../src/util/arc-params.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isBuffer.js","webpack://G2Plot/./src/utils/data.ts","webpack://G2Plot/./src/utils/view.ts","webpack://G2Plot/./src/core/locale.ts","webpack://G2Plot/./src/plots/funnel/geometries/common.ts","webpack://G2Plot/./src/plots/tiny-area/adaptor.ts","webpack://G2Plot/./src/interactions/actions/drill-down.ts","webpack://G2Plot/./src/plots/venn/constant.ts","webpack://G2Plot/../../src/event/graph-event.ts","webpack://G2Plot/../../src/abstract/base.ts","webpack://G2Plot/./node_modules/_gl-matrix@3.4.3@gl-matrix/esm/vec3.js","webpack://G2Plot/../../src/util/offscreen.ts","webpack://G2Plot/../../src/util/event.ts","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/linear.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/quad.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/cubic.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/poly.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/sin.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/math.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/exp.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/circle.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/bounce.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/back.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/elastic.js","webpack://G2Plot/../../src/animate/register.ts","webpack://G2Plot/../../src/abstract/container.ts","webpack://G2Plot/../../src/abstract/element.ts","webpack://G2Plot/./node_modules/_detect-browser@5.3.0@detect-browser/es/index.js","webpack://G2Plot/../../src/util/parse.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_freeGlobal.js","webpack://G2Plot/./src/utils/pick.ts","webpack://G2Plot/./src/utils/number.ts","webpack://G2Plot/./src/utils/pattern/util.ts","webpack://G2Plot/./src/plots/line/adaptor.ts","webpack://G2Plot/./src/plots/funnel/geometries/basic.ts","webpack://G2Plot/./src/plots/gauge/constants.ts","webpack://G2Plot/./src/plots/progress/adaptor.ts","webpack://G2Plot/./src/plots/progress/utils.ts","webpack://G2Plot/./src/plots/stock/constant.ts","webpack://G2Plot/./src/plots/box/constant.ts","webpack://G2Plot/./src/interactions/drill-down.ts","webpack://G2Plot/./src/plots/dual-axes/util/option.ts","webpack://G2Plot/./src/plots/sankey/constant.ts","webpack://G2Plot/./src/plots/sunburst/constant.ts","webpack://G2Plot/./src/plots/venn/interactions/util.ts","webpack://G2Plot/./src/plots/waterfall/constant.ts","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/cluster.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/count.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/iterator.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/index.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/each.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/eachAfter.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/eachBefore.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/find.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/sum.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/sort.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/path.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/ancestors.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/descendants.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/leaves.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/hierarchy/links.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/pack/enclose.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/array.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/pack/siblings.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/accessors.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/constant.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/pack/index.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/round.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/dice.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/partition.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/stratify.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/tree.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/slice.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/squarify.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/index.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/binary.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/sliceDice.js","webpack://G2Plot/./node_modules/_d3-hierarchy@2.0.0@d3-hierarchy/src/treemap/resquarify.js","webpack://G2Plot/../../src/bbox/register.ts","webpack://G2Plot/../../src/bbox/rect.ts","webpack://G2Plot/../../src/bbox/circle.ts","webpack://G2Plot/../../src/bbox/util.ts","webpack://G2Plot/../../src/bbox/polyline.ts","webpack://G2Plot/../../src/bbox/path.ts","webpack://G2Plot/../../src/bbox/index.ts","webpack://G2Plot/../../src/bbox/polygon.ts","webpack://G2Plot/../../src/bbox/text.ts","webpack://G2Plot/../../src/bbox/line.ts","webpack://G2Plot/../../src/bbox/ellipse.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_nodeUtil.js","webpack://G2Plot/../../src/abstract/group.ts","webpack://G2Plot/../../src/abstract/shape.ts","webpack://G2Plot/./src/utils/invariant.ts","webpack://G2Plot/./src/utils/deep-assign.ts","webpack://G2Plot/./src/utils/kebab-case.ts","webpack://G2Plot/./src/utils/statistic.ts","webpack://G2Plot/./src/utils/pattern/index.ts","webpack://G2Plot/./src/core/global.ts","webpack://G2Plot/./src/adaptor/geometries/point.ts","webpack://G2Plot/./src/adaptor/geometries/polygon.ts","webpack://G2Plot/./node_modules/_size-sensor@1.0.1@size-sensor/lib/debounce.js","webpack://G2Plot/./node_modules/_size-sensor@1.0.1@size-sensor/lib/constant.js","webpack://G2Plot/./src/plots/mix/index.ts","webpack://G2Plot/./src/plots/mix/utils.ts","webpack://G2Plot/./src/plots/area/index.ts","webpack://G2Plot/./src/plots/area/adaptor.ts","webpack://G2Plot/./src/plots/bar/index.ts","webpack://G2Plot/./src/plots/bar/adaptor.ts","webpack://G2Plot/./src/adaptor/brush.ts","webpack://G2Plot/./src/interactions/brush.ts","webpack://G2Plot/./src/utils/conversion.ts","webpack://G2Plot/./src/plots/column/index.ts","webpack://G2Plot/./src/plots/funnel/index.ts","webpack://G2Plot/./src/plots/funnel/adaptor.ts","webpack://G2Plot/./src/plots/funnel/geometries/compare.ts","webpack://G2Plot/./src/plots/funnel/interactions/index.ts","webpack://G2Plot/./src/plots/gauge/index.ts","webpack://G2Plot/./src/plots/gauge/adaptor.ts","webpack://G2Plot/./src/plots/gauge/utils.ts","webpack://G2Plot/./src/plots/histogram/index.ts","webpack://G2Plot/./src/utils/transform/histogram.ts","webpack://G2Plot/./src/plots/histogram/adaptor.ts","webpack://G2Plot/./src/plots/histogram/constant.ts","webpack://G2Plot/./src/plots/line/index.ts","webpack://G2Plot/./src/plots/pie/index.ts","webpack://G2Plot/./src/plots/pie/adaptor.ts","webpack://G2Plot/./src/plots/pie/contants.ts","webpack://G2Plot/./src/plots/pie/interactions/index.ts","webpack://G2Plot/./src/utils/matrix.ts","webpack://G2Plot/./src/plots/pie/utils.ts","webpack://G2Plot/./src/plots/progress/index.ts","webpack://G2Plot/./src/plots/progress/constants.ts","webpack://G2Plot/./src/plots/ring-progress/index.ts","webpack://G2Plot/./src/plots/ring-progress/adaptor.ts","webpack://G2Plot/./src/plots/scatter/index.ts","webpack://G2Plot/./src/plots/scatter/adaptor.ts","webpack://G2Plot/./src/interactions/drag-move.ts","webpack://G2Plot/./src/plots/stock/index.ts","webpack://G2Plot/./src/plots/stock/adaptor.ts","webpack://G2Plot/./src/plots/stock/utils.ts","webpack://G2Plot/./src/plots/tiny-area/index.ts","webpack://G2Plot/./src/plots/tiny-column/index.ts","webpack://G2Plot/./src/plots/tiny-column/adaptor.ts","webpack://G2Plot/./src/plots/tiny-line/index.ts","webpack://G2Plot/./src/plots/tiny-line/adaptor.ts","webpack://G2Plot/./src/plots/bidirectional-bar/constant.ts","webpack://G2Plot/./src/plots/bidirectional-bar/utils.ts","webpack://G2Plot/./src/plots/box/utils.ts","webpack://G2Plot/./src/plots/bullet/utils.ts","webpack://G2Plot/./src/plots/chord/constant.ts","webpack://G2Plot/./src/plots/circle-packing/constant.ts","webpack://G2Plot/./src/plots/dual-axes/constant.ts","webpack://G2Plot/./src/plots/dual-axes/types.ts","webpack://G2Plot/./src/plots/liquid/utils.ts","webpack://G2Plot/./src/plots/liquid/shapes/liquid.ts","webpack://G2Plot/./src/plots/sankey/helper.ts","webpack://G2Plot/./src/plots/sankey/sankey/align.ts","webpack://G2Plot/./src/utils/hierarchy/treemap.ts","webpack://G2Plot/./src/plots/treemap/utils.ts","webpack://G2Plot/(webpack)/buildin/harmony-module.js","webpack://G2Plot/./node_modules/_fmin@0.0.2@fmin/build/fmin.js","webpack://G2Plot/./src/plots/venn/layout/circleintersection.ts","webpack://G2Plot/./src/plots/violin/constant.ts","webpack://G2Plot/./src/plots/violin/utils.ts","webpack://G2Plot/./src/plots/waterfall/utils.ts","webpack://G2Plot/./src/plots/word-cloud/constant.ts","webpack://G2Plot/./src/plots/word-cloud/utils.ts","webpack://G2Plot/./node_modules/_d3-timer@1.0.10@d3-timer/src/timer.js","webpack://G2Plot/./node_modules/_d3-color@3.1.0@d3-color/src/define.js","webpack://G2Plot/./node_modules/_d3-color@3.1.0@d3-color/src/color.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/basis.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/constant.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/color.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/rgb.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/basisClosed.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/numberArray.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/array.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/date.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/number.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/object.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/string.js","webpack://G2Plot/./node_modules/_d3-interpolate@3.0.1@d3-interpolate/src/value.js","webpack://G2Plot/../../src/animate/timeline.ts","webpack://G2Plot/../../src/event/event-contoller.ts","webpack://G2Plot/../../src/abstract/canvas.ts","webpack://G2Plot/../../src/util/graphic.ts","webpack://G2Plot/../../src/annotation/line.ts","webpack://G2Plot/../../src/annotation/text.ts","webpack://G2Plot/../../src/annotation/arc.ts","webpack://G2Plot/../../src/annotation/region.ts","webpack://G2Plot/../../src/annotation/image.ts","webpack://G2Plot/../../src/annotation/data-marker.ts","webpack://G2Plot/../../src/annotation/data-region.ts","webpack://G2Plot/../../src/annotation/region-filter.ts","webpack://G2Plot/../../src/annotation/shape.ts","webpack://G2Plot/../../src/annotation/html.ts","webpack://G2Plot/../../src/axis/base.ts","webpack://G2Plot/../../../src/axis/overlap/auto-ellipsis.ts","webpack://G2Plot/../../../src/axis/overlap/auto-hide.ts","webpack://G2Plot/../../../src/axis/overlap/auto-rotate.ts","webpack://G2Plot/../../src/axis/line.ts","webpack://G2Plot/../../src/axis/circle.ts","webpack://G2Plot/../../src/defs/gradient.ts","webpack://G2Plot/../../src/defs/shadow.ts","webpack://G2Plot/../../src/defs/arrow.ts","webpack://G2Plot/../../src/defs/clip.ts","webpack://G2Plot/../../src/defs/pattern.ts","webpack://G2Plot/../../src/defs/index.ts","webpack://G2Plot/../src/canvas.ts","webpack://G2Plot/../../src/crosshair/base.ts","webpack://G2Plot/../../src/crosshair/line.ts","webpack://G2Plot/../../src/crosshair/circle.ts","webpack://G2Plot/../../src/crosshair/html-theme.ts","webpack://G2Plot/../../src/crosshair/css-const.ts","webpack://G2Plot/../../src/crosshair/html.ts","webpack://G2Plot/../../src/trend/constant.ts","webpack://G2Plot/../../src/trend/path.ts","webpack://G2Plot/../../src/trend/trend.ts","webpack://G2Plot/../../src/slider/handler.ts","webpack://G2Plot/../../src/slider/constant.ts","webpack://G2Plot/../../src/slider/slider.ts","webpack://G2Plot/../../src/grid/base.ts","webpack://G2Plot/../../src/grid/circle.ts","webpack://G2Plot/../../src/grid/line.ts","webpack://G2Plot/../../src/legend/base.ts","webpack://G2Plot/../../src/legend/category.ts","webpack://G2Plot/../../src/legend/continuous.ts","webpack://G2Plot/../../src/tooltip/html-theme.ts","webpack://G2Plot/../../src/tooltip/html.ts","webpack://G2Plot/../../src/util/align.ts","webpack://G2Plot/../../src/util/hit.ts","webpack://G2Plot/../../src/scrollbar/scrollbar.ts","webpack://G2Plot/../../src/adjusts/dodge.ts","webpack://G2Plot/../../src/adjusts/jitter.ts","webpack://G2Plot/../../src/adjusts/stack.ts","webpack://G2Plot/../../src/adjusts/symmetric.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/stubFalse.js","webpack://G2Plot/./src/index.ts","webpack://G2Plot/./node_modules/_process@0.11.10@process/browser.js","webpack://G2Plot/./src/utils/dom.ts","webpack://G2Plot/./src/utils/flow.ts","webpack://G2Plot/./src/utils/geometry.ts","webpack://G2Plot/./src/utils/label.ts","webpack://G2Plot/./src/utils/measure-text.ts","webpack://G2Plot/./src/utils/context.ts","webpack://G2Plot/./src/utils/path.ts","webpack://G2Plot/./src/utils/template.ts","webpack://G2Plot/./src/utils/pattern/dot.ts","webpack://G2Plot/./src/utils/pattern/line.ts","webpack://G2Plot/./src/utils/pattern/square.ts","webpack://G2Plot/./src/locales/en_US.ts","webpack://G2Plot/./src/locales/zh_CN.ts","webpack://G2Plot/./src/adaptor/geometries/area.ts","webpack://G2Plot/./src/adaptor/geometries/edge.ts","webpack://G2Plot/./src/adaptor/geometries/interval.ts","webpack://G2Plot/./src/adaptor/geometries/line.ts","webpack://G2Plot/./src/adaptor/geometries/schema.ts","webpack://G2Plot/./src/adaptor/geometries/violin.ts","webpack://G2Plot/./node_modules/_size-sensor@1.0.1@size-sensor/lib/index.js","webpack://G2Plot/./node_modules/_size-sensor@1.0.1@size-sensor/lib/sensorPool.js","webpack://G2Plot/./node_modules/_size-sensor@1.0.1@size-sensor/lib/id.js","webpack://G2Plot/./node_modules/_size-sensor@1.0.1@size-sensor/lib/sensors/index.js","webpack://G2Plot/./node_modules/_size-sensor@1.0.1@size-sensor/lib/sensors/object.js","webpack://G2Plot/./node_modules/_size-sensor@1.0.1@size-sensor/lib/sensors/resizeObserver.js","webpack://G2Plot/./src/lab.ts","webpack://G2Plot/./src/plots/mix/adaptor.ts","webpack://G2Plot/./src/plots/area/constants.ts","webpack://G2Plot/./src/interactions/actions/reset-button.ts","webpack://G2Plot/./src/adaptor/connected-area.ts","webpack://G2Plot/./src/adaptor/conversion-tag.ts","webpack://G2Plot/./src/plots/bar/constants.ts","webpack://G2Plot/./src/plots/column/constants.ts","webpack://G2Plot/./src/plots/funnel/geometries/dynamic-height.ts","webpack://G2Plot/./src/plots/funnel/geometries/facet.ts","webpack://G2Plot/./src/plots/funnel/interactions/funnel-conversion-tag.ts","webpack://G2Plot/./src/plots/gauge/shapes/indicator.ts","webpack://G2Plot/./src/plots/gauge/shapes/meter-gauge.ts","webpack://G2Plot/./src/plots/line/constants.ts","webpack://G2Plot/./src/plots/line/interactions/index.ts","webpack://G2Plot/./src/plots/line/interactions/marker-active.ts","webpack://G2Plot/./src/plots/pie/interactions/actions/legend-active.ts","webpack://G2Plot/./src/plots/pie/interactions/actions/statistic-active.ts","webpack://G2Plot/./src/plots/pie/interactions/util.ts","webpack://G2Plot/./src/plots/ring-progress/constants.ts","webpack://G2Plot/./src/plots/scatter/util.ts","webpack://G2Plot/./node_modules/_d3-regression@1.3.10@d3-regression/dist/d3-regression.esm.js","webpack://G2Plot/./src/plots/scatter/constant.ts","webpack://G2Plot/./src/plots/scatter/interactions/index.ts","webpack://G2Plot/./src/plots/tiny-area/constants.ts","webpack://G2Plot/./src/plots/tiny-column/constants.ts","webpack://G2Plot/./src/plots/mix/interactions/index.ts","webpack://G2Plot/./src/plots/mix/interactions/association.ts","webpack://G2Plot/./src/plots/mix/interactions/utils.ts","webpack://G2Plot/./src/plots/bidirectional-bar/index.ts","webpack://G2Plot/./src/plots/bidirectional-bar/adaptor.ts","webpack://G2Plot/./src/plots/box/index.ts","webpack://G2Plot/./src/plots/box/adaptor.ts","webpack://G2Plot/./src/plots/bullet/index.ts","webpack://G2Plot/./src/plots/bullet/adaptor.ts","webpack://G2Plot/./src/plots/bullet/constant.ts","webpack://G2Plot/./src/plots/chord/index.ts","webpack://G2Plot/./src/plots/chord/adaptor.ts","webpack://G2Plot/./src/utils/transform/chord.ts","webpack://G2Plot/./src/plots/circle-packing/index.ts","webpack://G2Plot/./src/plots/circle-packing/adaptor.ts","webpack://G2Plot/./src/plots/circle-packing/utils.ts","webpack://G2Plot/./src/utils/hierarchy/pack.ts","webpack://G2Plot/./src/plots/circle-packing/interactions/index.ts","webpack://G2Plot/./src/plots/dual-axes/index.ts","webpack://G2Plot/./src/plots/dual-axes/adaptor.ts","webpack://G2Plot/./src/plots/dual-axes/util/geometry.ts","webpack://G2Plot/./src/plots/dual-axes/util/legend.ts","webpack://G2Plot/./src/plots/dual-axes/util/render-sider.ts","webpack://G2Plot/./src/plots/facet/index.ts","webpack://G2Plot/./src/plots/facet/adaptor.ts","webpack://G2Plot/./src/plots/facet/utils.ts","webpack://G2Plot/./src/plots/facet/constant.ts","webpack://G2Plot/./src/plots/heatmap/index.ts","webpack://G2Plot/./src/plots/heatmap/adaptor.ts","webpack://G2Plot/./src/plots/heatmap/constant.ts","webpack://G2Plot/./src/plots/heatmap/shapes/circle.ts","webpack://G2Plot/./src/plots/heatmap/shapes/square.ts","webpack://G2Plot/./src/plots/liquid/index.ts","webpack://G2Plot/./src/plots/liquid/adaptor.ts","webpack://G2Plot/./src/plots/liquid/constants.ts","webpack://G2Plot/./src/plots/radar/index.ts","webpack://G2Plot/./src/plots/radar/adaptor.ts","webpack://G2Plot/./src/plots/radar/interactions/index.ts","webpack://G2Plot/./src/plots/radar/interactions/radar-tooltip-action.ts","webpack://G2Plot/./src/plots/radial-bar/index.ts","webpack://G2Plot/./src/plots/radial-bar/adaptor.ts","webpack://G2Plot/./src/plots/radial-bar/utils.ts","webpack://G2Plot/./src/plots/radial-bar/constant.ts","webpack://G2Plot/./src/plots/rose/index.ts","webpack://G2Plot/./src/plots/rose/adaptor.ts","webpack://G2Plot/./src/plots/rose/constant.ts","webpack://G2Plot/./src/plots/sankey/index.ts","webpack://G2Plot/./src/plots/sankey/adaptor.ts","webpack://G2Plot/./src/plots/sankey/circle.ts","webpack://G2Plot/./src/plots/sankey/layout.ts","webpack://G2Plot/./src/plots/sankey/sankey/index.ts","webpack://G2Plot/./src/plots/sankey/sankey/sankey.ts","webpack://G2Plot/./src/plots/sankey/sankey/helper.ts","webpack://G2Plot/./src/plots/sankey/interactions/index.ts","webpack://G2Plot/./src/plots/sankey/interactions/node-draggable.ts","webpack://G2Plot/./src/plots/sankey/interactions/actions/node-drag.ts","webpack://G2Plot/./src/plots/sunburst/index.ts","webpack://G2Plot/./src/plots/sunburst/adaptor.ts","webpack://G2Plot/./src/plots/sunburst/utils.ts","webpack://G2Plot/./src/utils/hierarchy/partition.ts","webpack://G2Plot/./src/plots/sunburst/interactions/index.ts","webpack://G2Plot/./src/plots/treemap/index.ts","webpack://G2Plot/./src/plots/treemap/adaptor.ts","webpack://G2Plot/./src/plots/treemap/constant.ts","webpack://G2Plot/./src/plots/treemap/interactions/index.ts","webpack://G2Plot/./src/plots/venn/index.ts","webpack://G2Plot/./src/plots/venn/adaptor.ts","webpack://G2Plot/./src/plots/venn/interactions/index.ts","webpack://G2Plot/./src/plots/venn/interactions/actions/active.ts","webpack://G2Plot/./src/plots/venn/interactions/actions/highlight.ts","webpack://G2Plot/./src/plots/venn/interactions/actions/selected.ts","webpack://G2Plot/./src/plots/venn/label.ts","webpack://G2Plot/./src/plots/venn/shape.ts","webpack://G2Plot/(webpack)/buildin/global.js","webpack://G2Plot/./src/plots/venn/utils.ts","webpack://G2Plot/./src/utils/color/blend.ts","webpack://G2Plot/./src/plots/venn/layout/diagram.ts","webpack://G2Plot/./src/plots/venn/layout/layout.ts","webpack://G2Plot/./src/plots/violin/index.ts","webpack://G2Plot/./src/plots/violin/adaptor.ts","webpack://G2Plot/./node_modules/_pdfast@0.2.0@pdfast/src/index.js","webpack://G2Plot/./node_modules/_pdfast@0.2.0@pdfast/src/helper.js","webpack://G2Plot/./src/utils/transform/quantile.ts","webpack://G2Plot/./src/plots/waterfall/index.ts","webpack://G2Plot/./src/plots/waterfall/adaptor.ts","webpack://G2Plot/./src/plots/waterfall/shape.ts","webpack://G2Plot/./src/plots/word-cloud/index.ts","webpack://G2Plot/./src/plots/word-cloud/adaptor.ts","webpack://G2Plot/./src/utils/transform/word-cloud.ts","webpack://G2Plot/./src/plots/word-cloud/shapes/word-cloud.ts","webpack://G2Plot/./src/plugin/index.ts","webpack://G2Plot/./src/types/index.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Symbol.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getRawTag.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_objectToString.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseGetTag.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isObjectLike.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isString.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_arrayEach.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_createBaseFor.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseFor.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseTimes.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseIsArguments.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isArguments.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_isIndex.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isLength.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseIsTypedArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseUnary.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isTypedArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_arrayLikeKeys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_isPrototype.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_overArg.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_nativeKeys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseKeys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isObject.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isFunction.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isArrayLike.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/keys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_createBaseEach.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseEach.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseForOwn.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/identity.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_castFunction.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/forEach.js","webpack://G2Plot/../src/fill-path.ts","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_listCacheClear.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/eq.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_assocIndexOf.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_listCacheDelete.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_listCacheGet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_listCacheHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_listCacheSet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_ListCache.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_stackClear.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_stackDelete.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_stackGet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_stackHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_isMasked.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_coreJsData.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_toSource.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseIsNative.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getValue.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getNative.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Map.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_nativeCreate.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_hashClear.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_hashDelete.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_hashGet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_hashHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_hashSet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Hash.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapCacheClear.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_isKeyable.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getMapData.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapCacheDelete.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapCacheGet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapCacheHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapCacheSet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_MapCache.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_stackSet.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Stack.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_setCacheAdd.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_setCacheHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_SetCache.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_arraySome.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_cacheHas.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_equalArrays.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Uint8Array.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_mapToArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_setToArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_equalByTag.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_arrayPush.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseGetAllKeys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_arrayFilter.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/stubArray.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getSymbols.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getAllKeys.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_equalObjects.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_DataView.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Promise.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_Set.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_WeakMap.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_getTag.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseIsEqualDeep.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/_baseIsEqual.js","webpack://G2Plot/./node_modules/_lodash-es@4.17.21@lodash-es/isEqual.js","webpack://G2Plot/../src/fill-path-by-diff.ts","webpack://G2Plot/../src/format-path.ts","webpack://G2Plot/../src/rect-path.ts","webpack://G2Plot/../../src/process/quad-2-cubic.ts","webpack://G2Plot/../../src/process/line-2-cubic.ts","webpack://G2Plot/../../src/process/segment-2-cubic.ts","webpack://G2Plot/../src/path-2-curve.ts","webpack://G2Plot/../src/path-intersection.ts","webpack://G2Plot/../src/parse-path-array.ts"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","isArrayLike","isFinite","length","contains","arr","indexOf","filter","func","result","index","push","difference","values","toString","isType","type","isNil","Array","isArray","_typeof","each","elements","len","isObject","k","keys","obj","isFunction","isMatch","attrs","_keys","isObjectLike","isPlainObject","getPrototypeOf","proto","find","predicate","_predicate","a","findIndex","fromIndex","firstValue","data","rst","flatten","concat","flattenDeep","reduce","prev","curr","Math","max","min","getRange","filterValues","v","isNaN","tmp","getMax","getMin","arrPrototype","splice","pull","_i","arguments","pullAt","indexes","last","previous","fn","init","remove","str","sortBy","comparer","b","keys_1","isString","prop","sort","uniq","cache","Map","item","has","set","union","sources","apply","tmpMap","j","val","head","startsWith","e","endsWith","every","some","groupBy","condition","groupToMap","paramscondition_1","replace","split","row","unique","groups","array","getWrapBehavior","action","wrapBehavior","method","numColorCache","numberToColor","num","color","parseRadius","radius","r1","r2","r3","r4","clamp","fixedBase","base","round","substr","parseFloat","toFixed","isNumber","isDecimal","isEven","isInteger","Number","isNegative","isNumberEqual","precision","abs","isOdd","isPositive","maxItem","Infinity","minItem","mod","DEGREE","PI","toDegree","radian","parseInt","RADIAN","toRadian","degree","lowerCase","toLowerCase","lowerFirst","charAt","substring","substitute","match","slice","undefined","upperCase","toUpperCase","upperFirst","getType","isArguments","isBoolean","isDate","isError","isNull","objectProto","isPrototype","Ctor","constructor","isRegExp","isUndefined","isElement","Element","HTMLDocument","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","f","setTimeout","cancelAnimationFrame","handler","webkitCancelAnimationFrame","mozCancelAnimationFrame","msCancelAnimationFrame","clearTimeout","_mix","dist","mix","src1","src2","src3","augment","args","clone","debounce","wait","immediate","timeout","context","later","callNow","resolver","TypeError","memoized","_deepMix","src","level","maxLevel","deepMix","extend","subclass","superclass","overrides","staticOverrides","Tmp","superObj","isEmpty","size","isEqual","other","valueKeys","otherKeys","map","identity","forEach","defaultValue","keyArr","path","idx","includes","options","leading","Date","now","throttled","remaining","trailing","cancel","prefix","isArraylike","ctx","memoize","text","font","fontSize","fontFamily","fontWeight","fontStyle","fontVariant","document","createElement","getContext","join","measureText","width","__spreadArrays","maxWidth","currentText","currentWidth","PLACEHOLDER_WIDTH","measureTextWidth","leftText","leftWidth","default_1","def","clear","delete","extendStatics","setPrototypeOf","__proto__","__extends","String","__","this","__assign","assign","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__esDecorate","ctor","descriptorIn","contextIn","initializers","extraInitializers","accept","_","kind","descriptor","done","access","addInitializer","__runInitializers","thisArg","useValue","__propKey","x","__setFunctionName","description","configurable","__metadata","metadataKey","metadataValue","metadata","__awaiter","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","then","__generator","body","y","g","label","sent","trys","ops","verb","iterator","op","pop","__createBinding","k2","writable","__exportStar","__values","__read","ar","error","__spread","il","jl","__spreadArray","to","from","pack","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","__importStar","__importDefault","default","__classPrivateFieldGet","receiver","state","__classPrivateFieldSet","__classPrivateFieldIn","tslib_1","require","deep_assign_1","deepAssign","dom_1","getContainerSize","flow_1","flow","invariant_1","invariant","LEVEL","log","kebab_case_1","kebabCase","label_1","transformLabel","measure_text_1","number_1","isBetween","isRealNumber","path_1","getSplinePath","pick_1","pick","statistic_1","renderGaugeStatistic","renderStatistic","template_1","template","view_1","addViewAnimation","findViewById","getSiblingViews","getViews","leftTranslate","out","transMat","mat3","fromTranslation","multiply","leftRotate","rad","rotateMat","fromRotation","leftScale","scaleMat","fromScaling","transform","actions","a1","matrix","direction","v1","v2","angleTo","direct","ang","vec2","angle","angleLargeThanPI","vertical","flag","formatPadding","padding","top","left","right","bottom","clearDom","container","children","childNodes","removeChild","hasClass","cName","className","RegExp","regionToBBox","region","start","end","minX","minY","maxX","maxY","height","pointsToBBox","points","xs","point","ys","createBBox","getValueByPercent","percent","getCirclePoint","center","cos","sin","near","pow","EPSILON","getBBoxWithClip","element","bbox","box1","box2","clipShape","getClip","clipBBox","getBBox","isGroup","minX_1","maxX_1","minY_1","maxY_1","getChildren","child","box","leftTop","applyToMatrix","leftBottom","rightTop","rightBottom","boxMinX","boxMaxX","boxMinY","boxMaxY","updateClip","newElement","newClipShape","clipCfg","attr","setClip","toPx","number","getTextPoint","position","offset","p1","p2","dx","dy","offsetPercent","sqrt","textColor","activeTextColor","uncheckedColor","lineColor","regionColor","verticalAxisRotate","horizontalAxisRotate","descriptionIconStroke","descriptionIconFill","getPixelRatio","devicePixelRatio","distance","x1","y1","x2","y2","inBox","intersectRect","mergeRegion","region1","region2","isSamePoint","point1","point2","glMatrix","Float32Array","fromMat4","copy","fromValues","m00","m01","m02","m10","m11","m12","m20","m21","m22","transpose","a01","a02","a12","invert","a00","a10","a11","a20","a21","a22","b01","b11","b21","det","adjoint","determinant","b00","b02","b10","b12","b20","b22","translate","rotate","scale","fromMat2d","fromQuat","z","w","z2","xx","yx","yy","zx","zy","zz","wx","wy","wz","normalFromMat4","a03","a13","a23","a30","a31","a32","a33","b03","b04","b05","b06","b07","b08","b09","projection","frob","hypot","add","subtract","multiplyScalar","multiplyScalarAndAdd","exactEquals","equals","a0","a2","a3","a4","a5","a6","a7","a8","b0","b1","b2","b3","b4","b5","b6","b7","b8","mul","sub","event_emitter_1","g2_1","util_1","size_sensor_1","utils_1","PLOT_CONTAINER_OPTIONS","Plot","_super","_this","getElementById","getDefaultOptions","createG2","bindEvents","renderer","xAxis","nice","autoRotate","autoHide","cfg","minGap","yAxis","animation","_a","defaultInteractions","chart","Chart","autoFit","getChartSize","localRefresh","setAttribute","chartSize","on","emit","render","animate","views","execAdaptor","bindSizeSensor","update","updateOption","setState","status","getAllElementsRecursively","ele","getData","getStates","stateObjects","states","geometry","changeData","changeSize","addAnnotations","annotations","view","incoming","controller","getController","current","getComponents","co","extra","annotation","id","removeAnnotations","destroy","unbindSizeSensor","off","removeAttribute","adaptor","getSchemaAdaptor","appendPadding","triggerResize","forceFit","unbind","SHAPE_TO_TAGS","rect","circle","line","marker","polyline","polygon","image","ellipse","dom","SVG_ATTR_MAP","opacity","fillStyle","fill","fillOpacity","strokeStyle","strokeOpacity","stroke","rx","ry","lineCap","lineJoin","lineWidth","lineDash","lineDashOffset","miterLimit","startArrow","endArrow","class","style","preserveAspectRatio","LAYER","DIRECTION","COMPONENT_TYPE","VIEW_LIFE_CIRCLE","GEOMETRY_LIFE_CIRCLE","PLOT_EVENTS","ELEMENT_STATE","GROUP_Z_INDEX","GROUP_ATTRS","ENGINES","getEngine","G","Error","registerEngine","engine","h","getComputedStyle","clientWidth","paddingLeft","paddingRight","clientHeight","paddingTop","paddingBottom","getElementSize","Base","destroyed","visible","show","changeVisible","hide","EE","toScaleString","Attribute","names","scales","linear","callback","_parseCfg","mapping","params","param","_toOriginParam","getLinearValue","steps","floor","leftPercent","getNames","getFields","field","getScale","defaultCallback","_getAttributeValue","_b","_c","_d","ret","isCategory","isLinear","Color","gradient","colorUtil","Opacity","Position","scaleX","scaleY","xi","yi","Shape","Size","ATTRIBUTE_MAP","getAttribute","registerAttribute","Coordinate","isRect","isHelix","isPolar","isReflectX","isReflectY","isTransposed","originalMatrix","initial","convertDim","dim","isReflect","invertDim","applyMatrix","tag","vector","vec3","transformMat3","invertMatrix","inverted","convert","convertPoint","invertPoint","ext","reflect","s1","s2","getCenter","getWidth","getHeight","getRadius","resetMatrix","Cartesian","Helix","startAngle","endAngle","innerRadius","maxRadius","thi","newY","rMin","Polar","oneBox","getOneBox","oneWidth","oneHeight","circleCenter","polarRadius","vPoint","vStart3","vStart2","xPercent","yPercent","COORDINATE_MAP","registerCoordinate","LineAxis","Axis","Line","CircleAxis","Circle","LineGrid","Grid","CircleGrid","CategoryLegend","Legend","Category","ContinuousLegend","Continuous","HtmlTooltip","Tooltip","Html","uniqueValues","Set","mid","polarToCartesian","centerX","centerY","angleInRadian","getSectorPath","startAngleInRadian","endAngleInRadian","innerStart","innerEnd","middlePoint","innerMiddlePoint","circlePathCommands","arcSweep","sectorPathCommands","getArcPath","getAngle","shapeModel","coordinate","getPointsBox","coordStartAngle","diffAngle","getReplaceAttrs","sourceShape","targetShape","originAttrs","newAttrs","omit","sourceArray","targetArray","sourceArray_1","sourceArray_1_1","source","BBox","fromRange","fromObject","subBBox","merge","cut","TOP","TOP_LEFT","TOP_RIGHT","RIGHT","RIGHT_TOP","RIGHT_BOTTOM","BOTTOM","BOTTOM_LEFT","BOTTOM_RIGHT","LEFT","LEFT_TOP","LEFT_BOTTOM","shrink","gap","expand","exceed","collide","isPointIn","getXDimensionLength","getDistanceToCenter","getAngleByPoint","atan2","getCoordinateClipCfg","margin","endState","startAngle_1","endAngle_1","center_1","radius_1","startState","ratio","diff","dateRegex","inferScaleType","scaleDef","attrType","geometryType","createScaleByField","validData","valuesOfKey","test","getDefaultType","getName","alias","getDefaultCategoryScaleRange","theme","range","count","isFullCircle","getAxisRegion","getLineAxisRelativeRegion","getCircleAxisRelativeRegion","isVertical","getAxisFactorByRegion","getAxisThemeCfg","axisTheme","getAxisTitleOptions","axisOptions","getCircleAxisCenterRadius","startVector","normalVector","getAxisOption","axes","getAxisDirection","axisOption","getAxisTitleText","Facet","facets","getDefaultCfg","createContainer","generateFacets","renderViews","clearFacetViews","facetToView","facet","createView","beforeEachView","eachView","afterEachView","getLayer","FORE","addGroup","createFacetViews","removeView","parseSpacing","viewBBox","spacing","getFieldValues","getRegion","rows","cols","xIndex","yIndex","xSpacing","ySpacing","xRatio","yRatio","showTitle","fields","getDefaultTitleCfg","getTheme","processAxis","getOptions","coordinateOption","geometries","getXYFields","xOption","yOption","getXAxisOption","getYAxisOption","getFacetDataFilter","conditions","datum","Facets","getFacet","registerFacet","Action","addAction","applyCfg","removeAction","CallbackAction","execute","ActionCache","getActionClass","actionName","actionOption","registerAction","ActionClass","createCallbackAction","_convertArr","coord","_convertArcPath","catmullRom2bezier","crp","constraint","isLoop","pointList","cp1","cp2","controlPointList","smooth","prevPoint","nextPoint","nextCp0","cp0","cps","hasConstraint","d0","d1","sum","smoothBezier","getLinePath","isInCircle","length_1","_points2path","constaint","first","prePoint","splinePath","unshift","convertPolarPath","pre","cur","transposed","subPath","curPoint","xDim","angleRange","middleConvertPoint","_convertPolarPath","_filterFullCirleLine","getMaskBBox","tolerance","getMaskBBoxByShape","event","isValidMaskBBox","maskShape","maskBBox","getCanvasBBox","getMultiMaskBBoxList","maskShapes","bBox","getMaskPathByMaskShape","getCurrentElement","getDelegationObject","delegateObject","isElementChange","gEvent","fromShape","toShape","isList","component","isSlider","isMask","isMultipleMask","getMaskedElements","maskPathList","getMultiMaskPathList","flatMap","maskPath","getElementsByPath","maskBBoxList","getIntersectElements","getMultiMaskedElements","getMaskPath","getSiblingMaskElements","sibling","getSiblingMaskElementsByBBox","getSiblingMultiMaskedElements","getSiblingPoint","getElements","geom","subView","getElementsByState","stateName","getElementsBy","el","hasState","getElementValue","record","getModel","shapeBBox","shape","pathToPoints","seg","shapePoints","isPolygonsIntersect","isInBox","getSilbings","parent","siblings","normalPoint","getCoordinate","point2Normalize","isInRecords","records","xFiled","yField","isIn","getScaleByField","Context","cacheMap","getAction","getCurrentPoint","HTMLElement","getCanvas","getPointByClient","clientX","clientY","getCurrentShape","isInPlot","isPointInPlot","isInShape","isInComponent","components","Interaction","initEvents","clearEvents","parseAction","actionStr","arg","createAction","methodName","executeAction","actionObject","STEP_NAMES","GrammarInteraction","callbackCaches","emitCaches","initContext","stepArr","stepName","getActionCallback","bindEvent","trigger","offEvent","InteractionContext","subSteps","actionArr","argArr_1","isAllowStep","currentStepName","isAllowExecute","getKey","once","isEnable","enterStep","afterExecute","actionCallback","throttle","eventName","nameArr","addEventListener","removeEventListener","Interactions","getInteraction","registerInteraction","interaction","createThemeByStyleSheet","styleSheet","shapeStyles","pointFillColor","pointSize","pointBorderColor","pointBorder","pointFillOpacity","active","pointActiveBorderColor","pointActiveBorder","selected","pointSelectedBorderColor","pointSelectedBorder","inactive","pointInactiveFillOpacity","pointInactiveBorderOpacity","hollowPoint","hollowPointFillColor","hollowPointBorder","hollowPointBorderColor","hollowPointBorderOpacity","hollowPointSize","hollowPointActiveBorderColor","hollowPointActiveBorderOpacity","hollowPointSelectedBorder","hollowPointSelectedBorderColor","hollowPointSelectedBorderOpacity","hollowPointInactiveBorderOpacity","area","areaFillColor","areaFillOpacity","areaActiveFillOpacity","areaSelectedFillOpacity","areaInactiveFillOpacity","hollowArea","hollowAreaBorderColor","hollowAreaBorder","hollowAreaBorderOpacity","hollowAreaActiveBorder","hollowAreaSelectedBorder","hollowAreaInactiveBorderOpacity","interval","intervalFillColor","intervalFillOpacity","intervalActiveBorderColor","intervalActiveBorder","intervalSelectedBorderColor","intervalSelectedBorder","intervalInactiveFillOpacity","intervalInactiveBorderOpacity","hollowInterval","hollowIntervalFillColor","hollowIntervalBorderColor","hollowIntervalBorder","hollowIntervalBorderOpacity","hollowIntervalActiveBorderColor","hollowIntervalActiveBorder","hollowIntervalActiveBorderOpacity","hollowIntervalSelectedBorderColor","hollowIntervalSelectedBorder","hollowIntervalSelectedBorderOpacity","hollowIntervalInactiveBorderColor","hollowIntervalInactiveBorder","hollowIntervalInactiveBorderOpacity","lineBorderColor","lineBorder","lineBorderOpacity","lineAppendWidth","lineActiveBorder","lineSelectedBorder","lineInactiveBorderOpacity","axisStyles","title","axisTitleSpacing","axisTitleTextFillColor","axisTitleTextFontSize","lineHeight","axisTitleTextLineHeight","textBaseline","iconStyle","axisDescriptionIconFillColor","autoEllipsis","axisLabelOffset","axisLabelFillColor","axisLabelFontSize","axisLabelLineHeight","axisLineBorder","axisLineBorderColor","grid","axisGridBorderColor","axisGridBorder","axisGridLineDash","alignTick","tickLine","axisTickLineBorder","axisTickLineBorderColor","axisTickLineLength","subTickLine","createAxisStyles","legendStyles","symbol","legendMarkerSpacing","legendCircleMarkerSize","legendMarkerColor","itemName","legendItemNameFillColor","legendItemNameFontSize","legendItemNameLineHeight","legendItemNameFontWeight","textAlign","itemStates","nameStyle","unchecked","markerStyle","flipPage","pageNavigator","legendPageNavigatorMarkerSize","inactiveFill","legendPageNavigatorMarkerInactiveFillColor","inactiveOpacity","legendPageNavigatorMarkerInactiveFillOpacity","legendPageNavigatorMarkerFillColor","legendPageNavigatorMarkerFillOpacity","legendPageNavigatorTextFillColor","legendPageNavigatorTextFontSize","maxItemWidth","itemSpacing","legendItemSpacing","itemMarginBottom","legendItemMarginBottom","legendPadding","createLegendStyles","background","backgroundColor","defaultColor","brandColor","subColor","semanticRed","paletteSemanticRed","semanticGreen","paletteSemanticGreen","columnWidthRatio","maxColumnWidth","minColumnWidth","roseWidthRatio","multiplePieWidthRatio","colors10","paletteQualitative10","colors20","paletteQualitative20","sequenceColors","paletteSequence","shapes","sizes","middleAngle","tick","funnel","pyramid","dot","dash","hv","vh","hvh","vhv","square","bowtie","diamond","hexagon","triangle","cross","plus","hyphen","schema","candle","edge","arc","violin","hollow","axis","common","verticalLimitLength","legend","layout","legendVerticalPadding","legendHorizontalPadding","continuous","track","rail","sliderRailHeight","defaultLength","sliderRailWidth","sliderRailFillColor","sliderRailBorderColor","sliderRailBorder","align","formatter","sliderLabelTextFillColor","sliderLabelTextFontSize","sliderLabelTextLineHeight","sliderHandlerWidth","sliderHandlerFillColor","sliderHandlerBorderColor","slidable","tooltip","showContent","follow","showCrosshairs","showMarkers","shared","enterable","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","crosshairs","tooltipCrosshairsBorderColor","tooltipCrosshairsBorder","textBackground","domStyles","TOOLTIP_CSS_CONST","CONTAINER_CLASS","visibility","zIndex","transition","tooltipContainerFillColor","tooltipContainerFillOpacity","boxShadow","tooltipContainerShadow","borderRadius","tooltipContainerBorderRadius","tooltipTextFillColor","tooltipTextFontSize","tooltipTextLineHeight","TITLE_CLASS","marginBottom","marginTop","LIST_CLASS","listStyleType","LIST_ITEM_CLASS","marginLeft","marginRight","MARKER_CLASS","display","VALUE_CLASS","float","annotationArcBorderColor","annotationArcBorder","annotationLineBorderColor","annotationLineDash","annotationLineBorder","annotationTextFillColor","annotationTextBorderColor","annotationTextBorder","annotationTextFontSize","annotationRegionBorder","annotationRegionBorderColor","annotationRegionFillColor","annotationRegionFillOpacity","dataMarker","annotationDataMarkerLineLength","autoAdjust","dataRegion","slider","backgroundStyle","cSliderBackgroundFillColor","cSliderBackgroundFillOpacity","foregroundStyle","cSliderForegroundFillColor","cSliderForegroundFillOpacity","handlerStyle","cSliderHandlerWidth","cSliderHandlerHeight","cSliderHandlerFillColor","cSliderHandlerFillOpacity","cSliderHandlerBorderColor","cSliderHandlerBorder","cSliderHandlerBorderRadius","highLightFill","cSliderHandlerHighlightFillColor","textStyle","cSliderTextFillColor","cSliderTextFillOpacity","cSliderTextFontSize","cSliderTextLineHeight","cSliderTextFontWeight","cSliderTextBorderColor","cSliderTextBorder","scrollbar","trackColor","scrollbarTrackFillColor","thumbColor","scrollbarThumbFillColor","hover","scrollbarThumbHighlightFillColor","labels","labelFillColor","labelFontSize","labelBorderColor","labelBorder","fillColorDark","labelFillColorDark","fillColorLight","labelFillColorLight","innerLabels","innerLabelFillColor","innerLabelFontSize","innerLabelBorderColor","innerLabelBorder","overflowLabels","overflowLabelFillColor","overflowLabelFontSize","overflowLabelBorderColor","overflowLabelBorder","pieLabels","labelHeight","labelLine","labelLineBorder","BLACK_COLORS","WHITE_COLORS","QUALITATIVE_10","QUALITATIVE_20","SINGLE_SEQUENCE","createLightStyleSheet","token","paletteSemanticYellow","axisLineDash","axisTitleTextFontWeight","axisSubTickLineBorderColor","axisSubTickLineLength","axisSubTickLineBorder","axisLabelFontWeight","legendTitleTextFillColor","legendTitleTextFontSize","legendTitleTextLineHeight","legendTitleTextFontWeight","legendMarkerSize","legendSquareMarkerSize","legendLineMarkerSize","sliderLabelTextFontWeight","sliderHandlerHeight","sliderHandlerBorder","annotationTextLineHeight","annotationTextFontWeight","tooltipCrosshairsLineDash","tooltipTextFontWeight","labelLineHeight","labelFontWeight","innerLabelLineHeight","innerLabelFontWeight","overflowLabelLineHeight","overflowLabelFontWeight","labelLineBorderColor","cSliderRailHieght","pointBorderOpacity","hollowPointActiveBorder","areaActiveFillColor","areaSelectedFillColor","hollowAreaActiveBorderColor","hollowAreaSelectedBorderColor","intervalActiveBorderOpacity","intervalSelectedBorderOpacity","createTheme","themeCfg","styleSheetCfg","themeObject","Themes","registerTheme","snapEqual","value1","value2","filterYValue","yScale","getYScale","yValue","originData","getXDistance","scaleValues","numericValue","getTooltipValueScale","attributes","attribute","getAttributesForLegend","attributes_1","attributes_1_1","tmpScale","scaleDefs","xScale","getXScale","findDataByPoint","xField","xValue","rangeMax","rangeMin","getXValueByPoint","firstXValue","firstYValue","lastXValue","isYArray","firstIdx","lastIdx","middleIdx","getTooltipItems","showNil","tooltipTitle","titleField","titleScale","getText","getTooltipTitle","tooltipOption","items","addItem","itemValue","mappingData","callbackParams","itemCfg","fields_1","fields_1_1","valueScale","eachValue","getTooltipValue","nameScale","groupScales","getGroupScales","getTooltipName","getTooltipItemsByFindData","tooltipCfg","dataArray","dataArray_1","dataArray_1_1","elementId","getElementId","elementsMap","getTooltipItemsByHitShape","getShape","findItemsFromView","reversed","geometries_1","geometries_1_1","tooltipItems","reverse","parsePadding","paddingArray","LOAD_COMPONENT_CONTROLLERS","registerComponentController","plugin","CoordinateController","option","wrapperOption","hasAction","isTheta","props","C","execActions","adjust","sx","sy","getOption","includeActions","Event","fromData","GEvent","originalEvent","defaultLayout","ScalePool","syncScales","createScale","finalScaleDef","cacheScaleMeta","getScaleMeta","cacheScale","cacheScaleDef","sync","scaleKeys","syncKey","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","isContinuous","change","sm","newScale","syncScale","getSyncKey","removeFromSyncScales","scaleMeta","deleteScale","PaddingCal","instance","inc","getPadding","calculatePadding","isAutoPadding","paddingCal","axisComponents","paddingComponents","otherComponents","AXIS","LEGEND","SLIDER","SCROLLBAR","GRID","TOOLTIP","bboxObject","getLayoutBBox","componentPadding","componentBBox","defaultSyncViewPadding","PC","syncPadding","autoPadding","View","controllers","interactions","limitInPlot","usedControllers","scalePool","layoutFunc","isPreMouseInPlot","isDataChanged","isCoordinateChanged","createdScaleKeys","onCanvasEvent","evt","createViewEvent","doPlotEvent","onDelegateEvents","uniqueId","canvas","backgroundGroup","middleGroup","foregroundGroup","syncViewPadding","setLayout","calculateViewBBox","initComponentController","initOptions","isUpdate","payload","BEFORE_RENDER","paint","AFTER_RENDER","BEFORE_CLEAR","filteredData","coordinateInstance","labelsContainer","getRootView","AFTER_CLEAR","BEFORE_DESTROY","draw","console","warn","filters","legendOption","scaleOption","guide","coordinateCfg","coordinateController","facetInstance","updateOptions","coordinateBBox","opt","existInteraction","interaciton","createInteraction","removeInteraction","BEFORE_CHANGE_DATA","AFTER_CHANGE_DATA","sharedOptions","legends","removedView","getYScales","yScales","getScalesByDim","dimType","defaultKey","getScaleKey","getOriginalData","getGeometries","layer","BG","MID","isPointInCoordinate","getLegendAttributes","getGroupAttributes","getXY","xScales","showTooltip","hideTooltip","lockTooltip","unlockTooltip","isTooltipLocked","getSnapRecords","dataLen","snapRecords","filterData","filterFieldData","adjustCoordinate","curStart","curEnd","bl","tr","renderDataRecursive","BEFORE_PAINT","renderPaddingRecursive","renderLayoutRecursive","renderBackgroundStyleShape","renderPaintRecursive","AFTER_PAINT","backgroundStyleRectShape","addShape","capture","toBack","initComponents","syncViewPaddingFn","doLayout","paintGeometries","renderComponents","currentScaleDef","mergedScaleDef","doFilterData","createCoordinate","initGeometries","renderFacet","controllerName","currentInPlot","newEvent","TYPE","MOUSE_LEAVE","LEAVE","MOUSE_ENTER","ENTER","createOrUpdateScales","getGeometryScales","adjustScales","getScaleFields","groupedFields","getGroupedFields","getGroupFields","adjustCategoryScaleRange","xyScales","scaleOptions","isIdentity","doAnimation","canvasRegion","_e","events","geometryOption","createGeometry","interactionOption","viewOption","annotationComponent","annotationOption","eventCallback","rest","geometry_1","registerGeometry","pixelRatio","supportCSSTransform","_f","wrapperElement","createDom","appendChild","Canvas","onResize","updateCanvasStyle","bindAutoFit","initDefaultInteractions","aria","ariaOption","BEFORE_CHANGE_SIZE","AFTER_CHANGE_SIZE","unbindAutoFit","parentNode","modifyCSS","verticalAlign","Controller","includeOption","isLocked","isVisible","getTitle","dataPoint","getTooltipCfg","lastItems","lastTitle","tooltipMarkersGroup","renderTooltip","getItemsAfterProcess","renderTooltipMarkers","isCrosshairsFollowCursor","renderCrosshairs","xCrosshair","yCrosshair","setCapture","guideGroup","reset","tooltipCrosshairsGroup","items_1","items_1_1","itemArr","itemArr_1","e_2","itemArr_1_1","snapItem","items_2","items_2_1","aItem","yDistance","uniqItems","subItem","isCursorEntered","getContainer","getBoundingClientRect","processOption","processCustomContent","defaultCfg","currentCustomContent","customContent","content","getTooltipMarkersGroup","rootView","items_3","items_3_1","attrs_1","markerDefaultCfg","crosshairsType","renderXCrosshairs","renderYCrosshairs","getViewWithGeometry","getTooltipCrosshairsGroup","getCrosshairsText","Crosshair","textCfg","firstItem","getGuideGroup","toFront","childView","originalItems","customItems","ANIMATIONS_MAP","getAnimation","registerAnimation","DEFAULT_ANIMATE_CFG","appear","duration","easing","enter","leave","GEOMETRY_ANIMATE_CFG","delay","GEOMETRY_GROUP_APPEAR_ANIMATION","getDefaultAnimateCfg","elementName","animateType","animateCfg","doAnimate","parsedAnimateCfg","repeat","parseAnimateConfig","animateFunction","toAttrs","labelShape","shapeFactory","offscreenGroup","elementIndex","model","shapeType","getShapeType","drawShape","setShapeInfo","getOffscreenGroup","newShape","origin","syncShapeStyle","getAnimateCfg","statesStyle","stateStatus","sortZIndex","zIndexReversed","setZIndex","offscreenShape","eventObject","propagationDelegate","clearStates","labelBBox","getStatesStyle","stateOption","defaultShapeType","stateTheme","getStateStyle","shapeKey","stateCfg","shapeStyle","cfg_1","AFTER_DRAW_ANIMATE","name_1","BEFORE_DRAW_ANIMATE","GroupCtor","getGroupBase","clip","newClip","newChildren","name_2","stopAnimate","GEOMETRY_LABELS_MAP","GEOMETRY_LABELS_LAYOUT_MAP","getGeometryLabel","registerGeometryLabel","getGeometryLabelLayout","registerGeometryLabelLayout","layoutFn","ShapeFactoryBase","getShapePoints","shapePoint","getPoints","getDefaultPoints","getDefaultStyle","geometryTheme","getMarker","markerCfg","ShapeBase","parsePath","parsedPath","parsePathString","convertNormalPath","parsePoint","parsePoints","ShapeFactoryMap","registerShapeFactory","factoryName","geomObj","registerShape","shapeObj","getShapeFactory","isModelChange","currentModel","preModel","parseFields","keyItem","added","updated","removed","keyIncluded","Geometry","animateOption","attributeOption","lastElementsMap","generatePoints","beforeMappingData","adjusts","idFields","hasSorted","sortable","intervalPadding","dodgePadding","useDeferredLabel","userTheme","positionCfg","createAttrOption","adjustCfg","adjustOption","styleFunc","styleOption","secondParam","thirdParam","labelOption","customInfo","customOption","setCfg","initAttributes","processData","adjustScale","lastAttributeOption","defaultSize","beforeMapping","updateElements","canDoGroupAnimation","yMinPoint","getYMinValue","minYPoint","doGroupAppearAnimate","deferred","renderLabels","requestIdleCallback","geometryLabel","getDefaultValue","attrName","getAttributeValues","getAdjust","adjustType","getShapeMarker","shapeName","xVal","yVal","length_2","dodgeAdjust","dodgeBy","attributeType","eachOpt","length_3","uniqMap","groupFields","length_4","attributeName","getXField","getYField","getShapes","mappingArray","xScale_1","xField_1","obj1","obj2","updateStackRange","createShapePointsCfg","normalizeValues","y0","mappingDatum","shapeCfg","getDrawCfg","defaultStyle","getStyleCfg","nextPoints","mappingDataArray","keyDatum","keyIndex","finalKey","added_1","added_1_1","updated_1","updated_1_1","currentShapeCfg","preShapeCfg","removed_1","removed_1_1","getLabelType","coordinateType","labelType","attrCfg","AttributeCtor","getAttributeClass","categoryScales","groupedArray","groupData","beforeAdjust","subData","subLen","categoryScales_1","e_4","categoryScales_1_1","adjustData","xScale_2","xDimensionLength","groupNum","sizeAttr","adjustNames","dodgeRatio","reverseOrder","adjustCtor","getAdjustClass","dimValuesMap","adjustInstance","process","appendConditions","values_1","values_1_1","eachGroup","group","mergeArray","tmpMin","tmpMax","length_5","currentData","generateShapePoints","nextData","shapeAttr","newRecord","_origin","mappingRecord","rstX","rstY","xLen","yLen","BEFORE_RENDER_LABEL","GeometryLabelsCtor","labelsMap","labelsRenderer","shapesMap","elementLabels","labelGroup","labelGroupId","labelChildren","entries","AFTER_RENDER_LABEL","getMatrix","setMatrix","rotateRadian","getRotateMatrix","findLabelTextShape","getLabelBackgroundInfo","labelItem","boxPadding","rotation","checkShapeOverlap","dones","Labels","createOffscreenGroup","renderLabel","renderLabelLine","renderLabelBackground","adjustLabel","lastShapesMap","origin_1","currentAnimateCfg","currentShape","updateLabel","updateAnimateCfg","fromChild","toChild","getChildByIndex","getCount","deleteShape","shapeAppendCfg","isShape","layouts","all","labelShapes","geometryShapes","labelItems","labelLineCfg","labelContentShape","backgroundShape","findAll","offsetX","offsetY","avg","GeometryLabel","getLabelItems","mapppingArray","labelCfgs","getLabelCfgs","labelCfg","labelContent","total","subIndex","getLabelPoint","getLabelAlign","getLabelsRenderer","getGeometryShapes","getDefaultLabelCfg","getThemedLabelCfg","defaultLabelCfg","setLabelPosition","labelPointCfg","getLabelOffset","getOffsetVector","getLabelOffsetPoint","factor","offsetPoint","getDimValue","isAvg","isFunnel","centroid","former","getPolygonCentroid","getLabelId","labelId","labelScales","callbackCfg","originText","getLabelText","originValues","labelTexts","subVal","actualOffset","getMappingValue","restArgs","MarkerSymbols","diffX","diffY","STROKES_SYMBOLS","setMarkerSymbol","getLegendLayout","getLegendItems","themeMarker","userMarker","field_1","colorAttr_1","shapeAttr_1","defaultColor_1","isInPolar_1","getTicks","scaleValue","isInPolar","adpatorMarkerStyle","getLegendThemeCfg","legendTheme","isValueEmpty","isYNil","getPathPoints","connectNulls","showSinglePoint","filtered","getViolinPath","getSmoothViolinPath","half","leftPoints","rightPoints","leftPath","rightPath","getStyle","isStroke","isFill","sizeName","getBackgroundRectStyle","splitPoints","eachY","LineSymbols","getLineMarker","getSinglePath","getPath","isStack","topPoints","bottomPoints","topPath","bottomPath","getRangePath","shapeAttrs","eachLinePoints","getShapeAttrs","LineShapeFactory","VERSION","Util","zoom","antvDark","legendSpacing","overflowLabelFillColorDark","overflowLabelFillColorLight","createDarkStyleSheet","Path","keyData","getShapeInfo","getPointsAndData","registeredShape","topLinePoints_1","bottomLinePoints_1","pointsData","parsedPoints","pathPoints","eachPoints","getConstraint","pointInfo","yItem","AreaShapeFactory","Area","startOnZero","EdgeShapeFactory","Edge","Heatmap","paletteCache","prepareRange","prepareSize","blur_1","prepareGreyScaleBlurredCircle","drawWithRange","clearShadowCanvasCtx","colorField","getDefaultSize","blur","grayScaleBlurredCanvas","getGrayScaleBlurredCanvas","clearRect","beginPath","closePath","valueField","getShadowCanvasCtx","data_1","data_1_1","alpha","drawGrayScaleBlurredCircle","colored","getImageData","colorize","putImageData","imageShape","getImageShape","ticks","shadowCanvas","globalAlpha","drawImage","img","colorAttr","pixels","palette","ColorUtil","rgb2arr","getRectPoints","yMin","yMax","xMin","xMax","getRectPath","isClosed","firstPoint","minLength","getBackgroundRectPath","p0","isReflectYTransposed_1","bump","opposite","getFunnelPath","isPyramid","swap","backgroundCfg","backgroundPath","_h","p3","_j","_g","getRectWithCornerRadius","coor","getIntervalRectPath","xValues","sourceArr","findMinDistance","normalizedSize","wr","dodgeCount","mergeData","getDodgeCount","normalizedMaxColumnWidth","normalizedMinColumnWidth","Interval","SHAPES","drawPoints","pointPosition","points_1","points_1_1","PointShapeFactory","Point","subX","subY","PolygonShapeFactory","Polygon","temp","xOffset","yOffset","Schema","sizeArr","maxValue","normalizeSize","_size","isMin","isMax","ViolinShapeFactory","Violin","_sizeField","sizeField","getCPath","getQPath","getArcShapePath","arc1","arc2","getArcShapeWeightPath","c1","c2","getSmoothPath","getVHVPath","newStyle","getTickPoints","getInterpolateShapeAttrs","interpolatePoints","interpolatePoint","nextX","nextY","middleX","middleY","interpolateCallback","getInterpolatePoints","getInterpolatePath","parseValue","min1","max1","median","getBoxPoints","pointsArray","halfSize","getCandleYValues","sorted","targetLength","padValue","padEnd","sourceLength","getCandlePoints","yValues","getRectAttrs","IntervalLabel","getLabelValueDir","dir","point0","nextP0","nextP1","HALF_PI","PolarLabel","labelEmit","arcPoint","isToMiddle","getMiddlePoint","getArcPoint","getPointAngle","isLabelEmit","labelPositionCfg","getLabelRotate","labelAngle","asin","PieLabel","isLabelLimit","startPoint","endPoint","antiCollision","plotRange","invisible","overlapping","startY","endY","totalHeight","MIN_VALUE","boxes","targets","pos","previousBox","posInCompositeBox","Greedy","bitmap","xGap","yGap","hasGap","fillGap","adjustLabelPosition","getAxes","rotateAtPoint","deg","getProjection","scalars","isProjectionOverlap","projection1","projection2","isValidBox","intersect","isIntersectRect","rect1Points","rect2Points","MyWorker","url","queue","worker","Worker","onmessage","onmessageerror","post","onError","postMessage","terminate","code","generateUtils","methods","eventData","JSON","parse","self","blob","Blob","BlobBuilder","append","getBlob","URL","createObjectURL","createWorker","layoutCode","preset","shouldInShape","textShape","textBBox","shouldInShapeSingle","hasSome","compare","rightText","doScaleAnimate","endMatrix","scaledMatrix","transformShape","arcPath","getArcParams","getArcStartPoint","getArcInfo","arcPaths","command","firstArcPathCommand","lastArcPathCommand","firstIndex","lastIndex","firstStartPoint","lastStartPoint","firstStartAngle","firstEndAngle","lastStartAngle","lastEndAngle","doShapeZoom","getFactTitleConfig","getAnglePoint","renderTitle","avgAngle","facetR","middle","facetData","columnValue","columnField","columnIndex","columnValuesLength","rowValue","rowField","rowIndex","rowValuesLength","config","List","colValues","getPageCount","getRowCol","col","pageSize","Matrix","columnTitle","rowTitle","facetIndex","Mirror","columnValues","rowValues","Rect","Tree","afterChartRender","drawLines","rootFacet","getRows","getChildFacets","setRegion","forceColIndex","xWidth","yWidth","leafs","isLeaf","levelFacets","getFacetsByLevel","levelFacets_1","e_1","levelFacets_1_1","originColIndex","getRegionIndex","addFacetLines","subFacet","subRegion","middle1","middle2","drawLine","getMedian","getNormalizedValue","scaled","ANNOTATIONS_AFTER_RENDER","Annotation","foregroundContainer","backgroundContainer","onAfterRender","updateOrCreate","getCacheKey","syncCache","updateCache","clearComponents","doWhat","createAnnotation","AnnotationComponent","getAnnotationTheme","getAnnotationCfg","isTop","NONE","ANNOTATION","regionFilter","html","parsePosition","xPos","yPos","parsePercentPosition","getRegionPoints","startIndex","viewData","startXValue","endXValue","topLeft","getCoordinateBBox","sp","ep","textPoint","textContent","start_5","end_5","lineLength","apply_1","shapes_1","addShapes_1","elem","render_1","restOptions","_k","html_1","getComponentContainer","newCache","getGridThemeCfg","getLineGridItems","tickValue","preTick","currentTick","currentIndex","currentValue","middleValue","getCircleGridItems","preValue","showGrid","userGrid","themeGrid","OMIT_CFG","AXIS_DEFAULT_ANIMATE_CFG","gridContainer","gridForeContainer","axisContainer","axisForeContainer","updatedCache","updateXAxes","updateYAxes","xAxisOption","axisId","getId","gridId","getLineAxisCfg","createLineAxis","getLineGridCfg","createLineGrid","RADIUS","getCircleAxisCfg","createCircleAxis","getCircleGridCfg","CIRCLE","createCircleGrid","yAxisOption","titleText","axisThemeCfg","optionWithTitle","verticalFactor","isAxisVertical","canvasWidth","canvasHeight","gridThemeCfg","gridCfg","verticalScale","directionToPosition","parentBBox","tl","br","getLegendOption","getDirection","layoutBBox","maxWidthRatio","maxHeightRatio","maxSize","getCategoryLegendSizeCfg","maxHeight","setLocation","existCo","getComponentById","customCfg","getCategoryCfg","createCustomLegend","loopLegends","getContinuousCfg","createFieldLegend","doEach","looped","createContinuousLegend","createCategoryLegend","containMin","containMax","attrValue","attrLegendCfg","colors","mergeLegendCfg","custom","themePageNavigator","userPageNavigator","itemMarker","getCustomLegendItems","baseCfg","categoryCfg","vw","Slider","onChangeFn","noop","resetMeasure","onValueChange","changeViewData","getSliderCfg","updateSlider","createSlider","measureSlider","getMinMaxText","minText","maxText","SliderComponent","trendCfg","getThemeOptions","ticks_1","dataSize","xTickCount","minIndex","maxIndex","xScaleValues","Scrollbar","getValidScrollbarCfg","originalAnimate","getScrollRange","trackLen","thumbLen","updateScrollbar","createScrollbar","measureScrollbar","getScrollbarComponentCfg","isHorizontal","thumbOffset","cnt","xScaleCfg","yScalesCfg","setValue","getValue","getScrollbarTheme","thumbHighlightColor","restStyles","getScrollbarData","getStep","getCnt","startIdx","endIdx","tickMethod","ScrollbarComponent","realConfig","categorySize","DEFAULT_REGION_PATH_STYLE","getItemsOfView","findItemsFromViewRecurisive","ActiveRegion","ev","xValue_1","elements_1","coordinate_1","firstBBox_1","lastBBox_1","groupBBox_1","appendRatio","appendWidth","firstElement","lastElement","innterRadius","regionPath","TooltipAction","timeStamp","lastTimeStamp","preLoc","location","curLoc","SiblingTooltip","siblingPoint","EllipsisText","tipContent","tooltipStyles","StateBase","setElementState","enable","setStateEnable","clearViewState","getItem","ElementState","ignoreListItemStates","isItemIgnore","list","setStateByComponent","setElementsStateByItem","setStateByElement","isMathItem","event_1","toggle","ElementActive","StateAction","LinkByColor","getColorScale","getLinkPath","nextElement","nextBBox","addLinkShape","activeStyle","linkByElement","getElementsByField","group_1","linkGroup","count_1","nextEl","removeLink","link","unlink","ElementRangeState","isStarted","effectSiblings","effectByRecord","setSiblingsState","allElements","setSiblingsStateByRecord","setElementsState","effectElements","ElementRangeActive","ElementSingleState","ElementSingleActive","clearHighlight","setHighlightBy","EVENTS","STATUS_UNACTIVE","INACTIVE","STATUS_ACTIVE","ACTIVE","ElementHighlight","setElementHighlight","activeElements","allCancel_1","highlight","HighlightColor","highlightElements","Highlight","HighlightX","ElementRangeHighlight","BEFORE_HIGHLIGHT","AFTER_HIGHLIGHT","ElementSingleHighlight","ElementRangeSelected","ElementMultipleSelected","ElementSingleSelected","ListState","ignoreItemStates","getTriggerListInfo","info","getAllowComponents","allowSetStateByElement","clearAllComponentsState","clearItemsState","componentNames","allowSetStateByItem","ignoreStates","setItemsState","setItemState","getItems","triggerInfo","ListActive","ListHighlight","activeItems","getItemsByState","ListSelected","ListUnchecked","ListChecked","setCheckedBy","list_1","checked","ListFocus","clickedItem","checkedItems","uncheckedItems","checkedItem","items_4","items_4_1","TIP_ID","ListRadio","showTip","hideTip","containerId","MaskBase","starting","moving","preMovePoint","emitEvent","createMask","maskAttrs","getMaskAttrs","draggable","updateMask","maskStyle","moveStart","move","currentPoint","moveEnd","resize","CircleMask","RectMask","clampPoint","inPlot","normalStart","normalEnd","DimRect","PathMask","addPoint","getSpline","SmoothPathMask","MultipleMaskBase","recordPoints","maskType","multiPoints","recordPointStart","updateShapesCapture","getCurMaskShapeIndex","recordPointContinue","clearAll","recordPointClear","getRecordPoints","lastPoints","isCapture","isHit","RectMultiMask","DimRectMultiMask","MultipleRectMask","CircleMultiMask","PathMultiMask","SmoothPathMultiMask","MultiplePathMask","CursorAction","setCursor","cursor","pointer","crosshair","help","eResize","wResize","nResize","sResize","neResize","nwResize","seResize","swResize","nsResize","ewResize","zoomIn","zoomOut","DataFilter","filterView","unCheckedItems","scale_1","names_1","min_1","max_1","getFilter","minValue","arr_1","RangeFilter","dims","hasDim","BEFORE_FILTER","normalCurrent","reRender","FILTER","AFTER_FILTER","BEFORE_RESET","RESET","AFTER_RESET","SiblingFilter","ElementFilter","maskElements_1","byRecord","filterByRecord","filterByBBox","maskElements","ButtonAction","buttonGroup","buttonCfg","getButtonCfg","drawButton","buttonShape","resetPosition","Drag","dragStart","drag","Move","isMoving","startMatrix","ScaleTranslate","cfgFields","cacheScaleDefs","resetDim","startCache","noramlCurrent","translateDim","translateLinear","TransformAction","zoomRatio","zoomDim","dRatio","zoomLinear","toMin","toMax","MousewheelScroll","scroll","wheelDelta","scrollbarController","currentRatio","nextStart","deltaY","isWheelDown","correction","nextRatio","AxisDescription","descriptionTooltipStyle","isPointInView","preventDefault","CanvasEngine","SVGEngine","greedy","canFill","totalHeight_1","lineHeight_1","plotRange_1","halves_1","maxLabelsCountForOneSide","isRight","labelShapes_1","labelShapes_1_1","rPow2","dyPow2","innerPoint","itemX","itemY","maxTimes","dxdy","maxDelta","nt","times","accessedCache","spiralFill","memoKey","stringify","cb","res","regionMinX","regionMinY","regionMaxX","regionMaxY","finalX","finalY","translateX_1","textBox","DOT_WIDTH","getEllipsisText","labels_1","labels_1_1","labelOffset","separateLabels","totalR","labelsContainerRange","dxPow2","dx_offset","smoothConnector","atan","sweepFlag","breakPoint","breakPoint3","xSign","slope1","slope2","E","drawLabelline","overflow","fillWhite","rgb","toRGB","isContrastColorWhite","moveInShape","filteredLabels","pages","filterLabel","todo","groupedLabels","addCurrentGroup","curItems","sortedCollections","sortedLabels","sortLabels","downFail","inRight","inflectionPoint","totalOffset","halfHeight","originalPos","pathCommands","curStartAngle","curEndAngle","preStartAngle","preEndAngle","diffStartAngle","diffEndAngle","onFrameStartAngle","onFrameEndAngle","getTotalLength","EllipsisTextAction","ElementHighlightByX","ElementHighlightByColor","ElementSelected","ElementLinkByColor","DimMask","DataRangeFilter","ElementSiblingFilter","ViewDrag","ViewMove","ScaleZoom","showEnable","processing","rollback","version","eventType","attachEvent","detachEvent","TABLE","TABLE_TR","FRAGMENT_REG","CONTAINERS","tbody","thead","tfoot","td","th","$1","innerHTML","getOuterHeight","offsetHeight","bTop","pTop","pBottom","getOuterWidth","offsetWidth","bLeft","pLeft","pRight","bRight","mRight","css","constant_1","seriesField","meta","AXIS_META_CONFIG_KEYS","annotationOptions","annotationController","transformations","pattern_1","pattern","COPY_PROPERTIES","COPY_PROPERTIES_EXCLUDES","GroupComponent","isRegister","isUpdating","isInit","clearOffScreenCache","getChildComponentById","getElementByLocalId","localId","getElementsByName","updateInner","offScreenRender","offScreenGroup","deleteElements","applyOffset","initEvent","removeEvent","getInnerLayoutBBox","getTotalMatrix","applyMatrix2BBox","initGroup","delegateEmit","createOffScreenGroup","getDelegateObject","moveElementTo","isComponent","renderInner","appendDelegateObject","registerElement","addComponent","restCfg","inst","updateAutoRender","unregisterElement","getMatrixByTranslate","addAnimation","elmentName","originOpacity","removeAnimation","originElement","updateAnimation","newGroup","originGroup","preElement","childComponent","origChildComponent","newCfg","replaceAttrs","registerNewGroup","clearUpdateStatus","parentObject","deleteArray","callbackAnimCfg","removeElement","Component","removeFromArray","isBrowser","isParent","isCanvas","getParent","isAllowCapture","getBBoxByArray","xArr","yArr","getBBoxRange","piMod","pointAt","pointDistance","pointToLine","u","tangentAngle","nearestPoint","tCallback","v0","segNum","increaseRate","_t","d2","quadraticAt","onet","extrema","derivativeAt","divideQuadratic","x3","y3","xt","yt","controlPoint1","controlPoint2","xExtrema","yExtrema","quadraticLength","iterationCount","quadratics","x0","interpolationAt","divide","cubicAt","t1","t2","discSqrt","extremas","disc","divideCubic","x4","y4","c3","c12","c23","cubicLength","totalLength","snapLength","cubics","copysign","absv","nearestX","nearestY","relativeX","relativeY","px","py","squareA","squareB","ex","ey","rx1","ry1","qx","qy","xAt","cx","cy","xRotation","yAt","getPoint","tan","xAngle","yDim","yAngle","relativeVector","relativePoint","derivativeXAt","derivativeYAt","analyzePoints","segments","lengthOfSegment","pointAtSegments","startRatio","localRatio","angleAtSegments","distanceAtSegment","minDistance","distance_1","ARRAY_TYPE","RANDOM","random","area_1","edge_1","interval_1","line_1","point_1","polygon_1","schema_1","violin_1","createSVGElement","createElementNS","sortDom","sorter","childList","toArray","fragment","createDocumentFragment","moveTo","targetIndex","node","nodeType","nodeName","insertBefore","targetNext","NAME_CLASS","CROSSHAIR_X","CROSSHAIR_Y","identityMatrix","getMatrixByAngle","currentMatrix","getAngleByMatrix","multiplyVec2","topRight","bottomLeft","bottomRight","applyRotate","applyTranslate","translateMatrix","SHAPE_ATTRS_MAP","applyAttrsToContext","setLineDash","parseStyle","drawChildren","skipDraw","checkRefresh","refreshElements","parent_1","refresh","setChildrenRefresh","checkChildrenRefresh","hasChanged","checkElementRefresh","clearChanged","cacheCanvasBBox","isInView","drawPath","arcParamsCache","startMovePoint","tangent","getStartTangent","ArrowUtil","getEndTangent","lineTo","quadraticCurveTo","bezierCurveTo","arcParams","refreshElement","changeType","_cacheCanvasBBox","getMergedRegion","minXArr","minYArr","maxXArr","maxYArr","cacheBox","validCache","validBBox","getRefreshRegion","mergeView","viewRegion","freeSelf","freeGlobal","Function","_addDefaultArrow","isStart","arrowShape","isArrowShape","_addCustomizedArrow","arrowAttrs","arrowFill","arrowStroke","arrowLineWidth","restAttrs","getShortenOffset","addStartArrow","addEndArrow","setShadow","addShadow","setTransform","hasAttribute","createPath","addClip","getMappingField","shapeField","styleField","rawFields","mappingFields","tileMappingField","getMappingFunction","tooltipFields","multiplyMatrix","regexTags","regexDot","catmullRom2Bezier","SPACES","PATH_COMMAND","PATH_VALUES","pathString","paramCounts","REGEX_MD","toSymmetry","pathToAbsolute","pathArray","needProcess","cmd","mx","my","ii","pa","preParams","upCmd","jj","symetricT","symetricS","vMag","vRatio","vAngle","acos","arcFlag","xp","yp","lambda","cxp","cyp","theta","dTheta","getSegments","nextParams","lastStartMovePointIndex","segment","startTangent","endTangent","cp","preSegment","dx1","dy1","dx2","dy2","dcmp","onSegment","isInPolygon","parseToLines","lines","lineIntersectPolygon","isIntersect","D0","D1","kross","getLineIntersect","points1","points2","bbox1","bbox2","isPointInPolygon","lines1","lines2","charAtLength","charCodeAt","getMaxLabelWidth","texts","maxLen","maxIdx","getMaxLabelWidthOptimized","ellipsisLabel","limitLength","ellipsisText","labelLength","getLabelLength","codeLength","strLen","ellipsisFlag","reserveLength","newText","reseveLength","startStr","endStr","endIndex","startCodeLen","hasAdd","endCodeLen","ellipsisString","getTooltipMapping","defaultFields","Adjust","isAdjust","getAdjustRange","dimValue","groupedDataArray","mergedData","getDimValues","adjustDim","DEFAULT_Y","methodCache","registerTickMethod","Scale","__cfg__","initCfg","getConfig","setDomain","calculateTicks","calcPercent","NaN","calcValue","buildIndexMap","translateIndexMap","order","scaledValue","domainRange","word","literal","shorten","sLen","newArr","monthUpdate","arrName","i18n","origObj","args_1","dayNames","monthNames","monthNamesShort","defaultI18n","dayNamesShort","amPm","DoFn","dayOfMonth","globalI18n","setGlobalDateI18n","regexEscape","pad","formatFlags","D","dateObj","getDate","DD","Do","getDay","dd","ddd","dddd","M","getMonth","MM","MMM","MMMM","YY","getFullYear","YYYY","getHours","hh","H","HH","getMinutes","mm","getSeconds","ss","S","getMilliseconds","SS","SSS","A","ZZ","getTimezoneOffset","Z","monthParse","emptyDigits","emptyWord","timezoneOffset","parts","minutes","parseFlags","cent","globalMasks","shortDate","mediumDate","longDate","fullDate","isoDate","isoDateTime","shortTime","mediumTime","longTime","setGlobalDateMasks","masks","format","mask","getTime","literals","$0","combinedI18nSettings","dateStr","dateInfo","year","month","day","hour","minute","second","millisecond","isPm","parseInfo","newFormat","specifiedFields","requiredFields","regex","requiredField","matches","dateTZ","parser","validateFields","UTC","timeFormat","time","fecha1","fecha","toTimeStamp","HOUR","DAY","MONTH","intervals","SECOND","MINUTE","getTickInterval","tickCount","_lo","_hi","lo","hi","TimeCat","tickIndex","getScalePercent","firstTick","lastTick","minLimit","maxLimit","getInvertPercent","Linear","calBase","getLogPositiveMin","positiveMin","Log","appendPercent","Pow","exponent","Time","numberValue","minConfig","maxConfig","timeStamps_1","secondMin_1","minTickInterval","Quantize","minTick","minIndexPercent","Quantile","getClass","registerClass","cls","Identity","calculateCatTicks","tickInterval","showLast","lastValue","e10","e5","e2","D3Linear","_domain","domain","i0","i1","stop","tickIncrement","ceil","d3ArrayTicks","power","LN10","snapMultiple","snapType","intervalTicks","maxTick","availableInterval","strictLimit","defaultMin","defaultMax","tickMin","tickMax","prettyNumber","DEFAULT_Q","eps","simplicity","Q","lmin","lmax","lstep","simplicityMax","density","dMin","dMax","lMin","lMax","rt","densityMax","coverage","coverageMax","span","extended","onlyLoose","step_1","best","score","dm","delta","log10","cm","minStart","maxStart","i_1","lStep","pretty","unit","nu","quantileSorted","getYear","date","createYear","creatMonth","cat","catTicks","minYear","maxYear","yearInterval","monthInterval","mmMoth","dMonths","minMonth","diffMonth","mday","ddays","diffDay","hours","dHours","diffHour","dMinus","diffMinus","minSecond","dSeconds","seconds","d3Linear","registerScale","RGB_REG","regexLG","regexRG","regexColorStop","arr2rgb","toHex","iEl","x16Value","defaultView","getPropertyValue","exec","colorArray","fixedPercent","calColor","toCSSGradient","gradientColor","cssColor_1","colorStops_1","catmullRomToBezier","iLen","ellipsePath","pa0","dots","crz","kk","l2c","q2c","ax","ay","a2c","large_arc_flag","sweep_flag","recursive","xy","f1","f2","_120","rx2","ry2","df","f2old","x2old","y2old","hx","hy","m1","m2","m3","m4","newres","pathToCurve","path2","bx","by","X","Y","attrs2","pcoms1","pcoms2","pfirst","pcom","processPath","nx","ny","T","fixArc","pp","pi","fixM","path1","seg2","seglen","seg2len","p2s","parsePathArray","base3","p4","bezlen","Tvalues","Cvalues","ct","xbase","ybase","comb","curveDim","tvalues","bounds","b2ac","sqrtb2ac","mt","jlen","denominator","px2","py2","isPointInsideBBox","rectPath","r0","vb","bezierBBox","p1x","p1y","c1x","c1y","c2x","c2y","p2x","p2y","findDotsAtSegment","t13","t12","t3","interHelper","bez1","bez2","justCount","isBBoxIntersect","n1","n2","dots1","dots2","di","di1","dj","dj1","ci","cj","is","intersection","x1m","y1m","x2m","y2m","pj","intr","segment1","segment2","interPathHelper","decasteljau","recurse","middlePoints","splitSegment","leftSegments","splitCurve","fillPath","sourceLen","targetLen","segmentsToFill","filled","getMinDiff","del","modify","fillPathByDiff","diffMatrix","sourceSegment","targetSegment","levenshteinDistance","changes","minPos","_splitPoints","formerEnd","_getSegmentPoints","formatPath","fromPath","toPath","getDefaultAttrs","getShapeBase","Group","onCanvasChange","calculateBBox","getHitLineWidth","getBBoxMethod","bboxMethod","halfLineWidth","isClipShape","_applyClip","save","restore","_afterDraw","getCanvasViewBox","getViewRange","canvasBBox","strokeAndFill","afterDrawPath","refX","refY","isInStrokeOrPath","AbstractShape","absDistance","ellipseDistance","squareX","squareY","Ellipse","halfLineWith","ImageShape","initAttrs","_setImage","isOnlyHitBox","_afterLoading","image_1","Image","onload","crossOrigin","onAttrChange","originValue","swidth","sheight","inLine","halfWidth","LineUtil","setArrow","startArrowDistance","endArrowDistance","startArrowShape","endArrowShape","Symbols","Marker","_resetParamsCache","_getR","_getPath","path2Absolute","paramsCache","isPointInPath","getOffScreenContext","hasArc","extractPolygons","polygons","polylines","isPointInStroke","QuadUtil","CubicUtil","inArc","PathUtil","isInPolygons","_setPathArr","path2Segments","extractResutl","_calculateCurve","_setTcache","subt","tCache","curve","nextSeg","segmentT","segmentL","segmentN","tempLength","inPolyline","isClose","PolyLine","_resetCache","PolylineUtil","inRectWithRadius","inRect","Text","_assembleFont","_setText","assembleFont","textArr","_getSpaceingY","_drawTextArr","spaceingY","getTextHeight","subText","fillText","strokeText","_drawText","HtmlComponent","containerTpl","containerClassName","pointerEvents","removeDom","initContainer","initDom","resetStyles","applyStyles","initCapture","initVisible","defaultStyles","applyChildrenStyles","containerCss","styles","getElementsByClassName","applyStyle","cssName","hasKey","MARGIN_RATIO","DODGE_RATIO","GAP","lineCount","getLineSpaceing","getTextWidth","measureWidth","trim","ADJUST_MAP","registerAdjust","parentChildren","clipPathEl","defsEl","children_1","stateStyles","styleName","normalPadding","getAdjustAppendPadding","currentAppendPadding","PADDING","resolveAllPadding","paddings","normalPaddings","finalPadding","patternOption","colorAttribute","seriesValue","CanvasPattern","getCanvasPattern","measure","groupField","as","sumMap","groupValue","percentage","getDeepPercent","getDataWhetherPercentage","asField","isPercent","FUNNEL_PERCENT","FUNNEL_MAPPING_VALUE","FUNNEL_CONVERSATION","FUNNEL_TOTAL_PERCENT","PLOYGON_X","PLOYGON_Y","DEFAULT_OPTIONS","minSize","conversionTag","getTinyData","Dodge","Jitter","Stack","Symmetric","LOCATION_FIELD_MAP","none","locationType","afterUpdate","getLocationType","getOffset","setOffset","getLocation","viewRange","allowDraw","AbstractGroup","isEntityGroup","afterAttrsChange","targetAttrs","canStroke","shadow","_setColor","addGradient","addPattern","elementFromPoint","isEqualNode","Dom","setAttr","toDataURL","ImageData","addArrow","getDefaultArrow","triangleDown","register","getAll","_assembleMarker","symbolsFactory","_formatPath","newValue","getPointAtLength","Polyline","completed","pathRelatedAttrs","_assembleRect","BASELINE_MAP","alphabetic","hanging","BASELINE_MAP_FOR_FIREFOX","ANCHOR_MAP","_setFont","browser","detect","baseline","textLen_1","scaleAndAdd","squaredDistance","squaredLength","negate","inverse","normalize","lerp","transformMat2","transformMat2d","transformMat4","sinC","cosC","mag","cosine","zero","vec","div","sqrDist","sqrLen","stride","brush_1","common_1","connected_area_1","conversion_tag_1","percent_1","defaultOptions","columnStyle","percentData","chartData","stackedItem","tooltipOptions","widthRatio","percentYMeta","adjustYMetaByZero","isRange","findGeometry","columnTooltip","customItems_1","tooltipFormatter_1","isBar","brushInteraction","connectedArea","X_FIELD","Y_FIELD","DEFAULT_TOOLTIP_OPTIONS","itemTpl","NODE_INDEX_FIELD","CHILD_NODE_COUNT","NODE_ANCESTORS_FIELD","getField","defaultField","getAllNodes","index_1","nodes","ancestors","depth","eachNode","EventEmitter","_events","wildcardEvents","doEmit","es","getEvents","freeExports","freeModule","Buffer","isBuffer","stubFalse","numberData","gtZero","ltZero","transformDataToNodeLinkData","sourceField","targetField","weightField","links","nodesMap","nodesIndex","weight","rawData","processIllegalData","WARN","animationCfg","global_1","LocaleMap","registerLocale","locale","localeObj","getLocale","GLOBAL","CONVERSION_TAG_NAME","transformData","maxYFieldValue","maxBy","conversionTagComponent","getLineCoordinate","formatter_1","lineOption","constants_1","utils_2","areaStyle","pointOptions","lineOptions","pointState","seriesData","primary","pointParams","PADDING_TOP","BREAD_CRUMB_NAME","DEFAULT_BREAD_CRUMB_CONFIG","dividerText","activeTextStyle","HIERARCHY_DATA_TRANSFORM_PARAMS","DrillDownAction","historyCache","breadCrumbGroup","breadCrumbCfg","click","drill","drawBreadCrumb","back","backTo","hideCrumbGroup","nodeInfo","drillData","nodeData","drillDownConfig","breadCrumb","drawBreadCrumbGroup","rootText","textShapeBox","targetId","newHistoryCache","dividerBox","ID_FIELD","PATH_FIELD","blendMode","GraphEvent","bubbles","currentTarget","delegateTarget","defaultPrevented","propagationStopped","propagationPath","stopPropagation","az","bz","hermite","factorTimes2","factor1","factor2","factor3","factor4","bezier","inverseFactor","inverseFactorTimesTwo","zScale","transformQuat","qz","qw","uvx","uvy","uvz","uuvx","uuvy","uuvz","w2","rotateX","rotateY","rotateZ","offScreenCtx","emitDelegation","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","polyIn","polyOut","polyInOut","halfPi","sinIn","sinOut","sinInOut","tpmt","expIn","expOut","expInOut","circleIn","circleOut","circleInOut","bounceIn","bounceOut","bounceInOut","backIn","overshoot","backOut","backInOut","tau","elasticIn","amplitude","period","elasticOut","elasticInOut","EASING_MAP","getEasing","d3Ease","registerEasing","easeFn","SHAPE_MAP","Container","childMinX","childMaxX","childMinY","childMaxY","totalMatrix","_applyChildrenMarix","preTotalMatrix","groupClass","tmpCfg","TmpGroupClass","_findShape","invertFromMatrix","isClipped","timeline","preParent","setCanvas","setTimeline","_applyElementMatrix","getFirst","getLast","contain","findById","findByClassName","findAllByName","CLONE_CFGS","RESERVED_PORPS","getFormatFromAttrs","fromAttrs","getFormatToAttrs","checkExistedAttrs","animations","onFrame","startTime","initAnimate","getDefaultMatrix","applyTo","parentMatrix","Cons","_cloneArrayAttr","cons","cfgName","isAnimatePaused","isPaused","timer","initTimer","pauseCallback","resumeCallback","formatToAttrs","pathFormatted","addAnimator","toEnd","pauseAnimate","pauseTime","_paused","_pauseTime","resumeAnimate","eventObj","relativeShape","paths","subName","emitDelegateEvent","this_1","translateX","translateY","newMatrix","targetX","targetY","ratioX","ratioY","rotateAtStart","BrowserInfo","os","NodeInfo","platform","SearchBotDeviceInfo","bot","BotInfo","ReactNativeInfo","SEARCHBOT_OS_REGEX","userAgentRules","operatingSystemRules","userAgent","parseUserAgent","navigator","product","matchUserAgent","ua","matched","uaMatch","matchedRule","versionParts","output","createVersionParts","detectOS","searchBotMatch","regexPR","addStop","addColorStop","gradientStr","tanTheta","tanTheta2","createLinearGradient","parseLineGradient","fx","fy","fr","createRadialGradient","parseRadialGradient","patternStr","createPattern","complete","parsePattern","global","initCanvas","drawBackground","fillRect","getUnitPatternSize","isStagger","unitSize","getSymbolsPosition","transformMatrix","dpr","lineStyle","lineShape","pointMapping","areaMapping","areaState","areaParams","lineGeometry","base_1","tooltip_1","formatData","funnelStyle","datumIndex","initLineOption","basicFunnel","RANGE_VALUE","RANGE_TYPE","PERCENT","DEFAULT_COLOR","INDICATEOR_VIEW_ID","RANGE_VIEW_ID","indicator","pin","statistic","progressStyle","barWidthRatio","getProgressData","clampPercent","plot_1","TREND_FIELD","TREND_UP","TREND_DOWN","defaultContent","risingFill","fallingFill","BOX_RANGE","BOX_RANGE_ALIAS","BOX_SYNC_NAME","OUTLIERS_VIEW_ID","boxStyle","drill_down_1","isParentNode","inCenter","types_1","isColumn","DualAxesGeometry","Column","isLine","getGeometryOption","transformObjectToArray","transformAttribute","getYAxisWithDefault","axisType","AxisType","Left","DEFAULT_LEFT_YAXIS_CONFIG","Right","DEFAULT_RIGHT_YAXIS_CONFIG","COLOR_FIELD","NODES_VIEW_ID","EDGES_VIEW_ID","SUNBURST_ANCESTOR_FIELD","SUNBURST_Y_FIELD","SUNBURST_PATH_FIELD","RAW_FIELDS","hierarchyConfig","sunburstStyle","drilldown","enabled","placeElementsOrdered","DIFF_FIELD","ABSOLUTE_FIELD","IS_TOTAL","leaderLine","waterfallStyle","defaultSeparation","meanXReduce","maxYReduce","separation","nodeSize","cluster","previousNode","eachAfter","meanX","leafLeft","leafRight","_regeneratorRuntime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","err","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","unwrapped","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","abrupt","return","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","mark","awrap","async","iter","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","catch","thrown","delegateYield","_marked","_callee","_context","hierarchy","mapChildren","objectChildren","childs","Node","eachBefore","computeHeight","copyData","_defineProperty","that","_step","_iterator","_createForOfIteratorHelper","ancestor","aNodes","bNodes","leastCommonAncestor","descendants","leaves","node_iterator","circles","shuffle","B","enclosesWeak","encloseBasis","extendBasis","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","dr","x21","y21","r21","d3","ab","xa","xb","ya","yb","place","intersects","packEnclose","aa","ca","sj","sk","enclose","optional","required","constantZero","defaultRadius","radiusLeaf","packChildren","translateChild","constant","partition","treemapDice","positionNode","roundNode","preroot","ambiguous","defaultId","defaultParentId","parentId","stratify","nodeId","nodeKey","nodeByKey","nextLeft","nextRight","moveSubtree","wm","wp","nextAncestor","vim","TreeNode","tree","treeRoot","firstWalk","secondWalk","sizeNode","tx","kx","ky","executeShifts","midpoint","vip","vop","vom","sip","sop","sim","som","apportion","phi","squarifyRatio","nodeValue","sumValue","newRatio","minRatio","beta","dice","treemapSlice","squarify","tile","paddingStack","paddingInner","treemap","paddingOuter","sums","valueOffset","valueTarget","valueLeft","valueRight","xk","yk","resquarify","_squarify","getMethod","mergeBBox","mergeArrowBBox","getExtraFromSegmentWithAngle","currentAndPre","currentAndNext","preAndNext","currentAngle","xExtra","yExtra","segmentsWithAngle","EllipseArcUtil","getPathBox","freeProcess","nodeUtil","types","binding","_isInBBox","clearCacheBBox","calculateCanvasBBox","shadowLeft","shadowRight","shadowTop","shadowBottom","inBBox","BRAND","getMessage","argIndex","deep","adapteStyle","styleObject","justifyContent","alignItems","shapeStyleKeys","setStatisticContainerStyle","plotType","titleOpt","contentOpt","containerW","liquidShape","customHtml","polarCoord","polarCenter","polarMaxY","containerWidth","dot_1","square_1","createDotPattern","createLinePattern","createSquarePattern","setGlobal","_len","_key","SensorTabIndex","SensorClassName","SizeSensorId","adaptor_1","Mix","bar_1","adaptor_2","column_1","adaptor_3","funnel_1","adaptor_4","gauge_1","adaptor_5","histogram_1","adaptor_6","adaptor_7","pie_1","adaptor_8","progress_1","adaptor_9","ring_progress_1","adaptor_10","scatter_1","adaptor_11","stock_1","adaptor_12","tiny_area_1","adaptor_13","tiny_column_1","adaptor_14","tiny_line_1","adaptor_15","PLOT_ADAPTORS","pie","column","bar","gauge","progress","scatter","histogram","stock","PLOT_CONSTRUCTOR","Pie","Bar","Gauge","TinyLine","TinyColumn","TinyArea","RingProgress","Progress","Scatter","Histogram","Funnel","Stock","DEFAULT_OPTIONS_MAP","execPlotAdaptor","plot","areaShape","lineMapping","lineParams","areaGeometry","switchedFieldOptions","verticalAxis","horizontalAxis","coordinateOptions","barStyle","minBarWidth","maxBarWidth","barBackground","columnBackground","BRUSH_TYPES","brush","getInteractionCfg","buttonConfig","button","reset_button_1","interactionType","brushType","isStartEnable","conversionTagFormatter","CONVERSATION_FIELD","PERCENT_FIELD","TOTAL_PERCENT_FIELD","locale_1","conversion_1","basic_1","compare_1","dynamic_height_1","facet_1","interactions_1","compareField","defaultOption","dynamicHeight","facetFunnel","compareFunnel","dynamicHeightFunnel","FUNNEL_LEGEND_FILTER","interactionStart","showFacetTitle","formatterData","defaultFacetLabel","compareConversionTag","viewIndex","funnel_conversion_tag_1","ConversionTagAction","indicatorView","getIndicatorData","rangeView","getRangeData","gaugeStyle","meter","rangeWidth","indicatorData","rangeData","rangeColor","contentOption","transformContent","processRangeData","clampTicks","binField","binNumber","binWidth","stackField","binHistogram","getBinKey","originData_copy","_binWidth","_defaultBinNumber","LN2","sturges","bins","bin","binKey","groupKey","groupKeyBinKey","plotData","HISTOGRAM_X_FIELD","HISTOGRAM_Y_FIELD","contants_1","prevOptions","angleField","prevData","curData","isAllZero","pieAnnotation","pieStyle","content_1","dataum","angleScale","labelLayoutType","inner","outer","spider","labelLayoutCfg","adaptOffset","transformStatisticOptions","titleOpt_1","contentOpt_1","dataValue","getTotalValue","metaFormatter","startStages_1","PIE_STATISTIC","stage","radio","legend_active_1","statistic_active_1","StatisticAction","PieLegendAction","ORIGIN_MATRIX","ulMatrix","defaultOffset","BRUSH_FILTER_EVENTS","transformOptions","util_2","isOneX","isOneY","meta_1","getMeta","pointStyle","newOptions","shapeLegend","sizeLegend","showLegend","scatterGeometry","scatterAnnotation","quadrant","xBaseline","yBaseline","regionStyle_1","regionStyle","defaultConfig_1","getQuadrantDefaultConfig","labelStyle","regressionLine","style_1","equationStyle","equationStyle_1","showEquation","showEquation_1","defaultStyle_1","defaulEquationStyle_1","equation","getStockData","constant_2","stockStyle","baseMeta","open","close","high","low","FIRST_AXES_VIEW","SECOND_AXES_VIEW","SERIES_FIELD_KEY","hopeData","data1","data2","__axisPosition","newData","low_1","q1_1","median_1","q3_1","high_1","getSeriesFieldKey","measureField","rangeField","ds","rangeValues","flat","rKey","measureValues","mKey","targetValues","tKey","NODE_COLOR_FIELD","EDGE_COLOR_FIELD","nodeStyle","edgeStyle","nodePaddingRatio","nodeWidthRatio","LEFT_AXES_VIEW","RIGHT_AXES_VIEW","DEFAULT_YAXIS_CONFIG","getLiquidData","matrix_1","getWaterWavePositions","waveLength","getWaterWavePath","waterLevel","phase","curves","_phase","waveRight","addWaterWave","waveCount","waveAttrs","wave","builtInShapeByName","cpX","cpY","outline","border","minXPoint","getFillAttrs","outlineAttrs","getLineAttrs","shapePath","waves","clipPath","circle_1","layout_1","getNodeWidthRatio","nodeWidth","getNodePaddingRatio","nodePadding","transformToViewsData","sankeyLayoutInputData","dataType","nodeAlign","nodeSort","nodeDepth","isNodeLink","cutoffCircle","sankeyLayout","isNode","edges","targetDepth","justify","sourceLinks","targetLinks","minBy","d3Hierarchy","ignoreParentValue","getTileMethod","tileMethod","treemap_1","findInteraction","enableInteraction","enableDrillInteraction","resetDrillDown","drillDownInteraction","enableDrillDown","curPath","ancestorNode","originalModule","webpackPolyfill","zeros","norm2","weightedSum","w1","wolfeLineSearch","pk","phi0","phiPrime0","fxprime","phi_old","phiPrime","a_lo","a_high","phi_lo","iteration","bisect","parameters","maxIterations","fA","fB","fMid","nelderMead","maxDiff","nonZeroDelta","zeroDelta","minErrorDelta","minTolerance","rho","chi","psi","sigma","N","simplex","updateSimplex","sortOrder","reflected","contracted","expanded","history","sortedSimplex","worst","shouldReduce","conjugateGradient","delta_k","gradientDescent","learnRate","gradientDescentLineSearch","functionCalls","zerosM","containedInCircles","circleArea","circleCircleIntersection","intersectionArea","stats","intersectionPoints","parentIndex","getIntersectionPoints","innerPoints","arcArea","polygonArea","arcs","midPoint","angleDiff","smallest","disjoint","circleOverlap","VIOLIN_Y_FIELD","VIOLIN_SIZE_FIELD","MIN_MAX_FIELD","QUANTILE_FIELD","MEDIAN_FIELD","VIOLIN_VIEW_ID","MIN_MAX_VIEW_ID","QUANTILE_VIEW_ID","MEDIAN_VIEW_ID","kde","sampleSize","violinStyle","pdfast_1","quantile_1","toBoxValue","q1","quantile","q3","minMax","toViolinValue","pdfOptions","pdfResults","violinSize","violinY","transformViolinData","resultList","seriesGroup","series","newYField","dIdx","WORD_CLOUD_COLOR_FIELD","timeInterval","wordStyle","rotationSteps","rotateRatio","padding_1","word_cloud_1","getSize","containerSize","resolvePadding","getFontSizeMapping","fMin_1","fMax_1","getSingleKeyValues","getRotate","resolveRotate","perSize","numbers","rawOptions","chartPadding","imageMask","wordField","spiral","placementStrategy","words","hasText","functor","wordCloud","processImageMask","rej","HTMLImageElement","onerror","ERROR","taskHead","taskTail","frame","clockLast","clockNow","clockSkew","clock","performance","setFrame","clearNow","Timer","_call","_time","_next","restart","wake","timerFlush","t0","sleep","nap","poke","clearInterval","setInterval","definition","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","formatHex","color_formatRgb","formatRgb","rgbn","Rgb","rgba","hsla","rgbConvert","rgb_formatHex","hex","rgb_formatRgb","clampa","clampi","Hsl","hslConvert","clamph","clampt","hsl2rgb","basis","v3","channels","displayable","formatHex8","formatHsl","brighter","darker","gamma","nogamma","exponential","rgbGamma","colorRgb","rgbSpline","spline","isNumberArray","ArrayBuffer","isView","DataView","genericArray","nb","na","setTime","reA","reB","am","bm","bs","bi","one","string","numberArray","valueOf","IDENTITY_MATRIX","elapsed","cProps","interf","toPathPoint","fromPathPoint","cPathPoint","interpolate","_update","Timeline","animators","d3Timer","removeAnimator","isAnimating","stopAllAnimations","animator","emitTargetEvent","bubbleEvent","isOverEvent","EventController","draggingShape","dragging","mousedownShape","mousedownPoint","_eventCallback","_triggerEvent","_onDocumentMove","_getPointInfo","_emitEvent","_onDocumentMouseUp","_afterDrag","_bindEvents","_clearEvents","_getEventObj","_getShape","clientPoint","getClientByEvent","getPointByEvent","leaveCanvas","preShape","_onmousedown","mousedownTimeStamp","_emitMouseoverEvents","_emitDragoverEvents","isCanvasEmit","_onmouseup","_ondragover","_onmousemove","timeWindow","isFirefox","initTimeline","setDOMSize","eventController","getRenderer","getCursor","layerX","layerY","clientInfo","touches","changedTouches","getClientByPoint","renderTag","tagCfg","maxLength","ellipsisPosition","tagGroup","maxTextLength","LineAnnotation","Theme","renderLine","TextAnnotation","resetLocation","textGroup","ArcAnnotation","renderArc","largeFlag","RegionAnnotation","renderRegion","ImageAnnotation","renderImage","getImageAttrs","DataMarkerAnnotation","renderText","renderPoint","textAttrs","isVertival","xFactor","yFactor","lineDisplay","DataRegionAnnotation","RegionFilterAnnotation","shapeIdx","adjustShapeAttrs","ShapeAnnotation","HtmlAnnotation","alignX","alignY","domWidth","domHeight","AxisBase","overlapOrder","tickStates","optimize","displayWithLabel","tickLineStyle","threshold","drawTicks","drawTitle","setItems","updateItem","clearItems","itemGroup","updateTickStates","getItemStates","getSidePoint","getSideVector","getTextAnchor","getTextBaseline","processOverlap","getTickLineItems","tickLineItems","tickLineLength","tickSegment","getTickPoint","tickId","getSubTickLineItems","subTickLineItems","subCount","tickLineCount","getTickLineAttrs","tickItem","tickItems","defaultTickLineStyle","drawTick","tickLineGroup","drawTickLines","tickCfg","subTickLineItems_1","processTicks","optimizeTicks","drawLabels","applyTickStates","page_1","optimizedTicks","getLabelAttrs","defaultLabelStyle","afterProcessTicks_1","getTitleAttrs","titleCfg","titleHeight","titlePoint","getAxisVector","titleAttrs","titleShape","drawDescriptionIcon","descriptionShape","startX","x5","y5","x6","y6","x7","y7","labelStateStyle","tickLineId","tickLineShape","tickLineStateStyle","tickLineCfg","ellipseLabels","getDefault","ellipsisTail","ellipsisHead","ellipsisMiddle","getRotateAngle","isRotate","isOverlap","overlap","prevBBox","reserveOne","labelsGroup","autoHideCfg","hasHide","parityHide","firstBBox","equidistance","reserveFirst","reserveLast","reserveBoth","preLabel","equidistanceWithReverseBoth","labelRotate","setLabelsAngle","fixedAngle","customRotate","unfixedAngle","regionX","regionY","axisVector","normal","verticalVector","titleSpacing","canProcessOverlap","autoProcessOverlap","hasAdjusted","util","OverlapUtil","overlapCfg","verticalFactor_1","newAlign","large","sweep","vecLen","stops","Gradient","ATTR_MAP","shadowOpacity","SHADOW_DIMENSION","Shadow","_parseShadow","Arrow","_setDefaultPath","_setMarker","Clip","shapeEl","Pattern","Defs","defaultArrow","arrow","autoDraw","srcElement","tagName","AbstractCanvas","CrosshairBase","renderBackground","textId","LineCrosshair","HtmlCrosshair","crosshairTpl","textTpl","HtmlTheme","resetText","initCrossHair","crosshairEl","textEl","alignText","BACKGROUND_STYLE","LINE_STYLE","AREA_STYLE","pointsToPath","dataToPath","getSmoothLinePath","linePathToAreaPath","areaPath","lineYPx","lineY","getAreaLineY","Trend","isArea","DEFAULT_HANDLER_STYLE","Handler","FOREGROUND_STYLE","HANDLER_STYLE","TEXT_STYLE","onMouseDown","prevX","pageX","prevY","pageY","containerDOM","getContainerDOM","onMouseMove","onMouseUp","offsetXRange","adjustOffsetRange","updateStartEnd","updateUI","setRange","oldStart","oldEnd","newStart","newEnd","validCfg","minHandler","maxHandler","trend","silent","handlerWidth","handlerHeight","foregroundShape","minTextShape","maxTextShape","_dodgeText","minAttrs","maxAttrs","foreground","offsetRange","minBBox","maxBBox","GridBase","alternateColor","closed","getLineType","drawGrid","getAlternatePath","prePoints","getGridPath","reversePoints","nextPath","getPathStyle","preItem","lineId","gridPath","regionId","drawAlternateRegion","lineType","sweepFlag_1","LegendBase","getDrawPoint","setDrawPoint","resetDraw","drawLegendContent","DEFAULT_PAGE_NAVIGATOR","ROTATE_MAP","up","down","currentPageIndex","totalPagesCnt","pageWidth","pageHeight","onNavigationBack","updateNavigation","getCurrentNavigationMatrix","onNavigationAfter","itemWidth","itemHeight","itemBackground","alignRight","itemElement","offsetGroup","drawItem","getItemHeight","processItems","drawItems","itemContainerGroup","wrapped","subGroup","adjustNavigation","drawMarker","markerAttrs","drawItemText","textName","xPosition","drawRadio","radioCfg","showRadio","radioShape","tip","groupId","subContainer","getLimitItemWidth","curX","markerShape","itemMarkerSpacing","nameShape","valueShape","applyItemStates","subGroups","navigation","drawNavigation","navigationBBox","widthLimit","maxRow","maxRowHeight_1","navigationX_1","shouldWrap","cntPerPage_1","styleCfg","arrowStyle","leftArrow","drawArrow","leftArrowBBox","rightArrow","cursorX","updateArrowPath","itemStates_1","elName","ContinueLegend","getCurrentValue","resetTrackClip","resetHandlers","bindSliderEvent","bindRailEvent","bindTrackEvent","drawRail","fixedElements","resetTrack","bindHandlersEvent","getValueByCanvasPoint","curValue","curDiff","dValue","drawLabel","labelAlign","labelFormatter","alignAttrs","getLabelAlignAttrs","getRailPath","railCfg","getTrackColor","getTrackPath","getRailShape","getClipTrackAttrs","railBBox","getRailBBox","getPointByValue","getTrackAttrs","trackCfg","trackId","trackShape","trackAttrs","getRailCanvasBBox","isVertcal","resetHandler","getHandlerPath","handlerCfg","oneSixthWidth","triangleX","triangleY","handlerShape","railShape","minLabel","maxLabel","fixedVertail","fixedHorizontal","fitRailLength","minLabelBBox","maxLabelBBox","lengthField","changeRailLength","changeRailPosition","railHeight","maxLabelWidth","CssConst","xCrosshairTpl","yCrosshairTpl","crosshairsRegion","TooltipTheme","renderCustomContent","resetTitle","renderItems","clearCrosshairs","setTitle","clearItemDoms","setCrossHairsVisible","xCrosshairDom","yCrosshairDom","getHtmlContentNode","cacheDoms","limitBox","getPointByPosition","outSides","getOutSides","getAlignPoint","resetCrosshairs","curContainer","replaceChild","titleDom","listDom","innerText","crosshairBox","resetCrosshair","croshairDom","checkCrosshair","domName","tplName","constName","substituteObj","domStr","itemDom","getRefXY","preTest","_clearFrame","curShape","_getRefreshRegion","drawFrame","clearAnimationFrame","_startDraw","_drawAll","_drawRegion","DEFAULT_THEME","onStartEvent","isMobile","startPos","bindLaterEvent","endPos","updateThumbOffset","onTrackClick","newOffset","validateRange","onThumbMouseOver","onThumbMouseOut","originalValue","minThumbLen","renderTrackShape","renderThumbShape","themeSize","thumbShape","emitOffsetChange","adjustDataArray","marginRatio","customOffset","xDimensionLegenth","groupDataArray","frameIndex","getDistribution","valueArr","valIndex","getDodgeOffset","tickLength","getIntervalOnlyOffset","getDodgeOnlyOffset","getIntervalAndDodgeOffset","normalizedIntervalPadding","normalizedDodgePadding","geomWidth","normalizedMaxWidht","normalizedMinWidht","adjustGroup","getAdjustOffset","Cache","processStack","processOneDimStack","positive","negative","xKey","newXValue","stackHeight","stackValue","getXValuesMaxMap","off_1","getDimMaxValue","dimValues","flattenValues","G2","en_US_1","zh_CN_1","lab_1","Lab","bidirectional_bar_1","BidirectionalBar","box_1","Box","bullet_1","Bullet","chord_1","Chord","circle_packing_1","CirclePacking","dual_axes_1","DualAxes","FUNNEL_CONVERSATION_FIELD","heatmap_1","liquid_1","Liquid","mix_1","radar_1","Radar","radial_bar_1","RadialBar","rose_1","Rose","sankey_1","Sankey","sunburst_1","Sunburst","Treemap","venn_1","Venn","waterfall_1","Waterfall","WordCloud","plugin_1","EN_US_LOCALE","ZH_CN_LOCALE","adaptors","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","run","runClearTimeout","Item","nextTick","env","argv","versions","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","cwd","chdir","umask","flows","getAllElements","getAllGeometriesRecursively","labelOptions","context_1","getCanvasContext","matrix_util_1","points2Path","drawDot","defaultDotPatternCfg","dotCfg","dots_1","Path2D","defaultLinePatternCfg","lineCfg","drawSquare","strokeRect","defaultSquarePatternCfg","squareCfg","squares","squares_1","general","increase","decrease","waterfall","otherAdaptor","stepType","ver","_sensorPool","sensor","getSensor","removeSensor","_id","_sensors","_constant","Sensors","sensorId","newId","createSensor","_object","_resizeObserver","ResizeObserver","_debounce","resizeListener","listener","contentDocument","newSensor","disconnect","observe","Stage","notice","DEV","BETA","STABLE","multiView","viewOfG2","multiPlot","plots","BUTTON_ACTION_CONFIG","buttonStyle","drawText","INTERACTION_MAP","getStartStages","disable","getConversionTagOptionsWithDefaults","horizontal","headSize","elemPrev","elemNext","pointPrev","pointNext","totalWidth","renderArrowTag","textWidth","cWidth","cEnd","textAdjusted","renderTextTag","disabled","preItemX","preItemY","rendering","conversionTag_1","STEP","stepRatio","STEP_RATIO","COORD_START_ANGLE","COORD_END_ANGLE","INTERVAL","START_ANGLE","END_ANGLE","marker_active_1","MarkerActiveAction","getView","InteractionAction","getActiveElements","item_1","getActiveElementLabels","transfrom","getAnnotations","_view","getInitialAnnotation","initialAnnotation","colorField_1","initialStatistic","d3_regression_1","REGRESSION_MAP","exp","regressionExp","regressionLinear","loess","regressionLoess","regressionLog","poly","regressionPoly","regressionPow","quad","regressionQuad","xScaleView","yScaleView","pathData","algorithm","customEquation","getRegressionEquation","reg","safeFormat","rSquared","coefficients","xFieldValue","yFieldValue","xIsPositiveNumber","yIsPositiveNumber","getMetaMinMax","fieldMeta","getCustomValue","_slicedToArray","_arrayWithHoles","_arr","_n","_s","_iterableToArrayLimit","_nonIterableRest","xv","yv","Float64Array","ux","uy","visitPoints","iterations","determination","uY","predict","SSE","SST","sse","sst","interpose","xmin","xmax","LOG10E","found","mp","ols","uX","uXY","uX2","slope","YL","XY","XYL","X2Y","ly","_ols2","X2","intercept","bandwidth","_points2","bw","yhat","residuals","robustWeights","W","denom","tricube","xkw","updateInterval","medianResidual","_w","logarithmic","lb","lx","quadratic","X3","X4","n0","X2X2","polynomial","_o","lhs","rhs","coef","gaussianElimination","uncenter","YS","Association","getAssociationItems","linkField","firstViewData","secondViewData","firstView","secondView","aliasMap","metaKey","leftGeometry","rightGeometry","leftLabelCfg","positionMap_1","outliersView","yFieldName","outliersPoint","outliersField","outliersStyle","outliersViewData","syncName","bulletStyle","extData","rangeGeometry","measureGeometry","targetGeometry","chordLayoutInputData","chordLayout","nodesData","edgesData","chordData","nodeGeometry","nodeView","edgeGeometry","edgeView","edgeOptions","sourceWeight","targetWeight","chordLayoutOptions","nodeById","forIn","inEdges","outEdges","frequency","processGraph","localeCompare","sortNodes","nodePaddingRatio_1","margin_1","nodeWidthRatio_1","totalValue_1","deltaX","deltaX_1","layoutNodes","valueById_1","sId","tId","sNode","tNode","sValue","currentSValue","sStart","sEnd","tValue","currentTValue","tStart","tEnd","locatingEdges","diameter","tempAppendPadding","appendPaddingByDrilldown","resolvePaddingForCircle","finalSize","circleSize","nameFormatter","valueFormatter","adaptorInteraction","pack_1","tempPadding","wSize","hSize","restWidthPadding","restHeightPadding","packLayout","legend_1","option_1","render_sider_1","geometryOptions","allLine","createViews","SORT_MAP","drawSingleGeometry","themeColor","groupScale","leftView","rightView","leftLegend_1","rightLegend_1","leftItems","getViewLegendItems","rightItems","isGeometry","viewId","yF","legendItem_1","doSliderFilter","FIELD_KEY","adjust_1","legendItemName","attrItems","sliderValue","utils_3","facetAdaptor","facetType","restFacetCfg","viewOptions","execViewAdaptor","plotOptions","sizeRatio","heatmapStyle","checkedSizeRatio","dautm","maxSideLength","sideLength","liquidStyle","areaOptions","radar_tooltip_action_1","RadarTooltipAction","RadarTooltipController","cfgTitle","hintItems","title_1","result_1","displayTitle","TooltipController","getTooltipController","maxAngle","actualData","getStackedData","getScaleMax","intervalGeometry","yData","formatRadian","stackedData","valueItem","sectorStyle","helper_1","edgeState","isLast","nodesView","edgesView","nodeState","nodeDraggable","nodeInteractions","edgeInteractions","getNodes","graphMatrix","removedData","visited","DFS","dfsNode","ALIGN_METHOD","getNodeAlignFunction","sankeyLayoutOptions","layoutData","sankey","extent","sankeyProcessor","align_1","ascendingSourceBreadth","ascendingBreadth","ascendingTargetBreadth","defaultNodes","graph","defaultLinks","computeLinkBreadths","nodes_1","linkSort","nodes_2","computeNodeLinks","nodes_3","fixedValue","sumBy","computeNodeValues","maxDepth","maxValueBy","computeNodeDepths","computeNodeHeights","columns","nodes_4","columns_1","computeNodeLayers","minValueBy","columns_2","nodes_6","nodes_5","reorderLinks","initializeNodeBreadths","relaxRightToLeft","relaxLeftToRight","computeNodeBreadths","targetTop","dy_1","reorderNodeLinks","resolveCollisions","column_2","sourceTop","dy_2","subject","resolveCollisionsBottomToTop","resolveCollisionsTopToBottom","dy_3","dy_4","targetLinks_1","sourceLinks_1","nodes_7","node_drag_1","SankeyNodeDragAction","isDragging","isNodeElement","getNodeView","getEdgeView","getCurrentDatumIdx","currentElementIdx","prevNodeAnimateCfg","prevEdgeAnimateCfg","prevDatum","datumGap_1","nextDatum","edgeData","pathFormatter","partition_1","activeDepth","transData","rectStyle","viewZoomInteraction","colorMap","colorPalette","setsField","getColorMap","LEGEND_SPACE","currSets","sets","filterSets","islegalSets","vennData","layoutVennData","colorOptions","map_1","transformColor","customLabelInfo","vennInteraction","MAP_1","active_1","highlight_1","selected_1","VennElementActive","VennElementHighlight","VennElementSelected","VennElementSingleSelected","syncElementsPos","ElementSelectedAction","ElementSingleSelectedAction","VennLabel","path_util_1","fillAttrs","blend_1","diagram_1","colorPaletteLen","colorArr","blend","solution","venn","scaleSolution","textCenters","computeTextCentres","setCircles","intersectionAreaPath","legalArr","testArr","color_util_1","blendObject","screen","overlay","darken","lighten","dodge","burn","colorToArr","rgbaArr","innerBlend","c0","blendRgbArr","g0","g1","fmin_1","circleintersection_1","circleMargin","interior","exterior","computeTextCentre","valid","areaStats","circlePath","areas","overlapped","circleids","circleid","getOverlappingCircles","areaids","exclude","overlaps","setid","centre","circleFromPath","tokens","wide","initialLayout","bestInitialLayout","loss","lossFunction","ids","pairs","addMissingAreas","setids","positions","setid_1","distanceFromIntersectArea","getDistanceMatrices","distances","constraints","greedyLayout","constrained","constrainedMDSLayout","restarts","matrices","norm","xj","yj","dij","constrainedMDSGradient","setOverlaps","rowid","mostOverlapped","positioned","isPositioned","positionSet","setIndex","extraPoints","bestLoss","bestPoint","localLoss","orientateCircles","orientation","orientationOrder","largestX","largestY","disjointCluster","maxDistance","xRoot","yRoot","disjointClusters","getBoundingBox","xRange","yRange","normalizeSolution","clusters","returnBounds","addCluster","centreing","xScaling","yScaling","scaling","TOOLTIP_FIELDS","violinView","boxView","minMaxView","quantileView","medianView","legendField_1","legendOptions","LN_2","helper","kernel","getUnifiedMinMax","getUnifiedMinMaxMulti","arrMulti","relaxMin","relaxMax","findMinMulti","findMaxMulti","normalizedMinMax","buckets","partialArea","partialAreas","accumulator","generatePartialAreas","fullArea","initalValue","bucket","xToBucket","leftBlockCount","rightBlockCount","spilledAreaLeft","spilledAreaRight","startGradPos","inside","gradAccumulator","getExpectedValueFromPdf","pdf","expected","getXWithLeftTailArea","getPerplexity","entropy","ln","findMin","findMax","quickselect","sd","quantileSelect","quantileIndex","indices","stack","multiQuantileSelect","results","localeTotalLabel","colorMapping","Y_FIELD_META","labelMode","leaderLineCfg","linkPath","cloudFont","cloudFontSize","cloudFontNormal","cloudRotate","cloudPadding","archimedeanSpiral","cloudText","cloudCanvas","cloud","board","dt","cloudCollide","sprite","sw","msx","contextAndRatio","willReadFrequently","zeroArray","tags","cloudSprite","hasImage","cloudBounds","_tags","_bounds","can","w32","cxt","imageData","spirals","tagCloud","cloudRadians","maxh","sr","cr","wcr","wsr","hcr","hsr","cw","xoff","yoff","seen","seenRow","archimedean","rectangular","sign","getTextAttrs","nativeObjectToString","symToStringTag","getRawTag","isOwn","unmasked","objectToString","baseGetTag","arrayEach","iteratee","createBaseFor","baseFor","fromRight","keysFunc","baseTimes","baseIsArguments","reIsUint","isIndex","isLength","typedArrayTags","baseIsTypedArray","baseUnary","nodeIsTypedArray","isTypedArray","arrayLikeKeys","inherited","isArr","isArg","isBuff","skipIndexes","overArg","nativeKeys","baseKeys","createBaseEach","baseEach","eachFunc","collection","castFunction","listCacheClear","__data__","eq","assocIndexOf","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","stackClear","stackDelete","stackGet","stackHas","uid","coreJsData","maskSrcKey","IE_PROTO","isMasked","funcToString","toSource","reIsHostCtor","funcProto","reIsNative","baseIsNative","getNative","nativeCreate","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","mapCacheClear","isKeyable","getMapData","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","stackSet","LARGE_ARRAY_SIZE","setCacheAdd","setCacheHas","SetCache","arraySome","cacheHas","equalArrays","bitmask","customizer","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","Uint8Array","mapToArray","setToArray","symbolProto","symbolValueOf","equalByTag","byteLength","byteOffset","buffer","message","stacked","arrayPush","baseGetAllKeys","symbolsFunc","arrayFilter","resIndex","stubArray","nativeGetSymbols","getSymbols","getAllKeys","equalObjects","objProps","objLength","objStacked","skipCtor","objValue","objCtor","othCtor","WeakMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","baseIsEqual","TAU","mapToEllipse","cosphi","sinphi","centerx","centery","approxUnitArc","ang1","ang2","vectorAngle","vx","vy","arcToBezier","xAxisRotation","largeArcFlag","pxp","pyp","rxsq","rysq","pxpsq","pypsq","radicant","centerxp","centeryp","vx1","vy1","vx2","vy2","getArcCenter","arcToCubic","LAF","SF","quadToCubic","lineToCubic","segmentToCubic","needZCommandIndexes","allPathCommands","pathCommand","zCommandIndexes","ni","pathIntersection","path2Curve"],"mappings":"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","file":"g2plot.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"G2Plot\"] = factory();\n\telse\n\t\troot[\"G2Plot\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 200);\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export * from './data';\nexport { deepAssign } from './deep-assign';\nexport { getContainerSize } from './dom';\nexport { flow } from './flow';\nexport * from './geometry';\nexport { invariant, LEVEL, log } from './invariant';\nexport { kebabCase } from './kebab-case';\nexport { transformLabel } from './label';\nexport { measureTextWidth } from './measure-text';\nexport { isBetween, isRealNumber } from './number';\nexport * from './padding';\nexport { getSplinePath } from './path';\nexport { pick } from './pick';\nexport { renderGaugeStatistic, renderStatistic } from './statistic';\nexport { template } from './template';\nexport { addViewAnimation, findViewById, getSiblingViews, getViews } from './view';\n",null,null,null,"import * as glMatrix from \"./common.js\";\n/**\n * 3x3 Matrix\n * @module mat3\n */\n\n/**\n * Creates a new identity mat3\n *\n * @returns {mat3} a new 3x3 matrix\n */\n\nexport function create() {\n var out = new glMatrix.ARRAY_TYPE(9);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n }\n\n out[0] = 1;\n out[4] = 1;\n out[8] = 1;\n return out;\n}\n/**\n * Copies the upper-left 3x3 values into the given mat3.\n *\n * @param {mat3} out the receiving 3x3 matrix\n * @param {ReadonlyMat4} a the source 4x4 matrix\n * @returns {mat3} out\n */\n\nexport function fromMat4(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[4];\n out[4] = a[5];\n out[5] = a[6];\n out[6] = a[8];\n out[7] = a[9];\n out[8] = a[10];\n return out;\n}\n/**\n * Creates a new mat3 initialized with values from an existing matrix\n *\n * @param {ReadonlyMat3} a matrix to clone\n * @returns {mat3} a new 3x3 matrix\n */\n\nexport function clone(a) {\n var out = new glMatrix.ARRAY_TYPE(9);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Copy the values from one mat3 to another\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Create a new mat3 with the given values\n *\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m10 Component in column 1, row 0 position (index 3)\n * @param {Number} m11 Component in column 1, row 1 position (index 4)\n * @param {Number} m12 Component in column 1, row 2 position (index 5)\n * @param {Number} m20 Component in column 2, row 0 position (index 6)\n * @param {Number} m21 Component in column 2, row 1 position (index 7)\n * @param {Number} m22 Component in column 2, row 2 position (index 8)\n * @returns {mat3} A new mat3\n */\n\nexport function fromValues(m00, m01, m02, m10, m11, m12, m20, m21, m22) {\n var out = new glMatrix.ARRAY_TYPE(9);\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m10;\n out[4] = m11;\n out[5] = m12;\n out[6] = m20;\n out[7] = m21;\n out[8] = m22;\n return out;\n}\n/**\n * Set the components of a mat3 to the given values\n *\n * @param {mat3} out the receiving matrix\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m10 Component in column 1, row 0 position (index 3)\n * @param {Number} m11 Component in column 1, row 1 position (index 4)\n * @param {Number} m12 Component in column 1, row 2 position (index 5)\n * @param {Number} m20 Component in column 2, row 0 position (index 6)\n * @param {Number} m21 Component in column 2, row 1 position (index 7)\n * @param {Number} m22 Component in column 2, row 2 position (index 8)\n * @returns {mat3} out\n */\n\nexport function set(out, m00, m01, m02, m10, m11, m12, m20, m21, m22) {\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m10;\n out[4] = m11;\n out[5] = m12;\n out[6] = m20;\n out[7] = m21;\n out[8] = m22;\n return out;\n}\n/**\n * Set a mat3 to the identity matrix\n *\n * @param {mat3} out the receiving matrix\n * @returns {mat3} out\n */\n\nexport function identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 1;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Transpose the values of a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function transpose(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache some values\n if (out === a) {\n var a01 = a[1],\n a02 = a[2],\n a12 = a[5];\n out[1] = a[3];\n out[2] = a[6];\n out[3] = a01;\n out[5] = a[7];\n out[6] = a02;\n out[7] = a12;\n } else {\n out[0] = a[0];\n out[1] = a[3];\n out[2] = a[6];\n out[3] = a[1];\n out[4] = a[4];\n out[5] = a[7];\n out[6] = a[2];\n out[7] = a[5];\n out[8] = a[8];\n }\n\n return out;\n}\n/**\n * Inverts a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function invert(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n var b01 = a22 * a11 - a12 * a21;\n var b11 = -a22 * a10 + a12 * a20;\n var b21 = a21 * a10 - a11 * a20; // Calculate the determinant\n\n var det = a00 * b01 + a01 * b11 + a02 * b21;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = b01 * det;\n out[1] = (-a22 * a01 + a02 * a21) * det;\n out[2] = (a12 * a01 - a02 * a11) * det;\n out[3] = b11 * det;\n out[4] = (a22 * a00 - a02 * a20) * det;\n out[5] = (-a12 * a00 + a02 * a10) * det;\n out[6] = b21 * det;\n out[7] = (-a21 * a00 + a01 * a20) * det;\n out[8] = (a11 * a00 - a01 * a10) * det;\n return out;\n}\n/**\n * Calculates the adjugate of a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\nexport function adjoint(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n out[0] = a11 * a22 - a12 * a21;\n out[1] = a02 * a21 - a01 * a22;\n out[2] = a01 * a12 - a02 * a11;\n out[3] = a12 * a20 - a10 * a22;\n out[4] = a00 * a22 - a02 * a20;\n out[5] = a02 * a10 - a00 * a12;\n out[6] = a10 * a21 - a11 * a20;\n out[7] = a01 * a20 - a00 * a21;\n out[8] = a00 * a11 - a01 * a10;\n return out;\n}\n/**\n * Calculates the determinant of a mat3\n *\n * @param {ReadonlyMat3} a the source matrix\n * @returns {Number} determinant of a\n */\n\nexport function determinant(a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n return a00 * (a22 * a11 - a12 * a21) + a01 * (-a22 * a10 + a12 * a20) + a02 * (a21 * a10 - a11 * a20);\n}\n/**\n * Multiplies two mat3's\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\nexport function multiply(out, a, b) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n var b00 = b[0],\n b01 = b[1],\n b02 = b[2];\n var b10 = b[3],\n b11 = b[4],\n b12 = b[5];\n var b20 = b[6],\n b21 = b[7],\n b22 = b[8];\n out[0] = b00 * a00 + b01 * a10 + b02 * a20;\n out[1] = b00 * a01 + b01 * a11 + b02 * a21;\n out[2] = b00 * a02 + b01 * a12 + b02 * a22;\n out[3] = b10 * a00 + b11 * a10 + b12 * a20;\n out[4] = b10 * a01 + b11 * a11 + b12 * a21;\n out[5] = b10 * a02 + b11 * a12 + b12 * a22;\n out[6] = b20 * a00 + b21 * a10 + b22 * a20;\n out[7] = b20 * a01 + b21 * a11 + b22 * a21;\n out[8] = b20 * a02 + b21 * a12 + b22 * a22;\n return out;\n}\n/**\n * Translate a mat3 by the given vector\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to translate\n * @param {ReadonlyVec2} v vector to translate by\n * @returns {mat3} out\n */\n\nexport function translate(out, a, v) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a10 = a[3],\n a11 = a[4],\n a12 = a[5],\n a20 = a[6],\n a21 = a[7],\n a22 = a[8],\n x = v[0],\n y = v[1];\n out[0] = a00;\n out[1] = a01;\n out[2] = a02;\n out[3] = a10;\n out[4] = a11;\n out[5] = a12;\n out[6] = x * a00 + y * a10 + a20;\n out[7] = x * a01 + y * a11 + a21;\n out[8] = x * a02 + y * a12 + a22;\n return out;\n}\n/**\n * Rotates a mat3 by the given angle\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat3} out\n */\n\nexport function rotate(out, a, rad) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a10 = a[3],\n a11 = a[4],\n a12 = a[5],\n a20 = a[6],\n a21 = a[7],\n a22 = a[8],\n s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = c * a00 + s * a10;\n out[1] = c * a01 + s * a11;\n out[2] = c * a02 + s * a12;\n out[3] = c * a10 - s * a00;\n out[4] = c * a11 - s * a01;\n out[5] = c * a12 - s * a02;\n out[6] = a20;\n out[7] = a21;\n out[8] = a22;\n return out;\n}\n/**\n * Scales the mat3 by the dimensions in the given vec2\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to rotate\n * @param {ReadonlyVec2} v the vec2 to scale the matrix by\n * @returns {mat3} out\n **/\n\nexport function scale(out, a, v) {\n var x = v[0],\n y = v[1];\n out[0] = x * a[0];\n out[1] = x * a[1];\n out[2] = x * a[2];\n out[3] = y * a[3];\n out[4] = y * a[4];\n out[5] = y * a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Creates a matrix from a vector translation\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.translate(dest, dest, vec);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyVec2} v Translation vector\n * @returns {mat3} out\n */\n\nexport function fromTranslation(out, v) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 1;\n out[5] = 0;\n out[6] = v[0];\n out[7] = v[1];\n out[8] = 1;\n return out;\n}\n/**\n * Creates a matrix from a given angle\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.rotate(dest, dest, rad);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat3} out\n */\n\nexport function fromRotation(out, rad) {\n var s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = c;\n out[1] = s;\n out[2] = 0;\n out[3] = -s;\n out[4] = c;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Creates a matrix from a vector scaling\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.scale(dest, dest, vec);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyVec2} v Scaling vector\n * @returns {mat3} out\n */\n\nexport function fromScaling(out, v) {\n out[0] = v[0];\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = v[1];\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Copies the values from a mat2d into a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to copy\n * @returns {mat3} out\n **/\n\nexport function fromMat2d(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = 0;\n out[3] = a[2];\n out[4] = a[3];\n out[5] = 0;\n out[6] = a[4];\n out[7] = a[5];\n out[8] = 1;\n return out;\n}\n/**\n * Calculates a 3x3 matrix from the given quaternion\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyQuat} q Quaternion to create matrix from\n *\n * @returns {mat3} out\n */\n\nexport function fromQuat(out, q) {\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var yx = y * x2;\n var yy = y * y2;\n var zx = z * x2;\n var zy = z * y2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n out[0] = 1 - yy - zz;\n out[3] = yx - wz;\n out[6] = zx + wy;\n out[1] = yx + wz;\n out[4] = 1 - xx - zz;\n out[7] = zy - wx;\n out[2] = zx - wy;\n out[5] = zy + wx;\n out[8] = 1 - xx - yy;\n return out;\n}\n/**\n * Calculates a 3x3 normal matrix (transpose inverse) from the 4x4 matrix\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyMat4} a Mat4 to derive the normal matrix from\n *\n * @returns {mat3} out\n */\n\nexport function normalFromMat4(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n var b00 = a00 * a11 - a01 * a10;\n var b01 = a00 * a12 - a02 * a10;\n var b02 = a00 * a13 - a03 * a10;\n var b03 = a01 * a12 - a02 * a11;\n var b04 = a01 * a13 - a03 * a11;\n var b05 = a02 * a13 - a03 * a12;\n var b06 = a20 * a31 - a21 * a30;\n var b07 = a20 * a32 - a22 * a30;\n var b08 = a20 * a33 - a23 * a30;\n var b09 = a21 * a32 - a22 * a31;\n var b10 = a21 * a33 - a23 * a31;\n var b11 = a22 * a33 - a23 * a32; // Calculate the determinant\n\n var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;\n out[1] = (a12 * b08 - a10 * b11 - a13 * b07) * det;\n out[2] = (a10 * b10 - a11 * b08 + a13 * b06) * det;\n out[3] = (a02 * b10 - a01 * b11 - a03 * b09) * det;\n out[4] = (a00 * b11 - a02 * b08 + a03 * b07) * det;\n out[5] = (a01 * b08 - a00 * b10 - a03 * b06) * det;\n out[6] = (a31 * b05 - a32 * b04 + a33 * b03) * det;\n out[7] = (a32 * b02 - a30 * b05 - a33 * b01) * det;\n out[8] = (a30 * b04 - a31 * b02 + a33 * b00) * det;\n return out;\n}\n/**\n * Generates a 2D projection matrix with the given bounds\n *\n * @param {mat3} out mat3 frustum matrix will be written into\n * @param {number} width Width of your gl context\n * @param {number} height Height of gl context\n * @returns {mat3} out\n */\n\nexport function projection(out, width, height) {\n out[0] = 2 / width;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = -2 / height;\n out[5] = 0;\n out[6] = -1;\n out[7] = 1;\n out[8] = 1;\n return out;\n}\n/**\n * Returns a string representation of a mat3\n *\n * @param {ReadonlyMat3} a matrix to represent as a string\n * @returns {String} string representation of the matrix\n */\n\nexport function str(a) {\n return \"mat3(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \", \" + a[4] + \", \" + a[5] + \", \" + a[6] + \", \" + a[7] + \", \" + a[8] + \")\";\n}\n/**\n * Returns Frobenius norm of a mat3\n *\n * @param {ReadonlyMat3} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\n\nexport function frob(a) {\n return Math.hypot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]);\n}\n/**\n * Adds two mat3's\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n out[4] = a[4] + b[4];\n out[5] = a[5] + b[5];\n out[6] = a[6] + b[6];\n out[7] = a[7] + b[7];\n out[8] = a[8] + b[8];\n return out;\n}\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n out[4] = a[4] - b[4];\n out[5] = a[5] - b[5];\n out[6] = a[6] - b[6];\n out[7] = a[7] - b[7];\n out[8] = a[8] - b[8];\n return out;\n}\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat3} out\n */\n\nexport function multiplyScalar(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n out[4] = a[4] * b;\n out[5] = a[5] * b;\n out[6] = a[6] * b;\n out[7] = a[7] * b;\n out[8] = a[8] * b;\n return out;\n}\n/**\n * Adds two mat3's after multiplying each element of the second operand by a scalar value.\n *\n * @param {mat3} out the receiving vector\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @param {Number} scale the amount to scale b's elements by before adding\n * @returns {mat3} out\n */\n\nexport function multiplyScalarAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n out[4] = a[4] + b[4] * scale;\n out[5] = a[5] + b[5] * scale;\n out[6] = a[6] + b[6] * scale;\n out[7] = a[7] + b[7] * scale;\n out[8] = a[8] + b[8] * scale;\n return out;\n}\n/**\n * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyMat3} a The first matrix.\n * @param {ReadonlyMat3} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\nexport function exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8];\n}\n/**\n * Returns whether or not the matrices have approximately the same elements in the same position.\n *\n * @param {ReadonlyMat3} a The first matrix.\n * @param {ReadonlyMat3} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\nexport function equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5],\n a6 = a[6],\n a7 = a[7],\n a8 = a[8];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a8), Math.abs(b8));\n}\n/**\n * Alias for {@link mat3.multiply}\n * @function\n */\n\nexport var mul = multiply;\n/**\n * Alias for {@link mat3.subtract}\n * @function\n */\n\nexport var sub = subtract;","import EE from '@antv/event-emitter';\nimport { Chart, Element, Event, View } from '@antv/g2';\nimport { each } from '@antv/util';\nimport { bind } from 'size-sensor';\nimport { Annotation, Options, Size, StateCondition, StateName, StateObject } from '../types';\nimport { deepAssign, getAllElementsRecursively, getContainerSize, pick } from '../utils';\nimport { Adaptor } from './adaptor';\n\n/** 单独 pick 出来的用于基类的类型定义 */\nexport type PickOptions = Pick<\n Options,\n | 'width'\n | 'height'\n | 'padding'\n | 'appendPadding'\n | 'renderer'\n | 'pixelRatio'\n | 'autoFit'\n | 'syncViewPadding'\n | 'supportCSSTransform'\n | 'limitInPlot'\n | 'locale'\n | 'defaultInteractions'\n>;\n\nconst SOURCE_ATTRIBUTE_NAME = 'data-chart-source-type';\n\n/** plot 图表容器的配置 */\nexport const PLOT_CONTAINER_OPTIONS = [\n 'padding',\n 'appendPadding',\n 'renderer',\n 'pixelRatio',\n 'syncViewPadding',\n 'supportCSSTransform',\n 'limitInPlot',\n];\n\n/**\n * 所有 plot 的基类\n */\nexport abstract class Plot extends EE {\n /**\n * 获取默认的 options 配置项\n * 每个组件都可以复写\n */\n static getDefaultOptions(): any {\n return {\n renderer: 'canvas',\n xAxis: {\n nice: true,\n label: {\n autoRotate: false,\n autoHide: { type: 'equidistance', cfg: { minGap: 6 } },\n },\n },\n yAxis: {\n nice: true,\n label: {\n autoHide: true,\n autoRotate: false,\n },\n },\n animation: true,\n };\n }\n\n /** plot 类型名称 */\n public abstract readonly type: string;\n /** plot 的 schema 配置 */\n public options: O;\n /** plot 绘制的 dom */\n public readonly container: HTMLElement;\n /** G2 chart 实例 */\n public chart: Chart;\n /** resizer unbind */\n private unbind: () => void;\n\n constructor(container: string | HTMLElement, options: O) {\n super();\n this.container = typeof container === 'string' ? document.getElementById(container) : container;\n\n this.options = deepAssign({}, this.getDefaultOptions(), options);\n\n this.createG2();\n\n this.bindEvents();\n }\n\n /**\n * 创建 G2 实例\n */\n private createG2() {\n const { width, height, defaultInteractions } = this.options;\n\n this.chart = new Chart({\n container: this.container,\n autoFit: false, // G2Plot 使用 size-sensor 进行 autoFit\n ...this.getChartSize(width, height),\n localRefresh: false, // 默认关闭,目前 G 还有一些位置问题,难以排查!\n ...pick(this.options, PLOT_CONTAINER_OPTIONS),\n defaultInteractions,\n });\n\n // 给容器增加标识,知道图表的来源区别于 G2\n this.container.setAttribute(SOURCE_ATTRIBUTE_NAME, 'G2Plot');\n }\n\n /**\n * 计算默认的 chart 大小。逻辑简化:如果存在 width 或 height,则直接使用,否则使用容器大小\n * @param width\n * @param height\n */\n private getChartSize(width: number, height: number): Size {\n const chartSize = getContainerSize(this.container);\n return { width: width || chartSize.width || 400, height: height || chartSize.height || 400 };\n }\n\n /**\n * 绑定代理所有 G2 的事件\n */\n private bindEvents() {\n if (this.chart) {\n this.chart.on('*', (e: Event) => {\n if (e?.type) {\n this.emit(e.type, e);\n }\n });\n }\n }\n\n /**\n * 获取默认的 options 配置项\n * 每个组件都可以复写\n */\n protected getDefaultOptions(): any {\n return Plot.getDefaultOptions();\n }\n\n /**\n * 每个组件有自己的 schema adaptor\n */\n protected abstract getSchemaAdaptor(): Adaptor;\n\n /**\n * 绘制\n */\n public render() {\n // 暴力处理,先清空再渲染,需要 G2 层自行做好更新渲染\n this.chart.clear();\n // 因为子 view 会继承父 view 的 options 配置(包括 legend,所以会导致 legend 重复创建)\n // 所以这里给 chart 实例的 options 配置清空\n // 最好的解法是在 G2 view.clear 方法的时候,重置 options 配置。或者提供方法去 resetOptions\n // #1684 理论上在多 view 图形上,只要存在 custom legend,都存在类似问题(子弹图、双轴图)\n // @ts-ignore\n this.chart.options = {\n data: [],\n animate: true,\n };\n this.chart.views = []; // 删除已有的 views\n // 执行 adaptor\n this.execAdaptor();\n // 渲染\n this.chart.render();\n // 绑定\n this.bindSizeSensor();\n }\n\n /**\n * 更新: 更新配置且重新渲染\n * @param options\n */\n public update(options: Partial) {\n this.updateOption(options);\n this.render();\n }\n\n /**\n * 更新配置\n * @param options\n */\n protected updateOption(options: Partial) {\n this.options = deepAssign({}, this.options, options);\n }\n\n /**\n * 设置状态\n * @param type 状态类型,支持 'active' | 'inactive' | 'selected' 三种\n * @param conditions 条件,支持数组\n * @param status 是否激活,默认 true\n */\n public setState(type: StateName, condition: StateCondition, status: boolean = true) {\n const elements = getAllElementsRecursively(this.chart);\n\n each(elements, (ele: Element) => {\n if (condition(ele.getData())) {\n ele.setState(type, status);\n }\n });\n }\n\n /**\n * 获取状态\n */\n public getStates(): StateObject[] {\n const elements = getAllElementsRecursively(this.chart);\n\n const stateObjects: StateObject[] = [];\n each(elements, (element: Element) => {\n const data = element.getData();\n const states = element.getStates();\n each(states, (state) => {\n stateObjects.push({ data, state, geometry: element.geometry, element });\n });\n });\n\n return stateObjects;\n }\n\n /**\n * 更新数据\n * @override\n * @param options\n */\n public changeData(data: any) {\n // @ts-ignore\n this.update({ data });\n // TODO: 临时方案,最好使用下面的方式去更新数据\n // this.chart.changeData(data);\n }\n\n /**\n * 修改画布大小\n * @param width\n * @param height\n */\n public changeSize(width: number, height: number) {\n this.chart.changeSize(width, height);\n }\n\n /**\n * 增加图表标注。通过 id 标识,如果匹配到,就做更新\n */\n public addAnnotations(annotations: Annotation[], view?: View): void {\n view = view ? view : this.chart;\n const incoming = [...annotations];\n const controller = view.getController('annotation');\n const current = controller.getComponents().map((co) => co.extra);\n\n controller.clear(true);\n for (let i = 0; i < current.length; i++) {\n let annotation = current[i];\n\n const findIndex = incoming.findIndex((item) => item.id && item.id === annotation.id);\n if (findIndex !== -1) {\n annotation = deepAssign({}, annotation, incoming[findIndex]);\n incoming.splice(findIndex, 1);\n }\n controller.annotation(annotation);\n }\n\n incoming.forEach((annotation) => controller.annotation(annotation));\n view.render(true);\n }\n\n /**\n * 删除图表标注。通过 id 标识,如果匹配到,就做删除\n */\n public removeAnnotations(annotations: Array<{ id: string } & Partial>): void {\n const controller = this.chart.getController('annotation');\n const current = controller.getComponents().map((co) => co.extra);\n\n controller.clear(true);\n for (let i = 0; i < current.length; i++) {\n const annotation = current[i];\n\n if (!annotations.find((item) => item.id && item.id === annotation.id)) {\n controller.annotation(annotation);\n }\n }\n\n this.chart.render(true);\n }\n /**\n * 销毁\n */\n public destroy() {\n // 取消 size-sensor 的绑定\n this.unbindSizeSensor();\n // G2 的销毁\n this.chart.destroy();\n // 清空已经绑定的事件\n this.off();\n\n this.container.removeAttribute(SOURCE_ATTRIBUTE_NAME);\n }\n\n /**\n * 执行 adaptor 操作\n */\n protected execAdaptor() {\n const adaptor = this.getSchemaAdaptor();\n\n const { padding, appendPadding } = this.options;\n // 更新 padding\n this.chart.padding = padding;\n // 更新 appendPadding\n this.chart.appendPadding = appendPadding;\n\n // 转化成 G2 API\n adaptor({\n chart: this.chart,\n options: this.options,\n });\n }\n\n /**\n * 当图表容器大小变化的时候,执行的函数\n */\n protected triggerResize() {\n this.chart.forceFit();\n }\n\n /**\n * 绑定 dom 容器大小变化的事件\n */\n private bindSizeSensor() {\n if (this.unbind) {\n return;\n }\n\n const { autoFit = true } = this.options;\n if (autoFit) {\n this.unbind = bind(this.container, () => {\n // 获取最新的宽高信息\n const { width, height } = getContainerSize(this.container);\n\n // 主要是防止绑定的时候触发 resize 回调\n if (width !== this.chart.width || height !== this.chart.height) {\n this.triggerResize();\n }\n });\n }\n }\n\n /**\n * 取消绑定\n */\n private unbindSizeSensor() {\n if (this.unbind) {\n this.unbind();\n this.unbind = undefined;\n }\n }\n}\n","/**\n * view 中三层 group 分层 key\n */\nexport enum LAYER {\n /** 前景层 */\n FORE = 'fore',\n /** 中间层 */\n MID = 'mid',\n /** 背景层 */\n BG = 'bg',\n}\n\n/**\n * 组件在画布的布局方位 12 方位\n */\nexport enum DIRECTION {\n TOP = 'top',\n TOP_LEFT = 'top-left',\n TOP_RIGHT = 'top-right',\n RIGHT = 'right',\n RIGHT_TOP = 'right-top',\n RIGHT_BOTTOM = 'right-bottom',\n LEFT = 'left',\n LEFT_TOP = 'left-top',\n LEFT_BOTTOM = 'left-bottom',\n BOTTOM = 'bottom',\n BOTTOM_LEFT = 'bottom-left',\n BOTTOM_RIGHT = 'bottom-right',\n RADIUS = 'radius',\n CIRCLE = 'circle',\n // no direction information\n NONE = 'none',\n}\n\n/**\n * 组件的类型,可能会影响到布局算法\n */\nexport enum COMPONENT_TYPE {\n /** axis 组件 */\n AXIS = 'axis',\n /** grid 组件 */\n GRID = 'grid',\n /** legend 组件 */\n LEGEND = 'legend',\n /** tooltip 组件 */\n TOOLTIP = 'tooltip',\n /** annotation 组件 */\n ANNOTATION = 'annotation',\n /** 缩略轴组件 */\n SLIDER = 'slider',\n /** 滚动条组件 */\n SCROLLBAR = 'scrollbar',\n /** 其他组件,自定义组件 */\n OTHER = 'other',\n}\n\n/**\n * 三层 group 的 z index\n */\nexport const GROUP_Z_INDEX = {\n FORE: 3,\n MID: 2,\n BG: 1,\n};\n\n/**\n * View 的生命周期阶段(和 3.x 的生命周期略有不同)\n * 我们需要先确定在那写场景需要用到生命周期,如果只是为了在生命周期插入一下什么组件之类的,那么在现有架构就是不需要的\n */\nexport enum VIEW_LIFE_CIRCLE {\n BEFORE_RENDER = 'beforerender',\n AFTER_RENDER = 'afterrender',\n\n BEFORE_PAINT = 'beforepaint',\n AFTER_PAINT = 'afterpaint',\n\n BEFORE_CHANGE_DATA = 'beforechangedata',\n AFTER_CHANGE_DATA = 'afterchangedata',\n\n BEFORE_CLEAR = 'beforeclear',\n AFTER_CLEAR = 'afterclear',\n\n BEFORE_DESTROY = 'beforedestroy',\n\n BEFORE_CHANGE_SIZE = 'beforechangesize',\n AFTER_CHANGE_SIZE = 'afterchangesize',\n}\n\n/**\n * geometry 的生命周期\n */\nexport enum GEOMETRY_LIFE_CIRCLE {\n BEFORE_DRAW_ANIMATE = 'beforeanimate',\n AFTER_DRAW_ANIMATE = 'afteranimate',\n\n BEFORE_RENDER_LABEL = 'beforerenderlabel',\n AFTER_RENDER_LABEL = 'afterrenderlabel',\n}\n\n/**\n * 绘图区的事件列表\n */\nexport enum PLOT_EVENTS {\n // mouse 事件\n MOUSE_ENTER = 'plot:mouseenter',\n MOUSE_DOWN = 'plot:mousedown',\n MOUSE_MOVE = 'plot:mousemove',\n MOUSE_UP = 'plot:mouseup',\n MOUSE_LEAVE = 'plot:mouseleave',\n // 移动端事件\n TOUCH_START = 'plot:touchstart',\n TOUCH_MOVE = 'plot:touchmove',\n TOUCH_END = 'plot:touchend',\n TOUCH_CANCEL = 'plot:touchcancel',\n // click 事件\n CLICK = 'plot:click',\n DBLCLICK = 'plot:dblclick',\n CONTEXTMENU = 'plot:contextmenu',\n\n LEAVE = 'plot:leave',\n ENTER = 'plot:enter',\n}\n\n/**\n * Element 图形交互状态\n */\nexport enum ELEMENT_STATE {\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n SELECTED = 'selected',\n DEFAULT = 'default',\n}\n\n/** 参与分组的图形属性名 */\nexport const GROUP_ATTRS = ['color', 'shape', 'size'];\n/** 存储原始数据的字段名 */\nexport const FIELD_ORIGIN = '_origin';\n/** 最小的图表宽度 */\nexport const MIN_CHART_WIDTH = 1;\n/** 最小的图表高度 */\nexport const MIN_CHART_HEIGHT = 1;\n/** 辅助组件占图表的尺寸的最大比例:如图表上方的图例最多占图表高度的25% */\nexport const COMPONENT_MAX_VIEW_PERCENTAGE = 0.25;\n","import { IG } from '../dependents';\n\nconst ENGINES: Record = {};\n\n/**\n * 通过名字获取渲染 engine\n * @param name 渲染引擎名字\n * @returns G engine\n */\nexport function getEngine(name: string): IG {\n const G = ENGINES[name];\n\n if (!G) {\n throw new Error(`G engine '${name}' is not exist, please register it at first.`);\n }\n\n return G;\n}\n\n/**\n * 注册渲染引擎\n * @param name\n * @param engine\n */\nexport function registerEngine(name: string, engine: IG) {\n ENGINES[name] = engine;\n}\n","import { MIN_CHART_HEIGHT, MIN_CHART_WIDTH } from '../constant';\nimport { Size } from '../interface';\n\n/**\n * get the element's bounding size\n * @param ele dom element\n * @returns the element width and height\n */\nfunction getElementSize(ele: HTMLElement): Size {\n const style = getComputedStyle(ele);\n\n return {\n width:\n (ele.clientWidth || parseInt(style.width, 10)) -\n parseInt(style.paddingLeft, 10) -\n parseInt(style.paddingRight, 10),\n height:\n (ele.clientHeight || parseInt(style.height, 10)) -\n parseInt(style.paddingTop, 10) -\n parseInt(style.paddingBottom, 10),\n };\n}\n\n/**\n * is value a valid number\n * @param v the input value\n * @returns whether it is a number\n */\nfunction isNumber(v: any): boolean {\n return typeof v === 'number' && !isNaN(v);\n}\n\n/**\n * @ignore\n * calculate the chart size\n * @param ele DOM element\n * @param autoFit should auto fit\n * @param width chart width which is set by user\n * @param height chart height which is set by user\n * @returns the chart width and height\n */\nexport function getChartSize(ele: HTMLElement, autoFit: boolean, width: number, height: number): Size {\n let w = width;\n let h = height;\n\n if (autoFit) {\n const size = getElementSize(ele);\n\n w = size.width ? size.width : w;\n h = size.height ? size.height : h;\n }\n\n return {\n width: Math.max(isNumber(w) ? w : MIN_CHART_WIDTH, MIN_CHART_WIDTH),\n height: Math.max(isNumber(h) ? h : MIN_CHART_HEIGHT, MIN_CHART_HEIGHT),\n };\n}\n\n/**\n * @ignore\n * remove html element from its parent\n * @param dom\n */\nexport function removeDom(dom: HTMLElement) {\n const parent = dom.parentNode;\n\n if (parent) {\n parent.removeChild(dom);\n }\n}\n\n/** @ignore */\nexport { createDom, modifyCSS } from '@antv/dom-util';\n","import EE from '@antv/event-emitter';\n\ninterface BaseCfg {\n visible?: boolean;\n}\n\n/**\n * G2 Chart、View、Geometry 以及 Element 等的基类,提供事件以及一些通用的方法。\n */\nexport default class Base extends EE {\n /** 是否可见 */\n public visible: boolean;\n /** 标识对象是否已销毁 */\n public destroyed: boolean = false;\n\n constructor(cfg: BaseCfg) {\n super();\n const { visible = true } = cfg;\n this.visible = visible;\n }\n\n /**\n * 显示。\n */\n public show() {\n const visible = this.visible;\n if (!visible) {\n this.changeVisible(true);\n }\n }\n\n /**\n * 隐藏。\n */\n public hide() {\n const visible = this.visible;\n if (visible) {\n this.changeVisible(false);\n }\n }\n\n /**\n * 销毁。\n */\n public destroy() {\n this.off();\n this.destroyed = true;\n }\n\n /**\n * 显示或者隐藏。\n * @param visible\n * @returns\n */\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n this.visible = visible;\n }\n}\n",null,null,null,null,null,null,null,"import { GeometryCfg } from './geometry/base';\nimport { IInteractionContext } from './interface';\n\n// 注册黑暗主题\nimport { registerTheme } from './core';\nimport { antvDark } from './theme/style-sheet/dark';\nimport { createThemeByStyleSheet } from './theme/util/create-by-style-sheet';\nregisterTheme('dark', createThemeByStyleSheet(antvDark));\n\n// 注册 G 渲染引擎\nimport * as CanvasEngine from '@antv/g-canvas';\nimport * as SVGEngine from '@antv/g-svg';\nimport { registerEngine } from './core';\n\nregisterEngine('canvas', CanvasEngine);\nregisterEngine('svg', SVGEngine);\n\n// 注册 G2 内置的 geometry\nimport { registerGeometry } from './core';\nimport Area, { AreaCfg } from './geometry/area';\nimport Edge from './geometry/edge';\nimport Heatmap from './geometry/heatmap';\nimport Interval, { IntervalCfg } from './geometry/interval';\nimport Line from './geometry/line';\nimport Path, { PathCfg } from './geometry/path';\nimport Point from './geometry/point';\nimport Polygon from './geometry/polygon';\nimport Schema from './geometry/schema';\nimport Violin from './geometry/violin';\n\nregisterGeometry('Polygon', Polygon);\nregisterGeometry('Interval', Interval);\nregisterGeometry('Schema', Schema);\nregisterGeometry('Path', Path);\nregisterGeometry('Point', Point);\nregisterGeometry('Line', Line);\nregisterGeometry('Area', Area);\nregisterGeometry('Edge', Edge);\nregisterGeometry('Heatmap', Heatmap);\nregisterGeometry('Violin', Violin);\n\n// 引入所有内置的 shapes\nimport './geometry/shape/area/line';\nimport './geometry/shape/area/smooth';\nimport './geometry/shape/area/smooth-line';\n\nimport './geometry/shape/edge/arc';\nimport './geometry/shape/edge/smooth';\nimport './geometry/shape/edge/vhv';\n\nimport './geometry/shape/interval/funnel';\nimport './geometry/shape/interval/hollow-rect';\nimport './geometry/shape/interval/line';\nimport './geometry/shape/interval/pyramid';\nimport './geometry/shape/interval/tick';\n\nimport './geometry/shape/line/step';\n\nimport './geometry/shape/point/hollow';\nimport './geometry/shape/point/image';\nimport './geometry/shape/point/solid';\n\nimport './geometry/shape/schema/box';\nimport './geometry/shape/schema/candle';\n\nimport './geometry/shape/polygon/square';\n\nimport './geometry/shape/violin/smooth';\nimport './geometry/shape/violin/hollow';\n\n// 注册 Geometry 内置的 label\nimport { registerGeometryLabel } from './core';\nimport GeometryLabel from './geometry/label/base';\nimport IntervalLabel from './geometry/label/interval';\nimport PieLabel from './geometry/label/pie';\nimport PolarLabel from './geometry/label/polar';\n\nregisterGeometryLabel('base', GeometryLabel);\nregisterGeometryLabel('interval', IntervalLabel);\nregisterGeometryLabel('pie', PieLabel);\nregisterGeometryLabel('polar', PolarLabel);\n\n// 注册 Geometry label 内置的布局函数\nimport { registerGeometryLabelLayout } from './core';\nimport { distribute } from './geometry/label/layout/pie/distribute';\nimport { pieOuterLabelLayout } from './geometry/label/layout/pie/outer';\nimport { pieSpiderLabelLayout } from './geometry/label/layout/pie/spider';\nimport { limitInCanvas } from './geometry/label/layout/limit-in-canvas';\nimport { limitInShape } from './geometry/label/layout/limit-in-shape';\nimport { fixedOverlap, overlap } from './geometry/label/layout/overlap';\nimport { hideOverlap } from './geometry/label/layout/hide-overlap';\nimport { adjustColor } from './geometry/label/layout/adjust-color';\nimport { intervalAdjustPosition } from './geometry/label/layout/interval/adjust-position';\nimport { intervalHideOverlap } from './geometry/label/layout/interval/hide-overlap';\nimport { pointAdjustPosition } from './geometry/label/layout/point/adjust-position';\nimport { pathAdjustPosition } from './geometry/label/layout/path/adjust-position';\nimport { limitInPlot } from './geometry/label/layout/limit-in-plot';\n\nregisterGeometryLabelLayout('overlap', overlap);\nregisterGeometryLabelLayout('distribute', distribute);\nregisterGeometryLabelLayout('fixed-overlap', fixedOverlap);\nregisterGeometryLabelLayout('hide-overlap', hideOverlap);\nregisterGeometryLabelLayout('limit-in-shape', limitInShape);\nregisterGeometryLabelLayout('limit-in-canvas', limitInCanvas);\nregisterGeometryLabelLayout('limit-in-plot', limitInPlot);\nregisterGeometryLabelLayout('pie-outer', pieOuterLabelLayout);\nregisterGeometryLabelLayout('adjust-color', adjustColor);\nregisterGeometryLabelLayout('interval-adjust-position', intervalAdjustPosition);\nregisterGeometryLabelLayout('interval-hide-overlap', intervalHideOverlap);\nregisterGeometryLabelLayout('point-adjust-position', pointAdjustPosition);\nregisterGeometryLabelLayout('pie-spider', pieSpiderLabelLayout);\nregisterGeometryLabelLayout('path-adjust-position', pathAdjustPosition);\n\n// 注册需要的动画执行函数\nimport { fadeIn, fadeOut } from './animate/animation/fade';\nimport { growInX, growInXY, growInY } from './animate/animation/grow-in';\nimport { pathIn } from './animate/animation/path-in';\nimport { positionUpdate } from './animate/animation/position-update';\nimport { scaleInX, scaleInY } from './animate/animation/scale-in';\nimport { sectorPathUpdate } from './animate/animation/sector-path-update';\nimport { waveIn } from './animate/animation/wave-in';\nimport { zoomIn, zoomOut } from './animate/animation/zoom';\nimport { registerAnimation } from './core';\n\nregisterAnimation('fade-in', fadeIn);\nregisterAnimation('fade-out', fadeOut);\nregisterAnimation('grow-in-x', growInX);\nregisterAnimation('grow-in-xy', growInXY);\nregisterAnimation('grow-in-y', growInY);\nregisterAnimation('scale-in-x', scaleInX);\nregisterAnimation('scale-in-y', scaleInY);\nregisterAnimation('wave-in', waveIn);\nregisterAnimation('zoom-in', zoomIn);\nregisterAnimation('zoom-out', zoomOut);\nregisterAnimation('position-update', positionUpdate);\nregisterAnimation('sector-path-update', sectorPathUpdate);\nregisterAnimation('path-in', pathIn);\n\n// 注册内置的 Facet\nimport { registerFacet } from './core';\nimport Circle from './facet/circle';\nimport List from './facet/list';\nimport Matrix from './facet/matrix';\nimport Mirror from './facet/mirror';\nimport Rect from './facet/rect';\nimport Tree from './facet/tree';\n\nregisterFacet('rect', Rect);\nregisterFacet('mirror', Mirror);\nregisterFacet('list', List);\nregisterFacet('matrix', Matrix);\nregisterFacet('circle', Circle);\nregisterFacet('tree', Tree);\n\n// 注册内置的 Component\nimport { registerComponentController } from './core';\n\nimport Annotation from './chart/controller/annotation';\nimport Axis from './chart/controller/axis';\nimport Legend from './chart/controller/legend';\nimport Slider from './chart/controller/slider';\nimport Tooltip from './chart/controller/tooltip';\nimport Scrollbar from './chart/controller/scrollbar';\n\n// register build-in components\nregisterComponentController('axis', Axis);\nregisterComponentController('legend', Legend);\nregisterComponentController('tooltip', Tooltip);\nregisterComponentController('annotation', Annotation);\nregisterComponentController('slider', Slider);\nregisterComponentController('scrollbar', Scrollbar);\n\n// 注册 Interaction Action\nimport { registerAction } from './core';\nimport ActiveRegion from './interaction/action/active-region';\nimport SiblingTooltip from './interaction/action/component/tooltip/sibling';\nimport TooltipAction from './interaction/action/component/tooltip/geometry';\nimport EllipsisTextAction from './interaction/action/component/tooltip/ellipsis-text';\n\nimport ElementActive from './interaction/action/element/active';\nimport ElementLinkByColor from './interaction/action/element/link-by-color';\nimport ElementRangeActive from './interaction/action/element/range-active';\nimport ElementSingleActive from './interaction/action/element/single-active';\n\nimport ElementHighlight from './interaction/action/element/highlight';\nimport ElementHighlightByColor from './interaction/action/element/highlight-by-color';\nimport ElementHighlightByX from './interaction/action/element/highlight-by-x';\n\nimport ElementRangeHighlight, { ELEMENT_RANGE_HIGHLIGHT_EVENTS } from './interaction/action/element/range-highlight';\nimport ElementSingleHighlight from './interaction/action/element/single-highlight';\n\nimport ElementRangeSelected from './interaction/action/element/range-selected';\nimport ElementSelected from './interaction/action/element/selected';\nimport ElementSingleSelected from './interaction/action/element/single-selected';\n\nimport ListActive from './interaction/action/component/list-active';\nimport ListHighlight from './interaction/action/component/list-highlight';\nimport ListSelected from './interaction/action/component/list-selected';\nimport ListUnchecked from './interaction/action/component/list-unchecked';\nimport ListChecked from './interaction/action/component/list-checked';\nimport ListFocus from './interaction/action/component/list-focus';\nimport ListRadio from './interaction/action/component/list-radio';\n\nimport CircleMask from './interaction/action/mask/circle';\nimport DimMask from './interaction/action/mask/dim-rect';\nimport PathMask from './interaction/action/mask/path';\nimport RectMask from './interaction/action/mask/rect';\nimport SmoothPathMask from './interaction/action/mask/smooth-path';\n\nimport RectMultiMask from './interaction/action/mask/multiple/rect';\nimport DimRectMultiMask from './interaction/action/mask/multiple/dim-rect';\nimport CircleMultiMask from './interaction/action/mask/multiple/circle';\nimport PathMultiMask from './interaction/action/mask/multiple/path';\nimport SmoothPathMultiMask from './interaction/action/mask/multiple/smooth-path';\n\nimport CursorAction from './interaction/action/cursor';\nimport DataFilter from './interaction/action/data/filter';\nimport DataRangeFilter, { BRUSH_FILTER_EVENTS } from './interaction/action/data/range-filter';\nimport SiblingFilter from './interaction/action/data/sibling-filter';\n\nimport ElementFilter from './interaction/action/element/filter';\nimport ElementSiblingFilter from './interaction/action/element/sibling-filter';\nimport ButtonAction from './interaction/action/view/button';\nimport ViewDrag from './interaction/action/view/drag';\nimport ViewMove from './interaction/action/view/move';\nimport ScaleTranslate from './interaction/action/view/scale-translate';\nimport ScaleZoom from './interaction/action/view/scale-zoom';\nimport MousewheelScroll from './interaction/action/view/mousewheel-scroll';\nimport AxisDescription from './interaction/action/component/axis/axis-description'\n\nregisterAction('tooltip', TooltipAction);\nregisterAction('sibling-tooltip', SiblingTooltip);\nregisterAction('ellipsis-text', EllipsisTextAction);\nregisterAction('element-active', ElementActive);\nregisterAction('element-single-active', ElementSingleActive);\nregisterAction('element-range-active', ElementRangeActive);\n\nregisterAction('element-highlight', ElementHighlight);\nregisterAction('element-highlight-by-x', ElementHighlightByX);\nregisterAction('element-highlight-by-color', ElementHighlightByColor);\n\nregisterAction('element-single-highlight', ElementSingleHighlight);\nregisterAction('element-range-highlight', ElementRangeHighlight);\nregisterAction('element-sibling-highlight', ElementRangeHighlight, {\n effectSiblings: true,\n effectByRecord: true,\n});\n\nregisterAction('element-selected', ElementSelected);\nregisterAction('element-single-selected', ElementSingleSelected);\nregisterAction('element-range-selected', ElementRangeSelected);\nregisterAction('element-link-by-color', ElementLinkByColor);\n\nregisterAction('active-region', ActiveRegion);\nregisterAction('list-active', ListActive);\nregisterAction('list-selected', ListSelected);\nregisterAction('list-highlight', ListHighlight);\nregisterAction('list-unchecked', ListUnchecked);\nregisterAction('list-checked', ListChecked);\nregisterAction('list-focus', ListFocus);\nregisterAction('list-radio', ListRadio);\n\nregisterAction('legend-item-highlight', ListHighlight, {\n componentNames: ['legend'],\n});\n\nregisterAction('axis-label-highlight', ListHighlight, {\n componentNames: ['axis'],\n});\nregisterAction('axis-description', AxisDescription)\n\nregisterAction('rect-mask', RectMask);\nregisterAction('x-rect-mask', DimMask, { dim: 'x' });\nregisterAction('y-rect-mask', DimMask, { dim: 'y' });\nregisterAction('circle-mask', CircleMask);\nregisterAction('path-mask', PathMask);\nregisterAction('smooth-path-mask', SmoothPathMask);\n\nregisterAction('rect-multi-mask', RectMultiMask);\nregisterAction('x-rect-multi-mask', DimRectMultiMask, { dim: 'x' });\nregisterAction('y-rect-multi-mask', DimRectMultiMask, { dim: 'y' });\nregisterAction('circle-multi-mask', CircleMultiMask);\nregisterAction('path-multi-mask', PathMultiMask);\nregisterAction('smooth-path-multi-mask', SmoothPathMultiMask);\n\nregisterAction('cursor', CursorAction);\nregisterAction('data-filter', DataFilter);\n\nregisterAction('brush', DataRangeFilter);\nregisterAction('brush-x', DataRangeFilter, { dims: ['x'] });\nregisterAction('brush-y', DataRangeFilter, { dims: ['y'] });\nregisterAction('sibling-filter', SiblingFilter);\nregisterAction('sibling-x-filter', SiblingFilter, { dims: 'x' });\nregisterAction('sibling-y-filter', SiblingFilter, { dims: 'y' });\n\nregisterAction('element-filter', ElementFilter);\nregisterAction('element-sibling-filter', ElementSiblingFilter);\nregisterAction('element-sibling-filter-record', ElementSiblingFilter, { byRecord: true });\n\nregisterAction('view-drag', ViewDrag);\nregisterAction('view-move', ViewMove);\n\nregisterAction('scale-translate', ScaleTranslate);\nregisterAction('scale-zoom', ScaleZoom);\nregisterAction('reset-button', ButtonAction, {\n name: 'reset-button',\n text: 'reset',\n});\n\nregisterAction('mousewheel-scroll', MousewheelScroll);\n\n// 注册默认的 Interaction 交互行为\nimport { registerInteraction } from './core';\nimport { isMultipleMask } from './interaction/action/util';\n\nfunction isPointInView(context: IInteractionContext) {\n return context.isInPlot();\n}\n\n// 注册 tooltip 的 interaction\nregisterInteraction('tooltip', {\n start: [\n { trigger: 'plot:mousemove', action: 'tooltip:show', throttle: { wait: 50, leading: true, trailing: false } },\n { trigger: 'plot:touchmove', action: 'tooltip:show', throttle: { wait: 50, leading: true, trailing: false } },\n ],\n end: [\n { trigger: 'plot:mouseleave', action: 'tooltip:hide' },\n { trigger: 'plot:leave', action: 'tooltip:hide' },\n { trigger: 'plot:touchend', action: 'tooltip:hide' },\n ],\n});\n\nregisterInteraction('ellipsis-text', {\n start: [\n {\n trigger: 'legend-item-name:mousemove',\n action: 'ellipsis-text:show',\n throttle: { wait: 50, leading: true, trailing: false },\n },\n {\n trigger: 'legend-item-name:touchstart',\n action: 'ellipsis-text:show',\n throttle: { wait: 50, leading: true, trailing: false },\n },\n {\n trigger: 'axis-label:mousemove',\n action: 'ellipsis-text:show',\n throttle: { wait: 50, leading: true, trailing: false },\n },\n {\n trigger: 'axis-label:touchstart',\n action: 'ellipsis-text:show',\n throttle: { wait: 50, leading: true, trailing: false },\n },\n ],\n end: [\n { trigger: 'legend-item-name:mouseleave', action: 'ellipsis-text:hide' },\n { trigger: 'legend-item-name:touchend', action: 'ellipsis-text:hide' },\n { trigger: 'axis-label:mouseleave', action: 'ellipsis-text:hide' },\n { trigger: 'axis-label:mouseout', action: 'ellipsis-text:hide' },\n { trigger: 'axis-label:touchend', action: 'ellipsis-text:hide' },\n ],\n});\n\n// 移动到 element 上 active\nregisterInteraction('element-active', {\n start: [{ trigger: 'element:mouseenter', action: 'element-active:active' }],\n end: [{ trigger: 'element:mouseleave', action: 'element-active:reset' }],\n});\n\n// 点击选中,允许取消\nregisterInteraction('element-selected', {\n start: [{ trigger: 'element:click', action: 'element-selected:toggle' }],\n});\n\n// hover highlight,允许取消\nregisterInteraction('element-highlight', {\n start: [{ trigger: 'element:mouseenter', action: 'element-highlight:highlight' }],\n end: [{ trigger: 'element:mouseleave', action: 'element-highlight:reset' }],\n});\n\n// hover highlight by x,允许取消\nregisterInteraction('element-highlight-by-x', {\n start: [{ trigger: 'element:mouseenter', action: 'element-highlight-by-x:highlight' }],\n end: [{ trigger: 'element:mouseleave', action: 'element-highlight-by-x:reset' }],\n});\n\n// hover highlight by y,允许取消\nregisterInteraction('element-highlight-by-color', {\n start: [{ trigger: 'element:mouseenter', action: 'element-highlight-by-color:highlight' }],\n end: [{ trigger: 'element:mouseleave', action: 'element-highlight-by-color:reset' }],\n});\n\n// legend hover,element active\nregisterInteraction('legend-active', {\n start: [{ trigger: 'legend-item:mouseenter', action: ['list-active:active', 'element-active:active'] }],\n end: [{ trigger: 'legend-item:mouseleave', action: ['list-active:reset', 'element-active:reset'] }],\n});\n\n// legend hover,element active\nregisterInteraction('legend-highlight', {\n start: [\n { trigger: 'legend-item:mouseenter', action: ['legend-item-highlight:highlight', 'element-highlight:highlight'] },\n ],\n end: [{ trigger: 'legend-item:mouseleave', action: ['legend-item-highlight:reset', 'element-highlight:reset'] }],\n});\n\n// legend hover,element active\nregisterInteraction('axis-label-highlight', {\n start: [\n { trigger: 'axis-label:mouseenter', action: ['axis-label-highlight:highlight', 'element-highlight:highlight'] },\n ],\n end: [{ trigger: 'axis-label:mouseleave', action: ['axis-label-highlight:reset', 'element-highlight:reset'] }],\n});\n\n// legend hover,element active\nregisterInteraction('element-list-highlight', {\n start: [{ trigger: 'element:mouseenter', action: ['list-highlight:highlight', 'element-highlight:highlight'] }],\n end: [{ trigger: 'element:mouseleave', action: ['list-highlight:reset', 'element-highlight:reset'] }],\n});\n\n// 框选\nregisterInteraction('element-range-highlight', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'mask:mouseenter', action: 'cursor:move' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n { trigger: 'mask:mouseleave', action: 'cursor:crosshair' },\n ],\n start: [\n {\n trigger: 'plot:mousedown',\n isEnable(context) {\n // 不要点击在 mask 上重新开始\n return !context.isInShape('mask');\n },\n action: ['rect-mask:start', 'rect-mask:show'],\n },\n {\n trigger: 'mask:dragstart',\n action: ['rect-mask:moveStart'],\n },\n ],\n processing: [\n {\n trigger: 'plot:mousemove',\n action: ['rect-mask:resize'],\n },\n {\n trigger: 'mask:drag',\n action: ['rect-mask:move'],\n },\n {\n trigger: 'mask:change',\n action: ['element-range-highlight:highlight'],\n },\n ],\n end: [\n { trigger: 'plot:mouseup', action: ['rect-mask:end'] },\n { trigger: 'mask:dragend', action: ['rect-mask:moveEnd'] },\n {\n trigger: 'document:mouseup',\n isEnable(context) {\n return !context.isInPlot();\n },\n action: ['element-range-highlight:clear', 'rect-mask:end', 'rect-mask:hide'],\n },\n ],\n rollback: [{ trigger: 'dblclick', action: ['element-range-highlight:clear', 'rect-mask:hide'] }],\n});\n\nregisterInteraction('brush', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n ],\n start: [\n {\n trigger: 'mousedown',\n isEnable: isPointInView,\n action: ['brush:start', 'rect-mask:start', 'rect-mask:show'],\n },\n ],\n processing: [\n {\n trigger: 'mousemove',\n isEnable: isPointInView,\n action: ['rect-mask:resize'],\n },\n ],\n end: [\n {\n trigger: 'mouseup',\n isEnable: isPointInView,\n action: ['brush:filter', 'brush:end', 'rect-mask:end', 'rect-mask:hide', 'reset-button:show'],\n },\n ],\n rollback: [{ trigger: 'reset-button:click', action: ['brush:reset', 'reset-button:hide', 'cursor:crosshair'] }],\n});\n\nregisterInteraction('brush-visible', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n ],\n start: [\n {\n trigger: 'plot:mousedown',\n action: ['rect-mask:start', 'rect-mask:show'],\n },\n ],\n processing: [\n {\n trigger: 'plot:mousemove',\n action: ['rect-mask:resize'],\n },\n { trigger: 'mask:change', action: ['element-range-highlight:highlight'] },\n ],\n end: [\n {\n trigger: 'plot:mouseup',\n action: ['rect-mask:end', 'rect-mask:hide', 'element-filter:filter', 'element-range-highlight:clear'],\n },\n ],\n rollback: [\n {\n trigger: 'dblclick',\n action: ['element-filter:clear'],\n },\n ],\n});\n\nregisterInteraction('brush-x', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n ],\n start: [\n {\n trigger: 'mousedown',\n isEnable: isPointInView,\n action: ['brush-x:start', 'x-rect-mask:start', 'x-rect-mask:show'],\n },\n ],\n processing: [\n {\n trigger: 'mousemove',\n isEnable: isPointInView,\n action: ['x-rect-mask:resize'],\n },\n ],\n end: [\n {\n trigger: 'mouseup',\n isEnable: isPointInView,\n action: ['brush-x:filter', 'brush-x:end', 'x-rect-mask:end', 'x-rect-mask:hide'],\n },\n ],\n rollback: [{ trigger: 'dblclick', action: ['brush-x:reset'] }],\n});\n\nregisterInteraction('element-path-highlight', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n ],\n start: [\n { trigger: 'mousedown', isEnable: isPointInView, action: 'path-mask:start' },\n { trigger: 'mousedown', isEnable: isPointInView, action: 'path-mask:show' },\n ],\n processing: [{ trigger: 'mousemove', action: 'path-mask:addPoint' }],\n end: [{ trigger: 'mouseup', action: 'path-mask:end' }],\n rollback: [{ trigger: 'dblclick', action: 'path-mask:hide' }],\n});\n\nregisterInteraction('brush-x-multi', {\n showEnable: [\n { trigger: 'plot:mouseenter', action: 'cursor:crosshair' },\n { trigger: 'mask:mouseenter', action: 'cursor:move' },\n { trigger: 'plot:mouseleave', action: 'cursor:default' },\n { trigger: 'mask:mouseleave', action: 'cursor:crosshair' },\n ],\n start: [\n {\n trigger: 'mousedown',\n isEnable: isPointInView,\n action: ['x-rect-multi-mask:start', 'x-rect-multi-mask:show'],\n },\n {\n trigger: 'mask:dragstart',\n action: ['x-rect-multi-mask:moveStart'],\n },\n ],\n processing: [\n {\n trigger: 'mousemove',\n isEnable: (context) => !isMultipleMask(context),\n action: ['x-rect-multi-mask:resize'],\n },\n {\n trigger: 'multi-mask:change',\n action: 'element-range-highlight:highlight',\n },\n {\n trigger: 'mask:drag',\n action: ['x-rect-multi-mask:move'],\n },\n ],\n end: [\n {\n trigger: 'mouseup',\n action: ['x-rect-multi-mask:end'],\n },\n { trigger: 'mask:dragend', action: ['x-rect-multi-mask:moveEnd'] },\n ],\n rollback: [\n {\n trigger: 'dblclick',\n action: ['x-rect-multi-mask:clear', 'cursor:crosshair'],\n },\n {\n trigger: 'multi-mask:clearAll',\n action: ['element-range-highlight:clear'],\n },\n {\n trigger: 'multi-mask:clearSingle',\n action: ['element-range-highlight:highlight'],\n },\n ],\n});\n\n// 点击选中,允许取消\nregisterInteraction('element-single-selected', {\n start: [{ trigger: 'element:click', action: 'element-single-selected:toggle' }],\n});\n\n// 筛选数据\nregisterInteraction('legend-filter', {\n showEnable: [\n { trigger: 'legend-item:mouseenter', action: ['cursor:pointer', 'list-radio:show'] },\n { trigger: 'legend-item:mouseleave', action: ['cursor:default', 'list-radio:hide'] },\n ],\n start: [\n {\n trigger: 'legend-item:click',\n isEnable: (context) => {\n return !context.isInShape('legend-item-radio');\n },\n action: ['legend-item-highlight:reset', 'element-highlight:reset', 'list-unchecked:toggle', 'data-filter:filter', 'list-radio:show'],\n },\n // 正反选数据: 只有当 radio === truthy 的时候才会有 legend-item-radio 这个元素\n {\n trigger: 'legend-item-radio:mouseenter',\n action: ['list-radio:showTip'],\n },\n {\n trigger: 'legend-item-radio:mouseleave',\n action: ['list-radio:hideTip'],\n },\n {\n trigger: 'legend-item-radio:click',\n action: ['list-focus:toggle', 'data-filter:filter', 'list-radio:show'],\n },\n ],\n});\n\n// 筛选数据\nregisterInteraction('continuous-filter', {\n start: [{ trigger: 'legend:valuechanged', action: 'data-filter:filter' }],\n});\n// 筛选数据\nregisterInteraction('continuous-visible-filter', {\n start: [{ trigger: 'legend:valuechanged', action: 'element-filter:filter' }],\n});\n\n// 筛选图形\nregisterInteraction('legend-visible-filter', {\n showEnable: [\n { trigger: 'legend-item:mouseenter', action: 'cursor:pointer' },\n { trigger: 'legend-item:mouseleave', action: 'cursor:default' },\n ],\n start: [{ trigger: 'legend-item:click', action: ['legend-item-highlight:reset', 'element-highlight:reset', 'list-unchecked:toggle', 'element-filter:filter'] }],\n});\n\n// 出现背景框\nregisterInteraction('active-region', {\n start: [{ trigger: 'plot:mousemove', action: 'active-region:show' }],\n end: [{ trigger: 'plot:mouseleave', action: 'active-region:hide' }],\n});\n\n// 显示坐标轴标题详情信息\nregisterInteraction('axis-description', {\n start: [{ trigger: 'axis-description:mousemove', action: 'axis-description:show' }],\n end: [{ trigger: 'axis-description:mouseleave', action: 'axis-description:hide' }]\n})\n\nfunction isWheelDown(event) {\n event.gEvent.preventDefault();\n return event.gEvent.originalEvent.deltaY > 0;\n}\nregisterInteraction('view-zoom', {\n start: [\n {\n trigger: 'plot:mousewheel',\n isEnable(context) {\n return isWheelDown(context.event);\n },\n action: 'scale-zoom:zoomOut',\n throttle: { wait: 100, leading: true, trailing: false },\n },\n {\n trigger: 'plot:mousewheel',\n isEnable(context) {\n return !isWheelDown(context.event);\n },\n action: 'scale-zoom:zoomIn',\n throttle: { wait: 100, leading: true, trailing: false },\n },\n ],\n});\n\nregisterInteraction('sibling-tooltip', {\n start: [{ trigger: 'plot:mousemove', action: 'sibling-tooltip:show' }],\n end: [{ trigger: 'plot:mouseleave', action: 'sibling-tooltip:hide' }],\n});\n\nregisterInteraction('plot-mousewheel-scroll', {\n start: [{ trigger: 'plot:mousewheel', action: 'mousewheel-scroll:scroll' }],\n});\n\n// 让 TS 支持 View 原型上添加的创建 Geometry 方法的智能提示\n/**\n * 往 View 原型上添加的创建 Geometry 的方法\n *\n * Tips:\n * view module augmentation, detail: http://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation\n */\ndeclare module './chart/view' {\n interface View {\n /**\n * 创建 Polygon 几何标记。\n * @param [cfg] 传入 Polygon 构造函数的配置。\n * @returns polygon 返回 Polygon 实例。\n */\n polygon(cfg?: Partial): Polygon;\n /**\n * 创建 Point 几何标记。\n * @param [cfg] 传入 Point 构造函数的配置。\n * @returns point 返回 Point 实例。\n */\n point(cfg?: Partial): Point;\n /**\n * 创建 Interval 几何标记。\n * @param [cfg] 传入 Interval 构造函数的配置。\n * @returns interval 返回 Interval 实例。\n */\n interval(cfg?: Partial): Interval;\n /**\n * 创建 Schema 几何标记。\n * @param [cfg] 传入 Schema 构造函数的配置。\n * @returns schema 返回 Schema 实例。\n */\n schema(cfg?: Partial): Schema;\n /**\n * 创建 Path 几何标记。\n * @param [cfg] 传入 Path 构造函数的配置。\n * @returns path 返回 Path 实例。\n */\n path(cfg?: Partial): Path;\n /**\n * 创建 Line 几何标记。\n * @param [cfg] 传入 Line 构造函数的配置。\n * @returns line 返回 Line 实例。\n */\n line(cfg?: Partial): Line;\n /**\n * 创建 Area 几何标记。\n * @param [cfg] 传入 Area 构造函数的配置。\n * @returns area 返回 Area 实例。\n */\n area(cfg?: Partial): Area;\n /**\n * 创建 Edge 几何标记。\n * @param [cfg] 传入 Edge 构造函数的配置。\n * @returns schema 返回 Edge 实例。\n */\n edge(cfg?: Partial): Edge;\n /**\n * 创建 Heatmap 几何标记。\n * @param [cfg] 传入 Heatmap 构造函数的配置。\n * @returns heatmap 返回 Heatmap 实例。\n */\n heatmap(cfg?: Partial): Heatmap;\n /**\n * 创建 Violin 几何标记。\n * @param [cfg] 传入 Violin 构造函数的配置。\n * @returns violin 返回 Violin 实例。\n */\n violin(cfg?: Partial): Violin;\n }\n}\n\n// 暴露一些常量\nexport { VIEW_LIFE_CIRCLE } from './constant';\n/** brush 范围筛选的一些事件常量 */\nexport { BRUSH_FILTER_EVENTS, ELEMENT_RANGE_HIGHLIGHT_EVENTS };\n\nexport * from './core';\n",null,null,null,null,"/* 依赖的模块,在这里统一引入,方便打包优化 */\n\n// G\nexport {\n ICanvas,\n IElement,\n IGroup,\n IShape,\n PathCommand,\n BBox,\n Point,\n ShapeAttrs,\n Event,\n AbstractGroup,\n AbstractShape,\n} from '@antv/g-base';\n// 需要有 G-base 提供 g engine 类型定义\nexport type IG = any;\n\n// adjust\nexport { registerAdjust, getAdjust, Adjust } from '@antv/adjust';\n\n// attr\nexport { getAttribute, Attribute } from '@antv/attr';\nexport { Color } from '@antv/attr';\n\n// coordinate\nexport { getCoordinate, registerCoordinate, Coordinate, CoordinateCfg } from '@antv/coord';\n\n// scale\nexport { getScale, registerScale, Scale, ScaleConfig, Tick } from '@antv/scale';\n\n// component\nimport {\n Annotation,\n Axis,\n Component,\n Crosshair,\n Grid,\n GroupComponent,\n HtmlComponent,\n Legend,\n Slider,\n Tooltip,\n Scrollbar,\n} from '@antv/component';\n\nexport {\n CategoryLegendCfg,\n CircleAxisCfg,\n LineAxisCfg,\n GroupComponentCfg,\n ListItem,\n AxisLineCfg,\n AxisTickLineCfg,\n AxisSubTickLineCfg,\n AxisTitleCfg,\n AxisLabelCfg,\n GridLineCfg,\n LegendMarkerCfg,\n LegendTitleCfg,\n LegendBackgroundCfg,\n LegendItemNameCfg,\n LegendItemValueCfg,\n LegendPageNavigatorCfg,\n ContinueLegendCfg,\n ContinueLegendTrackCfg,\n ContinueLegendRailCfg,\n ContinueLegendLabelCfg,\n ContinueLegendHandlerCfg,\n CrosshairLineCfg,\n CrosshairTextCfg,\n CrosshairTextBackgroundCfg,\n SliderCfg,\n TrendCfg,\n EnhancedTextCfg,\n LineAnnotationTextCfg,\n IComponent,\n IList,\n} from '@antv/component';\n\nexport { HtmlComponent, GroupComponent, Component, Crosshair };\nexport { Annotation };\n// axis\nconst { Line: LineAxis, Circle: CircleAxis } = Axis;\nexport { LineAxis, CircleAxis };\n// grid\nconst { Line: LineGrid, Circle: CircleGrid } = Grid;\nexport { LineGrid, CircleGrid };\n// legend\nconst { Category: CategoryLegend, Continuous: ContinuousLegend } = Legend;\nexport { CategoryLegend, ContinuousLegend };\n// Tooltip\nconst { Html: HtmlTooltip } = Tooltip;\nexport { HtmlTooltip };\n// Slider\nexport { Slider };\n// Scrollbar\nexport { Scrollbar };\n","import { BBox } from '@antv/g-svg';\nimport { each, isEmpty, isNumber, isNumberEqual, max, min } from '@antv/util';\nimport { Coordinate, IShape, Point } from '../dependents';\nimport { ShapeInfo } from '../interface';\n\n// 获取图形的包围盒\nfunction getPointsBox(points) {\n if (isEmpty(points)) {\n return null;\n }\n\n let minX = points[0].x;\n let maxX = points[0].x;\n let minY = points[0].y;\n let maxY = points[0].y;\n each(points, (point) => {\n minX = minX > point.x ? point.x : minX;\n maxX = maxX < point.x ? point.x : maxX;\n minY = minY > point.y ? point.y : minY;\n maxY = maxY < point.y ? point.y : maxY;\n });\n\n return {\n minX,\n maxX,\n minY,\n maxY,\n centerX: (minX + maxX) / 2,\n centerY: (minY + maxY) / 2,\n };\n}\n\nfunction uniqueValues(array: T[]) {\n return Array.from(new Set(array)).length === 1;\n}\n\nfunction mid(array: number[]) {\n return (min(array) + max(array)) / 2;\n}\n\n/**\n * @ignore\n * 根据弧度计算极坐标系下的坐标点\n * @param centerX\n * @param centerY\n * @param radius\n * @param angleInRadian\n * @returns\n */\nexport function polarToCartesian(centerX: number, centerY: number, radius: number, angleInRadian: number) {\n return {\n x: centerX + radius * Math.cos(angleInRadian),\n y: centerY + radius * Math.sin(angleInRadian),\n };\n}\n\n/**\n * @ignore\n * 根据起始角度计算绘制扇形的 path\n * @param centerX\n * @param centerY\n * @param radius\n * @param startAngleInRadian\n * @param endAngleInRadian\n * @returns\n */\nexport function getSectorPath(\n centerX: number,\n centerY: number,\n radius: number,\n startAngleInRadian: number,\n endAngleInRadian: number,\n innerRadius: number = 0\n) {\n const start = polarToCartesian(centerX, centerY, radius, startAngleInRadian);\n const end = polarToCartesian(centerX, centerY, radius, endAngleInRadian);\n\n const innerStart = polarToCartesian(centerX, centerY, innerRadius, startAngleInRadian);\n const innerEnd = polarToCartesian(centerX, centerY, innerRadius, endAngleInRadian);\n\n if (endAngleInRadian - startAngleInRadian === Math.PI * 2) {\n // 整个圆是分割成两个圆\n const middlePoint = polarToCartesian(centerX, centerY, radius, startAngleInRadian + Math.PI);\n const innerMiddlePoint = polarToCartesian(centerX, centerY, innerRadius, startAngleInRadian + Math.PI);\n const circlePathCommands = [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, 1, 1, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 1, end.x, end.y],\n ['M', innerStart.x, innerStart.y],\n ];\n if (innerRadius) {\n circlePathCommands.push(['A', innerRadius, innerRadius, 0, 1, 0, innerMiddlePoint.x, innerMiddlePoint.y]);\n circlePathCommands.push(['A', innerRadius, innerRadius, 0, 1, 0, innerEnd.x, innerEnd.y]);\n }\n\n circlePathCommands.push(['M', start.x, start.y]);\n circlePathCommands.push(['Z']);\n\n return circlePathCommands;\n }\n\n const arcSweep = endAngleInRadian - startAngleInRadian <= Math.PI ? 0 : 1;\n const sectorPathCommands = [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, arcSweep, 1, end.x, end.y],\n ['L', innerEnd.x, innerEnd.y],\n ];\n if (innerRadius) {\n sectorPathCommands.push(['A', innerRadius, innerRadius, 0, arcSweep, 0, innerStart.x, innerStart.y]);\n }\n sectorPathCommands.push(['L', start.x, start.y]);\n sectorPathCommands.push(['Z']);\n\n return sectorPathCommands;\n}\n\n/**\n * @ignore\n * Gets arc path\n * @param centerX\n * @param centerY\n * @param radius\n * @param startAngleInRadian\n * @param endAngleInRadian\n * @returns\n */\nexport function getArcPath(\n centerX: number,\n centerY: number,\n radius: number,\n startAngleInRadian: number,\n endAngleInRadian: number\n) {\n const start = polarToCartesian(centerX, centerY, radius, startAngleInRadian);\n const end = polarToCartesian(centerX, centerY, radius, endAngleInRadian);\n\n if (isNumberEqual(endAngleInRadian - startAngleInRadian, Math.PI * 2)) {\n const middlePoint = polarToCartesian(centerX, centerY, radius, startAngleInRadian + Math.PI);\n return [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, 1, 1, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 1, start.x, start.y],\n ['A', radius, radius, 0, 1, 0, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 0, start.x, start.y],\n ['Z'],\n ];\n }\n const arcSweep = endAngleInRadian - startAngleInRadian <= Math.PI ? 0 : 1;\n return [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, arcSweep, 1, end.x, end.y],\n ];\n}\n\n/**\n * @ignore\n * 从数据模型中的 points 换算角度\n * @param shapeModel\n * @param coordinate\n * @returns\n */\nexport function getAngle(shapeModel: ShapeInfo, coordinate: Coordinate) {\n const points = shapeModel.points;\n const box = getPointsBox(points);\n let endAngle;\n let startAngle;\n const { startAngle: coordStartAngle, endAngle: coordEndAngle } = coordinate;\n const diffAngle = coordEndAngle - coordStartAngle;\n\n if (coordinate.isTransposed) {\n endAngle = box.maxY * diffAngle;\n startAngle = box.minY * diffAngle;\n } else {\n endAngle = box.maxX * diffAngle;\n startAngle = box.minX * diffAngle;\n }\n endAngle += coordStartAngle;\n startAngle += coordStartAngle;\n return {\n startAngle,\n endAngle,\n };\n}\n\n/**\n * @ignore\n * 计算多边形重心: https://en.wikipedia.org/wiki/Centroid#Of_a_polygon\n */\nexport function getPolygonCentroid(xs: number | number[], ys: number | number[]) {\n if (isNumber(xs) && isNumber(ys)) {\n // 普通色块图,xs 和 ys 是数值\n return [xs, ys];\n }\n\n xs = xs as number[];\n ys = ys as number[];\n // 当这个 polygon 的点在一条线上的时候\n // 也就是说 xs 里面的值都相同,比如:[1, 1, 1, 1]\n // 或者说 ys 里面的值都相同,比如:[0, 0, 0, 0]\n // 下面计算得到的 k = 0\n // 导致返回的值是 [NaN, NaN]\n // 所以这里做相应的处理\n if (uniqueValues(xs) || uniqueValues(ys)) return [mid(xs), mid(ys)];\n\n let i = -1;\n let x = 0;\n let y = 0;\n let former;\n let current = xs.length - 1;\n let diff;\n let k = 0;\n while (++i < xs.length) {\n former = current;\n current = i;\n k += diff = xs[former] * ys[current] - xs[current] * ys[former];\n x += (xs[former] + xs[current]) * diff;\n y += (ys[former] + ys[current]) * diff;\n }\n k *= 3;\n return [x / k, y / k];\n}\n\n/**\n * @ignore\n * 获取需要替换的属性,如果原先图形元素存在,而新图形不存在,则设置 undefined\n */\nexport function getReplaceAttrs(sourceShape: IShape, targetShape: IShape) {\n const originAttrs = sourceShape.attr();\n const newAttrs = targetShape.attr();\n each(originAttrs, (v, k) => {\n if (newAttrs[k] === undefined) {\n newAttrs[k] = undefined;\n }\n });\n return newAttrs;\n}\n","import { isArray, isString } from '@antv/util';\n\n/**\n * @ignore\n * Determines whether between is\n * @param value\n * @param start\n * @param end\n * @returns true if between\n */\nexport function isBetween(value: number, start: number, end: number): boolean {\n const min = Math.min(start, end);\n const max = Math.max(start, end);\n\n return value >= min && value <= max;\n}\n\n/**\n * @ignore\n * pads the current string/array with a given value (repeated, if needed) so that the resulting reaches a given length.\n * The padding is applied from the end of the current value.\n *\n * @param source\n * @param targetLength\n * @param padValue\n * @returns\n */\nexport function padEnd(source: string | any[], targetLength: number, padValue: any) {\n if (isString(source)) {\n return source.padEnd(targetLength, padValue);\n } else if (isArray(source)) {\n const sourceLength = source.length;\n if (sourceLength < targetLength) {\n const diff = targetLength - sourceLength;\n for (let i = 0; i < diff; i++) {\n source.push(padValue);\n }\n }\n }\n\n return source;\n}\n\n/**\n * @ignore\n * omit keys of an object.\n * @param obj\n * @param keys\n */\nexport function omit(obj: T, keys: string[]): T {\n if (typeof obj === 'object') {\n keys.forEach((key: string) => {\n delete obj[key];\n });\n }\n\n return obj;\n}\n\n/**\n * @ignore\n * @param sourceArray\n * @param targetArray\n * @param map\n */\nexport function uniq(sourceArray: any[], targetArray: any[] = [], map: Map = new Map()) {\n for (const source of sourceArray) {\n if (!map.has(source)) {\n targetArray.push(source);\n map.set(source, true);\n }\n }\n return targetArray;\n}\n","import { each } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Padding, Point, Region } from '../interface';\nimport { BBox as BBoxObject } from '../dependents';\n\n/**\n * 用于包围盒计算。\n */\nexport class BBox {\n /** x 轴坐标系 */\n public x: number;\n /** y 轴坐标系 */\n public y: number;\n /** 包围盒高度 */\n public height: number;\n /** 包围盒宽度 */\n public width: number;\n\n public static fromRange(minX: number, minY: number, maxX: number, maxY: number) {\n return new BBox(minX, minY, maxX - minX, maxY - minY);\n }\n\n public static fromObject(bbox: BBoxObject) {\n return new BBox(bbox.minX, bbox.minY, bbox.width, bbox.height);\n }\n\n constructor(x: number = 0, y: number = 0, width: number = 0, height: number = 0) {\n this.x = x;\n this.y = y;\n this.height = height;\n this.width = width;\n }\n\n public get minX(): number {\n return this.x;\n }\n\n public get maxX(): number {\n return this.x + this.width;\n }\n\n public get minY(): number {\n return this.y;\n }\n\n public get maxY(): number {\n return this.y + this.height;\n }\n\n public get tl(): Point {\n return { x: this.x, y: this.y };\n }\n\n public get tr(): Point {\n return { x: this.maxX, y: this.y };\n }\n\n public get bl(): Point {\n return { x: this.x, y: this.maxY };\n }\n\n public get br(): Point {\n return { x: this.maxX, y: this.maxY };\n }\n\n public get top(): Point {\n return {\n x: this.x + this.width / 2,\n y: this.minY,\n };\n }\n\n public get right(): Point {\n return {\n x: this.maxX,\n y: this.y + this.height / 2,\n };\n }\n public get bottom(): Point {\n return {\n x: this.x + this.width / 2,\n y: this.maxY,\n };\n }\n public get left(): Point {\n return {\n x: this.minX,\n y: this.y + this.height / 2,\n };\n }\n // end 计算属性\n\n /**\n * 包围盒是否相等\n * @param {BBox} bbox 包围盒\n * @returns 包围盒是否相等\n */\n public isEqual(bbox: BBox): boolean {\n return this.x === bbox.x && this.y === bbox.y && this.width === bbox.width && this.height === bbox.height;\n }\n\n /**\n * 是否包含了另一个包围盒\n * @param child\n */\n public contains(child: BBox): boolean {\n return child.minX >= this.minX && child.maxX <= this.maxX && child.minY >= this.minY && child.maxY <= this.maxY;\n }\n\n /**\n * 克隆包围盒\n * @returns 包围盒\n */\n public clone(): BBox {\n return new BBox(this.x, this.y, this.width, this.height);\n }\n\n /**\n * 取并集\n * @param subBBox\n */\n public add(...subBBox: BBox[]): BBox {\n const bbox = this.clone();\n each(subBBox, (b: BBox) => {\n bbox.x = Math.min(b.x, bbox.x);\n bbox.y = Math.min(b.y, bbox.y);\n bbox.width = Math.max(b.maxX, bbox.maxX) - bbox.x;\n bbox.height = Math.max(b.maxY, bbox.maxY) - bbox.y;\n });\n\n return bbox;\n }\n\n /**\n * 取交集\n * @param subBBox\n */\n public merge(...subBBox: BBox[]): BBox {\n const bbox = this.clone();\n each(subBBox, (b: BBox) => {\n bbox.x = Math.max(b.x, bbox.x);\n bbox.y = Math.max(b.y, bbox.y);\n bbox.width = Math.min(b.maxX, bbox.maxX) - bbox.x;\n bbox.height = Math.min(b.maxY, bbox.maxY) - bbox.y;\n });\n\n return bbox;\n }\n\n /**\n * bbox 剪裁\n * @param subBBox\n * @param direction\n */\n public cut(subBBox: BBox, direction: DIRECTION): BBox {\n const width = subBBox.width;\n const height = subBBox.height;\n\n switch (direction) {\n case DIRECTION.TOP:\n case DIRECTION.TOP_LEFT:\n case DIRECTION.TOP_RIGHT:\n return BBox.fromRange(this.minX, this.minY + height, this.maxX, this.maxY);\n\n case DIRECTION.RIGHT:\n case DIRECTION.RIGHT_TOP:\n case DIRECTION.RIGHT_BOTTOM:\n return BBox.fromRange(this.minX, this.minY, this.maxX - width, this.maxY);\n\n case DIRECTION.BOTTOM:\n case DIRECTION.BOTTOM_LEFT:\n case DIRECTION.BOTTOM_RIGHT:\n return BBox.fromRange(this.minX, this.minY, this.maxX, this.maxY - height);\n\n case DIRECTION.LEFT:\n case DIRECTION.LEFT_TOP:\n case DIRECTION.LEFT_BOTTOM:\n return BBox.fromRange(this.minX + width, this.minY, this.maxX, this.maxY);\n default:\n // 其他情况不裁剪,原样返回\n return this;\n }\n }\n\n /**\n * 收缩形成新的\n * @param gap\n */\n public shrink(gap: Padding): BBox {\n const [top, right, bottom, left] = gap;\n\n return new BBox(this.x + left, this.y + top, this.width - left - right, this.height - top - bottom);\n }\n\n /**\n * 扩张形成新的\n * @param gap\n */\n public expand(gap: Padding): BBox {\n const [top, right, bottom, left] = gap;\n\n return new BBox(this.x - left, this.y - top, this.width + left + right, this.height + top + bottom);\n }\n\n /**\n * get the gap of two bbox, if not exceed, then 0\n * @param bbox\n * @returns [top, right, bottom, left]\n */\n public exceed(bbox: BBox): Padding {\n return [\n Math.max(-this.minY + bbox.minY, 0),\n Math.max(this.maxX - bbox.maxX, 0),\n Math.max(this.maxY - bbox.maxY, 0),\n Math.max(-this.minX + bbox.minX, 0),\n ];\n }\n\n /**\n * 是否碰撞\n * @param bbox\n */\n public collide(bbox: BBox): boolean {\n return this.minX < bbox.maxX && this.maxX > bbox.minX && this.minY < bbox.maxY && this.maxY > bbox.minY;\n }\n\n /**\n * 获取包围盒大小\n * @returns 包围盒大小\n */\n public size(): number {\n return this.width * this.height;\n }\n\n /**\n * 点是否在 bbox 中\n * @param p\n */\n public isPointIn(p: Point) {\n return p.x >= this.minX && p.x <= this.maxX && p.y >= this.minY && p.y <= this.maxY;\n }\n}\n\n/**\n * 从一个 bbox 的 region 获取 bbox\n * @param bbox\n * @param region\n */\nexport const getRegionBBox = (bbox: BBox, region: Region): BBox => {\n const { start, end } = region;\n\n return new BBox(\n bbox.x + bbox.width * start.x,\n bbox.y + bbox.height * start.y,\n bbox.width * Math.abs(end.x - start.x),\n bbox.height * Math.abs(end.y - start.y)\n );\n};\n\n/**\n * 将 bbox 转换成 points\n * @param bbox\n */\nexport function toPoints(bbox: Partial): any[] {\n return [\n [bbox.minX, bbox.minY],\n [bbox.maxX, bbox.minY],\n [bbox.maxX, bbox.maxY],\n [bbox.minX, bbox.maxY],\n ];\n}\n","import { Coordinate } from '../dependents';\nimport { Point } from '../interface';\nimport { getSectorPath } from './graphics';\nimport { isBetween } from './helper';\nimport { BBox } from './bbox';\n\n/**\n * @ignore\n * Gets x dimension length\n * @param coordinate\n * @returns x dimension length\n */\nexport function getXDimensionLength(coordinate): number {\n if (coordinate.isPolar && !coordinate.isTransposed) {\n // 极坐标系下 width 为弧长\n return (coordinate.endAngle - coordinate.startAngle) * coordinate.getRadius();\n }\n\n // 直角坐标系\n const start = coordinate.convert({ x: 0, y: 0 });\n const end = coordinate.convert({ x: 1, y: 0 });\n // 坐标系有可能发生 transpose 等变换,所有通过两点之间的距离进行计算\n return Math.sqrt(Math.pow(end.x - start.x, 2) + Math.pow(end.y - start.y, 2));\n}\n\n/**\n * @ignore\n * Determines whether full circle is\n * @param coordinate\n * @returns true if full circle\n */\nexport function isFullCircle(coordinate: Coordinate): boolean {\n if (coordinate.isPolar) {\n const { startAngle, endAngle } = coordinate;\n return endAngle - startAngle === Math.PI * 2;\n }\n return false;\n}\n\n/**\n * @ignore\n * 获取当前点到坐标系圆心的距离\n * @param coordinate 坐标系\n * @param point 当前点\n * @returns distance to center\n */\nexport function getDistanceToCenter(coordinate: Coordinate, point: Point): number {\n const center = coordinate.getCenter() as Point;\n return Math.sqrt((point.x - center.x) ** 2 + (point.y - center.y) ** 2);\n}\n\n/**\n * @ignore\n * 坐标点是否在坐标系中\n * @param coordinate\n * @param point\n */\nexport function isPointInCoordinate(coordinate: Coordinate, point: Point) {\n let result = false;\n\n if (coordinate) {\n if (coordinate.type === 'theta') {\n const { start, end } = coordinate;\n result = isBetween(point.x, start.x, end.x) && isBetween(point.y, start.y, end.y);\n } else {\n const invertPoint = coordinate.invert(point);\n \n result = isBetween(invertPoint.x, 0, 1) && isBetween(invertPoint.y, 0, 1);\n }\n }\n\n return result;\n}\n\n/**\n * @ignore\n * 获取点到圆心的连线与水平方向的夹角\n */\nexport function getAngleByPoint(coordinate: Coordinate, point: Point): number {\n const center = coordinate.getCenter();\n return Math.atan2(point.y - center.y, point.x - center.x);\n}\n\n/**\n * @ignore\n * 获取同坐标系范围相同的剪切区域\n * @param coordinate\n * @returns\n */\nexport function getCoordinateClipCfg(coordinate: Coordinate, margin: number = 0) {\n const { start, end } = coordinate;\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n\n if (coordinate.isPolar) {\n const { startAngle, endAngle } = coordinate;\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n\n return {\n type: 'path',\n startState: {\n path: getSectorPath(center.x, center.y, radius + margin, startAngle, startAngle),\n },\n endState: (ratio) => {\n const diff = (endAngle - startAngle) * ratio + startAngle;\n const path = getSectorPath(center.x, center.y, radius + margin, startAngle, diff);\n return {\n path,\n };\n },\n attrs: {\n path: getSectorPath(center.x, center.y, radius + margin, startAngle, endAngle),\n },\n };\n }\n\n let endState;\n if (coordinate.isTransposed) {\n endState = {\n height: height + margin * 2,\n };\n } else {\n endState = {\n width: width + margin * 2,\n };\n }\n\n return {\n type: 'rect',\n startState: {\n x: start.x - margin,\n y: end.y - margin,\n width: coordinate.isTransposed ? width + margin * 2 : 0,\n height: coordinate.isTransposed ? 0 : height + margin * 2,\n },\n endState,\n attrs: {\n x: start.x - margin,\n y: end.y - margin,\n width: width + margin * 2,\n height: height + margin * 2,\n },\n };\n}\n\n/**\n * 获取坐标系范围的 BBox\n * @param coordinate\n * @param margin\n */\nexport function getCoordinateBBox(coordinate: Coordinate, margin = 0) {\n const { start, end } = coordinate;\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n const minX = Math.min(start.x, end.x);\n const minY = Math.min(start.y, end.y);\n\n return BBox.fromRange(minX - margin, minY - margin, minX + width + margin, minY + height + margin);\n}\n","import { firstValue, get, isEmpty, isNil, isNumber, isString, valuesOfKey } from '@antv/util';\nimport { GROUP_ATTRS } from '../constant';\nimport { getScale, Scale, Coordinate } from '../dependents';\nimport { LooseObject, ScaleOption, ViewCfg } from '../interface';\nimport { isFullCircle } from './coordinate';\n\nconst dateRegex =\n /^(?:(?!0000)[0-9]{4}([-/.]+)(?:(?:0?[1-9]|1[0-2])\\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\\1(?:29|30)|(?:0?[13578]|1[02])\\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]+)0?2\\2(?:29))(\\s+([01]|([01][0-9]|2[0-3])):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/;\n\n/**\n * 获取字段对应数据的类型\n * @param field 数据字段名\n * @param data 数据源\n * @returns default type 返回对应的数据类型\n */\nfunction getDefaultType(value: any): string {\n let type = 'linear';\n if (dateRegex.test(value)) {\n type = 'timeCat';\n } else if (isString(value)) {\n type = 'cat';\n }\n return type;\n}\n\n/**\n * using the scale type if user specified, otherwise infer the type\n */\nexport function inferScaleType(scale: Scale, scaleDef: ScaleOption = {}, attrType: string, geometryType: string): string {\n if (scaleDef.type) return scaleDef.type;\n // identity scale 直接返回\n // geometry 类型有: edge,heatmap,interval,line,path,point,polygon,schema,voilin等;理论上,interval 下,可以用 linear scale 作为分组字段\n if (scale.type !== 'identity' && GROUP_ATTRS.includes(attrType) && ['interval'].includes(geometryType)) {\n return 'cat';\n }\n return scale.isCategory ? 'cat' : scale.type;\n}\n\n/**\n * @ignore\n * 为指定的 `field` 字段数据创建 scale\n * @param field 字段名\n * @param [data] 数据集,可为空\n * @param [scaleDef] 列定义,可为空\n * @returns scale 返回创建的 Scale 实例\n */\nexport function createScaleByField(field: string | number, data?: LooseObject[] | [], scaleDef?: ScaleOption): Scale {\n const validData = data || [];\n\n if (isNumber(field) || (isNil(firstValue(validData, field)) && isEmpty(scaleDef))) {\n const Identity = getScale('identity');\n return new Identity({\n field: field.toString(),\n values: [field],\n });\n }\n\n const values = valuesOfKey(validData, field);\n\n // 如果已经定义过这个度量 (fix-later 单纯从数据中,推断 scale type 是不精确的)\n const type = get(scaleDef, 'type', getDefaultType(values[0]));\n const ScaleCtor = getScale(type);\n return new ScaleCtor({\n field,\n values,\n ...scaleDef,\n });\n}\n\n/**\n * @ignore\n * 同步 scale\n * @todo 是否可以通过 scale.update() 方法进行更新\n * @param scale 需要同步的 scale 实例\n * @param newScale 同步源 Scale\n */\nexport function syncScale(scale: Scale, newScale: Scale) {\n if (scale.type !== 'identity' && newScale.type !== 'identity') {\n const obj = {};\n for (const k in newScale) {\n if (Object.prototype.hasOwnProperty.call(newScale, k)) {\n obj[k] = newScale[k];\n }\n }\n\n scale.change(obj);\n }\n}\n\n/**\n * @ignore\n * get the scale name, if alias exist, return alias, or else field\n * @param scale\n * @returns the name of field\n */\nexport function getName(scale: Scale): string {\n return scale.alias || scale.field;\n}\n\n/**\n * 根据 scale values 和 coordinate 获取分类默认 range\n * @param scale 需要获取的 scale 实例\n * @param coordinate coordinate 实例\n * @param theme theme\n */\nexport function getDefaultCategoryScaleRange(\n scale: Scale,\n coordinate: Coordinate,\n theme: ViewCfg['theme']\n): Scale['range'] {\n const { values } = scale;\n const count = values.length;\n let range;\n\n if (count === 1) {\n range = [0.5, 1]; // 只有一个分类时,防止计算出现 [0.5,0.5] 的状态\n } else {\n let widthRatio = 1;\n let offset = 0;\n\n if (isFullCircle(coordinate)) {\n if (!coordinate.isTransposed) {\n range = [0, 1 - 1 / count];\n } else {\n widthRatio = get(theme, 'widthRatio.multiplePie', 1 / 1.3);\n offset = (1 / count) * widthRatio;\n range = [offset / 2, 1 - offset / 2];\n }\n } else {\n offset = 1 / count / 2; // 两边留下分类空间的一半\n range = [offset, 1 - offset]; // 坐标轴最前面和最后面留下空白防止绘制柱状图时\n }\n }\n return range;\n}\n\n/**\n * @function y轴scale的max\n * @param {yScale}\n */\nexport function getMaxScale(scale: Scale) {\n // 过滤values[]中 NaN/undefined/null 等\n const values = scale.values.filter((item) => !isNil(item) && !isNaN(item));\n\n return Math.max(...values, isNil(scale.max) ? -Infinity : scale.max);\n}\n","import { deepMix, get, isBoolean } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Coordinate, Scale } from '../dependents';\nimport { AxisCfg, AxisOption, Point, Region } from '../interface';\nimport { getName } from './scale';\nimport { vec2 } from '@antv/matrix-util';\n\n/**\n * @ignore\n * get axis relative region ( 0 ~ 1) by direction when coordinate is rect\n * @param direction\n * @returns axis coordinate region\n */\nexport function getLineAxisRelativeRegion(direction: DIRECTION): Region {\n let start;\n let end;\n\n switch (direction) {\n case DIRECTION.TOP:\n start = { x: 0, y: 1 };\n end = { x: 1, y: 1 };\n break;\n case DIRECTION.RIGHT:\n start = { x: 1, y: 0 };\n end = { x: 1, y: 1 };\n break;\n case DIRECTION.BOTTOM:\n start = { x: 0, y: 0 };\n end = { x: 1, y: 0 };\n break;\n case DIRECTION.LEFT:\n start = { x: 0, y: 0 };\n end = { x: 0, y: 1 };\n break;\n default:\n start = end = { x: 0, y: 0 };\n }\n\n return { start, end };\n}\n\n/**\n * @ignore\n * get axis relative region ( 0 ~ 1) by direction when coordinate is polar\n * @param coordinate\n * @returns axis coordinate region\n */\nexport function getCircleAxisRelativeRegion(coordinate: Coordinate) {\n let start;\n let end;\n if (coordinate.isTransposed) {\n start = {\n x: 0,\n y: 0,\n };\n end = {\n x: 1,\n y: 0,\n };\n } else {\n start = {\n x: 0,\n y: 0,\n };\n end = {\n x: 0,\n y: 1,\n };\n }\n\n return { start, end };\n}\n\n/**\n * @ignore\n * get the axis region from coordinate\n * @param coordinate\n * @param direction\n * @returns the axis region (start point, end point)\n */\nexport function getAxisRegion(coordinate: Coordinate, direction: DIRECTION): Region {\n let region = { start: { x: 0, y: 0 }, end: { x: 0, y: 0 } };\n if (coordinate.isRect) {\n region = getLineAxisRelativeRegion(direction);\n } else if (coordinate.isPolar) {\n region = getCircleAxisRelativeRegion(coordinate);\n }\n\n const { start, end } = region;\n return {\n start: coordinate.convert(start),\n end: coordinate.convert(end),\n };\n}\n\n/**\n * @ignore\n * get axis factor\n * @param coordinate\n * @param direction\n * @returns factor\n */\nexport function getAxisFactor(coordinate: Coordinate, direction: DIRECTION): number {\n // rect coordinate, by direction\n if (coordinate.isRect) {\n return coordinate.isTransposed\n ? [DIRECTION.RIGHT, DIRECTION.BOTTOM].includes(direction)\n ? 1\n : -1\n : [DIRECTION.BOTTOM, DIRECTION.RIGHT].includes(direction)\n ? -1\n : 1;\n }\n\n // polar y axis, by angle\n if (coordinate.isPolar) {\n const startAngle = coordinate.x.start;\n return startAngle < 0 ? -1 : 1;\n }\n\n return 1;\n}\n\n/**\n * @ignore\n * whether the axis isVertical\n * @param region\n * @returns isVertical\n */\nexport function isVertical(region: Region): boolean {\n const { start, end } = region;\n\n return start.x === end.x;\n}\n\n/**\n * @ignore\n * get factor by region (real position)\n * @param region\n * @param center\n * @returns factor\n */\nexport function getAxisFactorByRegion(region: Region, center: Point): number {\n const { start, end } = region;\n\n const isAxisVertical = isVertical(region);\n\n // 垂直\n if (isAxisVertical) {\n // 左方,从下到上、右方,从上到下\n if ((start.y - end.y) * (center.x - start.x) > 0) {\n return 1;\n } else {\n return -1;\n }\n } else {\n // 下方,从左到右、上方,从右到做\n if ((end.x - start.x) * (start.y - center.y) > 0) {\n return -1;\n } else {\n return 1;\n }\n }\n}\n\n/**\n * @ignore\n * get the axis cfg from theme, will mix the common cfg of legend theme\n *\n * @param theme view theme object\n * @param direction axis direction\n * @returns axis theme cfg\n */\nexport function getAxisThemeCfg(theme: object, direction: string): object {\n const axisTheme = get(theme, ['components', 'axis'], {});\n return deepMix({}, get(axisTheme, ['common'], {}), deepMix({}, get(axisTheme, [direction], {})));\n}\n\n/**\n * get the options of axis title,mix the cfg from theme, avoid common themeCfg not work\n * @param theme\n * @param direction\n * @param axisOptions\n * @returns axis title options\n */\nexport function getAxisTitleOptions(theme: object, direction: string, axisOptions?: object): object {\n const axisTheme = get(theme, ['components', 'axis'], {});\n return deepMix(\n {},\n get(axisTheme, ['common', 'title'], {}),\n deepMix({}, get(axisTheme, [direction, 'title'], {})),\n axisOptions\n );\n}\n\n/**\n * @ignore\n * get circle axis center and radius\n * @param coordinate\n */\nexport function getCircleAxisCenterRadius(coordinate: Coordinate) {\n // @ts-ignore\n const { x, y, circleCenter: center } = coordinate;\n const isReflectY = y.start > y.end;\n const start = coordinate.isTransposed\n ? coordinate.convert({\n x: isReflectY ? 0 : 1,\n y: 0,\n })\n : coordinate.convert({\n x: 0,\n y: isReflectY ? 0 : 1,\n });\n\n const startVector: [number, number] = [start.x - center.x, start.y - center.y];\n const normalVector: [number, number] = [1, 0];\n const startAngle =\n start.y > center.y ? vec2.angle(startVector, normalVector) : vec2.angle(startVector, normalVector) * -1;\n const endAngle = startAngle + (x.end - x.start);\n const radius = Math.sqrt((start.x - center.x) ** 2 + (start.y - center.y) ** 2);\n\n return {\n center,\n radius,\n startAngle,\n endAngle,\n };\n}\n\n/**\n * @ignore\n * 从配置中获取单个字段的 axis 配置\n * @param axes\n * @param field\n * @returns the axis option of field\n */\nexport function getAxisOption(axes: Record | boolean, field: string) {\n if (isBoolean(axes)) {\n return axes === false ? false : {};\n }\n return get(axes, [field]);\n}\n\n/**\n * @ignore\n * 如果配置了 position,则使用配置\n * @param axisOption\n * @param def\n */\nexport function getAxisDirection(axisOption: AxisOption, def: DIRECTION): DIRECTION {\n return get(axisOption, 'position', def);\n}\n\n/**\n * 获取 axis 的 title 文本\n * @param scale\n * @param axisOption\n */\nexport function getAxisTitleText(scale: Scale, axisOption: AxisCfg): string {\n return get(axisOption, ['title', 'text'], getName(scale));\n}\n","import { deepMix, each, every, get, isNil, isNumber } from '@antv/util';\nimport { LAYER } from '../constant';\nimport { IGroup } from '../dependents';\nimport { AxisCfg, Condition, Datum, FacetCfg, FacetData, FacetDataFilter, Region } from '../interface';\n\nimport View from '../chart/view';\nimport { getAxisOption } from '../util/axis';\n\n/**\n * facet 基类\n * - 定义生命周期,方便自定义 facet\n * - 提供基础的生命流程方法\n *\n * 生命周期:\n *\n * 初始化 init\n * 1. 初始化容器\n * 2. 数据分面,生成分面布局信息\n *\n * 渲染阶段 render\n * 1. view 创建\n * 2. title\n * 3. axis\n *\n * 清除阶段 clear\n * 1. 清除 view\n *\n * 销毁阶段 destroy\n * 1. clear\n * 2. 清除事件\n * 3. 清除 group\n */\nexport abstract class Facet = FacetCfg, F extends FacetData = FacetData> {\n /** 分面所在的 view */\n public view: View;\n /** 分面容器 */\n public container: IGroup;\n /** 是否销毁 */\n public destroyed: boolean = false;\n\n /** 分面的配置项 */\n protected cfg: C;\n /** 分面之后的所有分面数据结构 */\n protected facets: F[] = [];\n\n constructor(view: View, cfg: C) {\n this.view = view;\n this.cfg = deepMix({}, this.getDefaultCfg(), cfg);\n }\n\n /**\n * 初始化过程\n */\n public init() {\n // 初始化容器\n if (!this.container) {\n this.container = this.createContainer();\n }\n\n // 生成分面布局信息\n const data = this.view.getData();\n this.facets = this.generateFacets(data);\n }\n\n /**\n * 渲染分面,由上层 view 调用。包括:\n * - 分面 view\n * - 轴\n * - title\n *\n * 子类可以复写,添加一些其他组件,比如滚动条等\n */\n public render() {\n this.renderViews();\n }\n\n /**\n * 更新 facet\n */\n public update() {\n // 其实不用做任何事情,因为 facet 最终生成的 View 和 Geometry 都在父 view 的更新中处理了\n }\n\n /**\n * 清空,clear 之后如果还需要使用,需要重新调用 init 初始化过程\n * 一般在数据有变更的时候调用,重新进行数据的分面逻辑\n */\n public clear() {\n this.clearFacetViews();\n }\n\n /**\n * 销毁\n */\n public destroy() {\n this.clear();\n\n if (this.container) {\n this.container.remove(true);\n this.container = undefined;\n }\n\n this.destroyed = true;\n this.view = undefined;\n this.facets = [];\n }\n\n /**\n * 根据 facet 生成 view,可以给上层自定义使用\n * @param facet\n */\n protected facetToView(facet: F): View {\n const { region, data, padding = this.cfg.padding } = facet;\n\n const view = this.view.createView({\n region,\n padding,\n });\n\n // 设置分面的数据\n view.data(data || []);\n facet.view = view;\n\n // 前置钩子\n this.beforeEachView(view, facet);\n\n const { eachView } = this.cfg;\n if (eachView) {\n eachView(view, facet);\n }\n\n // 后置钩子\n this.afterEachView(view, facet);\n\n return view;\n }\n\n // 创建容器\n private createContainer(): IGroup {\n const foregroundGroup = this.view.getLayer(LAYER.FORE);\n return foregroundGroup.addGroup();\n }\n\n /**\n * 初始化 view\n */\n private renderViews() {\n this.createFacetViews();\n }\n\n /**\n * 创建 分面 view\n */\n private createFacetViews(): View[] {\n // 使用分面数据 创建分面 view\n return this.facets.map((facet): View => {\n return this.facetToView(facet);\n });\n }\n\n /**\n * 从 view 中清除 facetView\n */\n private clearFacetViews() {\n // 从 view 中移除分面 view\n each(this.facets, (facet) => {\n if (facet.view) {\n this.view.removeView(facet.view);\n facet.view = undefined;\n }\n });\n }\n\n /**\n * 解析 spacing\n */\n private parseSpacing() {\n /**\n * @example\n *\n * // 仅使用百分比或像素值\n * // 横向间隔为 10%,纵向间隔为 10%\n * ['10%', '10%']\n * // 横向间隔为 10px,纵向间隔为 10px\n * [10, 10]\n *\n * // 同时使用百分比和像素值\n * ['10%', 10]\n * // 横向间隔为 10%,纵向间隔为 10px\n */\n const { width, height } = this.view.viewBBox;\n const { spacing } = this.cfg;\n return spacing.map((s: number, idx: number) => {\n if (isNumber(s)) return s / (idx === 0 ? width : height);\n else return parseFloat(s) / 100;\n });\n }\n\n // 其他一些提供给子类使用的方法\n\n /**\n * 获取这个字段对应的所有值,数组\n * @protected\n * @param data 数据\n * @param field 字段名\n * @return 字段对应的值\n */\n protected getFieldValues(data: Datum[], field: string): string[] {\n const rst = [];\n const cache: Record = {};\n\n // 去重、去除 Nil 值\n each(data, (d: Datum) => {\n const value = d[field];\n if (!isNil(value) && !cache[value]) {\n rst.push(value);\n cache[value] = true;\n }\n });\n\n return rst;\n }\n\n /**\n * 获得每个分面的 region,平分区域\n * @param rows row 总数\n * @param cols col 总数\n * @param xIndex x 方向 index\n * @param yIndex y 方向 index\n */\n protected getRegion(rows: number, cols: number, xIndex: number, yIndex: number): Region {\n const [xSpacing, ySpacing] = this.parseSpacing();\n // 每两个分面区域横向间隔xSPacing, 纵向间隔ySpacing\n // 每个分面区域的横纵占比\n /**\n * ratio * num + spacing * (num - 1) = 1\n * => ratio = (1 - (spacing * (num - 1))) / num\n * = (1 + spacing) / num - spacing\n *\n * num 对应 cols/rows\n * spacing 对应 xSpacing/ySpacing\n */\n const xRatio = (1 + xSpacing) / (cols === 0 ? 1 : cols) - xSpacing;\n const yRatio = (1 + ySpacing) / (rows === 0 ? 1 : rows) - ySpacing;\n\n // 得到第 index 个分面区域百分比位置\n const start = {\n x: (xRatio + xSpacing) * xIndex,\n y: (yRatio + ySpacing) * yIndex,\n };\n const end = {\n x: start.x + xRatio,\n y: start.y + yRatio,\n };\n return { start, end };\n }\n\n protected getDefaultCfg() {\n return {\n eachView: undefined,\n showTitle: true,\n spacing: [0, 0],\n padding: 10,\n fields: [],\n };\n }\n\n /**\n * 默认的 title 样式,因为有的分面是 title,有的分面配置是 columnTitle、rowTitle\n */\n protected getDefaultTitleCfg() {\n // @ts-ignore\n const fontFamily = this.view.getTheme().fontFamily;\n return {\n style: {\n fontSize: 14,\n fill: '#666',\n fontFamily,\n },\n };\n }\n\n /**\n * 处理 axis 的默认配置\n * @param view\n * @param facet\n */\n protected processAxis(view: View, facet: F) {\n const options = view.getOptions();\n\n const coordinateOption = options.coordinate;\n const geometries = view.geometries;\n\n const coordinateType = get(coordinateOption, 'type', 'rect');\n\n if (coordinateType === 'rect' && geometries.length) {\n if (isNil(options.axes)) {\n // @ts-ignore\n options.axes = {};\n }\n const axes = options.axes;\n\n const [x, y] = geometries[0].getXYFields();\n\n const xOption = getAxisOption(axes, x);\n const yOption = getAxisOption(axes, y);\n\n if (xOption !== false) {\n options.axes[x] = this.getXAxisOption(x, axes, xOption, facet);\n }\n\n if (yOption !== false) {\n options.axes[y] = this.getYAxisOption(y, axes, yOption, facet);\n }\n }\n }\n\n /**\n * 获取分面数据\n * @param conditions\n */\n protected getFacetDataFilter(conditions: Condition[]): FacetDataFilter {\n return (datum: Datum) => {\n // 过滤出全部满足条件的数据\n return every(conditions, (condition) => {\n const { field, value } = condition;\n\n if (!isNil(value) && field) {\n return datum[field] === value;\n }\n return true;\n });\n };\n }\n\n /**\n * @override 开始处理 eachView\n * @param view\n * @param facet\n */\n protected abstract beforeEachView(view: View, facet: F);\n\n /**\n * @override 处理 eachView 之后\n * @param view\n * @param facet\n */\n protected abstract afterEachView(view: View, facet: F);\n\n /**\n * @override 生成分面数据,包含布局\n * @param data\n */\n protected abstract generateFacets(data: Datum[]): F[];\n\n /**\n * 获取 x 轴的配置\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected abstract getXAxisOption(x: string, axes: any, option: AxisCfg, facet: F): object;\n\n /**\n * 获取 y 轴的配置\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected abstract getYAxisOption(y: string, axes: any, option: AxisCfg, facet: F): object;\n}\n","import { lowerCase } from '@antv/util';\nimport { FacetCtor } from '../interface';\nexport { Facet } from './facet';\n\n/**\n * 所有的 Facet 类\n */\nconst Facets: Record = {};\n\n/**\n * 根据 type 获取 facet 类\n * @param type 分面类型\n */\nexport const getFacet = (type: string): FacetCtor => {\n return Facets[lowerCase(type)];\n};\n\n/**\n * 注册一个 Facet 类\n * @param type 分面类型\n * @param ctor 分面类\n */\nexport const registerFacet = (type: string, ctor: FacetCtor) => {\n Facets[lowerCase(type)] = ctor;\n};\n","import { assign } from '@antv/util';\nimport { IAction, IInteractionContext, LooseObject } from '../../interface';\n\n/**\n * Action 的基类\n */\nabstract class Action implements IAction {\n /** Action 名字 */\n public name;\n /** 上下文对象 */\n public context: IInteractionContext;\n /** Action 配置 */\n protected cfg: T;\n /** 配置项的字段,自动负值到 this 上 */\n protected cfgFields: string[];\n\n constructor(context: IInteractionContext, cfg?: T) {\n this.context = context;\n this.cfg = cfg;\n context.addAction(this);\n }\n\n /**\n * 设置配置项传入的值\n * @param cfg\n */\n protected applyCfg(cfg) {\n assign(this, cfg);\n }\n\n /**\n * Inits action,提供给子类用于继承\n */\n public init() {\n this.applyCfg(this.cfg);\n }\n\n /**\n * Destroys action\n */\n public destroy() {\n // 移除 action\n this.context.removeAction(this);\n // 清空\n this.context = null;\n }\n}\n\nexport default Action;\n","import { ActionCallback } from '../../interface';\nimport Action from './base';\n\n/** 回调函数构建的 Action */\nexport default class CallbackAction extends Action {\n /**\n * 回调函数\n */\n public callback: ActionCallback;\n /**\n * 执行\n */\n public execute() {\n if (this.callback) {\n this.callback(this.context);\n }\n }\n /**\n * 销毁\n */\n public destroy() {\n super.destroy();\n this.callback = null;\n }\n}\n","import { ActionCallback, IInteractionContext, LooseObject } from '../../interface';\nimport Action from './base';\nimport CallbackAction from './callback';\nimport { get } from '@antv/util';\n\n/** Action 构造函数 */\ntype ActionConstructor = new (context: IInteractionContext, cfg?: LooseObject) => Action;\n\n/** @ignore */\ninterface ActionOption {\n ActionClass: ActionConstructor;\n cfg: LooseObject;\n}\n\n// Action 类的缓存\nconst ActionCache: Record = {};\n\n/**\n * 根据名称获取 Action 实例\n * @param actionName - action 的名称\n * @param context 上下文\n * @returns Action 实例\n */\nexport function createAction(actionName: string, context: IInteractionContext): Action {\n const actionOption = ActionCache[actionName];\n let action = null;\n if (actionOption) {\n const { ActionClass, cfg } = actionOption;\n action = new ActionClass(context, cfg);\n action.name = actionName;\n action.init();\n }\n return action;\n}\n\n/**\n * 根据 action 的 name 获取定义的类\n * @param actionName action 的 name\n */\nexport function getActionClass(actionName: string): ActionConstructor {\n const actionOption = ActionCache[actionName];\n return get(actionOption, 'ActionClass');\n}\n\n/**\n * 注册 Action\n * @param actionName - action 的名称\n * @param ActionClass - 继承自 action 的类\n */\nexport function registerAction(actionName: string, ActionClass: ActionConstructor, cfg?: LooseObject) {\n ActionCache[actionName] = {\n ActionClass,\n cfg,\n };\n}\n\n/**\n * 取消注册 Action\n * @param actionName action 名称\n */\nexport function unregisterAction(actionName: string) {\n delete ActionCache[actionName];\n}\n\n/**\n * 根据回调函数获取 Action 实例\n * @param callback - action 的回调函数\n * @param context 上下文\n * @returns Action 实例\n */\nexport function createCallbackAction(callback: ActionCallback, context: IInteractionContext): CallbackAction {\n const action = new CallbackAction(context);\n action.callback = callback;\n action.name = 'callback';\n return action;\n}\n","import { vec2 } from '@antv/matrix-util';\nimport { each } from '@antv/util';\nimport { Coordinate, PathCommand } from '../../../dependents';\nimport { Point, Position } from '../../../interface';\nimport { getDistanceToCenter } from '../../../util/coordinate';\n\nfunction _points2path(points: Point[], isInCircle: boolean): PathCommand[] {\n const path = [];\n if (points.length) {\n path.push(['M', points[0].x, points[0].y]);\n for (let i = 1, length = points.length; i < length; i += 1) {\n const item = points[i];\n path.push(['L', item.x, item.y]);\n }\n\n if (isInCircle) {\n path.push(['Z']);\n }\n }\n\n return path;\n}\n\nfunction _convertArr(arr: number[], coord: Coordinate): any[] {\n const tmp = [arr[0]];\n for (let i = 1, len = arr.length; i < len; i = i + 2) {\n const point = coord.convert({\n x: arr[i],\n y: arr[i + 1],\n });\n tmp.push(point.x, point.y);\n }\n return tmp;\n}\nfunction _convertArcPath(path: PathCommand, coord: Coordinate): any[] {\n const { isTransposed } = coord;\n const r = path[1];\n const x = path[6];\n const y = path[7];\n const point = coord.convert({ x, y });\n const direction = isTransposed ? 0 : 1;\n return ['A', r, r, 0, 0, direction, point.x, point.y];\n}\n\nfunction _convertPolarPath(pre: PathCommand, cur: PathCommand, coord: Coordinate): PathCommand[] {\n const { isTransposed, startAngle, endAngle } = coord;\n const prePoint =\n pre[0].toLowerCase() === 'a'\n ? {\n x: pre[6],\n y: pre[7],\n }\n : {\n x: pre[1],\n y: pre[2],\n };\n const curPoint = {\n x: cur[1],\n y: cur[2],\n };\n const rst = [];\n const xDim = isTransposed ? 'y' : 'x';\n const angleRange = Math.abs(curPoint[xDim] - prePoint[xDim]) * (endAngle - startAngle);\n const direction = curPoint[xDim] >= prePoint[xDim] ? 1 : 0; // 圆弧的方向\n const flag = angleRange > Math.PI ? 1 : 0; // 大弧还是小弧标志位\n const convertPoint = coord.convert(curPoint);\n const r = getDistanceToCenter(coord, convertPoint);\n if (r >= 0.5) {\n // 小于1像素的圆在图像上无法识别\n if (angleRange === Math.PI * 2) {\n const middlePoint = {\n x: (curPoint.x + prePoint.x) / 2,\n y: (curPoint.y + prePoint.y) / 2,\n };\n const middleConvertPoint = coord.convert(middlePoint);\n rst.push(['A', r, r, 0, flag, direction, middleConvertPoint.x, middleConvertPoint.y]);\n rst.push(['A', r, r, 0, flag, direction, convertPoint.x, convertPoint.y]);\n } else {\n rst.push(['A', r, r, 0, flag, direction, convertPoint.x, convertPoint.y]);\n }\n }\n return rst;\n}\n\n// 当存在整体的圆时,去除圆前面和后面的线,防止出现直线穿过整个圆的情形\nfunction _filterFullCirleLine(path: PathCommand[]) {\n each(path, (subPath, index) => {\n const cur = subPath;\n if (cur[0].toLowerCase() === 'a') {\n const pre = path[index - 1];\n const next = path[index + 1];\n if (next && next[0].toLowerCase() === 'a') {\n if (pre && pre[0].toLowerCase() === 'l') {\n pre[0] = 'M';\n }\n } else if (pre && pre[0].toLowerCase() === 'a') {\n if (next && next[0].toLowerCase() === 'l') {\n next[0] = 'M';\n }\n }\n }\n });\n}\n\n/**\n * @ignore\n * 计算光滑的贝塞尔曲线\n */\nexport const smoothBezier = (\n points: Position[],\n smooth: number,\n isLoop: boolean,\n constraint: Position[]\n): Position[] => {\n const cps = [];\n const hasConstraint = !!constraint;\n\n let prevPoint: Position;\n let nextPoint: Position;\n let min: Position;\n let max: Position;\n let nextCp0: Position;\n let cp1: Position;\n let cp0: Position;\n\n if (hasConstraint) {\n [min, max] = constraint;\n for (let i = 0, l = points.length; i < l; i++) {\n const point = points[i];\n min = vec2.min([0, 0], min, point) as [number, number];\n max = vec2.max([0, 0], max, point) as [number, number];\n }\n }\n\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (i === 0 && !isLoop) {\n cp0 = point;\n } else if (i === len - 1 && !isLoop) {\n cp1 = point;\n cps.push(cp0);\n cps.push(cp1);\n } else {\n prevPoint = points[isLoop ? (i ? i - 1 : len - 1) : i - 1];\n nextPoint = points[isLoop ? (i + 1) % len : i + 1];\n\n let v: [number, number] = [0, 0];\n v = vec2.sub(v, nextPoint, prevPoint) as [number, number];\n v = vec2.scale(v, v, smooth) as [number, number];\n\n let d0 = vec2.distance(point, prevPoint);\n let d1 = vec2.distance(point, nextPoint);\n\n const sum = d0 + d1;\n if (sum !== 0) {\n d0 /= sum;\n d1 /= sum;\n }\n\n let v1 = vec2.scale([0, 0], v, -d0);\n let v2 = vec2.scale([0, 0], v, d1);\n\n cp1 = vec2.add([0, 0], point, v1) as Position;\n nextCp0 = vec2.add([0, 0], point, v2) as Position;\n\n // 下一个控制点必须在这个点和下一个点之间\n nextCp0 = vec2.min([0, 0], nextCp0, vec2.max([0, 0], nextPoint, point)) as Position;\n nextCp0 = vec2.max([0, 0], nextCp0, vec2.min([0, 0], nextPoint, point)) as Position;\n\n // 重新计算 cp1 的值\n v1 = vec2.sub([0, 0], nextCp0, point);\n v1 = vec2.scale([0, 0], v1, -d0 / d1);\n cp1 = vec2.add([0, 0], point, v1) as Position;\n\n // 上一个控制点必须要在上一个点和这一个点之间\n cp1 = vec2.min([0, 0], cp1, vec2.max([0, 0], prevPoint, point)) as Position;\n cp1 = vec2.max([0, 0], cp1, vec2.min([0, 0], prevPoint, point)) as Position;\n\n // 重新计算 nextCp0 的值\n v2 = vec2.sub([0, 0], point, cp1);\n v2 = vec2.scale([0, 0], v2, d1 / d0);\n nextCp0 = vec2.add([0, 0], point, v2) as Position;\n\n if (hasConstraint) {\n cp1 = vec2.max([0, 0], cp1, min) as Position;\n cp1 = vec2.min([0, 0], cp1, max) as Position;\n nextCp0 = vec2.max([0, 0], nextCp0, min) as Position;\n nextCp0 = vec2.min([0, 0], nextCp0, max) as Position;\n }\n\n cps.push(cp0);\n cps.push(cp1);\n cp0 = nextCp0;\n }\n }\n\n if (isLoop) {\n cps.push(cps.shift());\n }\n\n return cps;\n};\n\n/**\n * @ignore\n * 贝塞尔曲线\n */\nexport function catmullRom2bezier(crp: number[], z: boolean, constraint: Position[]): PathCommand[] {\n const isLoop = !!z;\n const pointList = [];\n for (let i = 0, l = crp.length; i < l; i += 2) {\n pointList.push([crp[i], crp[i + 1]]);\n }\n\n const controlPointList = smoothBezier(pointList, 0.4, isLoop, constraint);\n const len = pointList.length;\n const d1 = [];\n\n let cp1: Position;\n let cp2: Position;\n let p: Position;\n\n for (let i = 0; i < len - 1; i++) {\n cp1 = controlPointList[i * 2];\n cp2 = controlPointList[i * 2 + 1];\n p = pointList[i + 1];\n\n d1.push(['C', cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]]);\n }\n\n if (isLoop) {\n cp1 = controlPointList[len];\n cp2 = controlPointList[len + 1];\n p = pointList[0];\n\n d1.push(['C', cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]]);\n }\n return d1;\n}\n\n/**\n * @ignore\n * 将点连接成路径 path\n */\nexport function getLinePath(points: Point[], isInCircle?: boolean): PathCommand[] {\n return _points2path(points, isInCircle);\n}\n\n/**\n * @ignore\n * 根据关键点获取限定了范围的平滑线\n */\nexport function getSplinePath(points: Point[], isInCircle?: boolean, constaint?: Position[]): PathCommand[] {\n const data = [];\n const first = points[0];\n let prePoint = null;\n if (points.length <= 2) {\n // 两点以内直接绘制成路径\n return getLinePath(points, isInCircle);\n }\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (!prePoint || !(prePoint.x === point.x && prePoint.y === point.y)) {\n data.push(point.x);\n data.push(point.y);\n prePoint = point;\n }\n }\n const constraint = constaint || [\n // 范围\n [0, 0],\n [1, 1],\n ];\n const splinePath = catmullRom2bezier(data, isInCircle, constraint);\n splinePath.unshift(['M', first.x, first.y]);\n return splinePath;\n}\n\n/**\n * @ignore\n * 将归一化后的路径数据转换成坐标\n */\nexport function convertNormalPath(coord, path: PathCommand[]): PathCommand[] {\n const tmp = [];\n each(path, (subPath) => {\n const action = subPath[0];\n switch (action.toLowerCase()) {\n case 'm':\n case 'l':\n case 'c':\n tmp.push(_convertArr(subPath, coord));\n break;\n case 'a':\n tmp.push(_convertArcPath(subPath, coord));\n break;\n case 'z':\n default:\n tmp.push(subPath);\n break;\n }\n });\n return tmp;\n}\n\n/**\n * @ignore\n * 将路径转换为极坐标下的真实路径\n */\nexport function convertPolarPath(coord, path: PathCommand[]): PathCommand[] {\n let tmp = [];\n let pre: PathCommand;\n let cur: PathCommand;\n let transposed: boolean;\n let equals: boolean;\n each(path, (subPath, index) => {\n const action = subPath[0];\n\n switch (action.toLowerCase()) {\n case 'm':\n case 'c':\n case 'q':\n tmp.push(_convertArr(subPath, coord));\n break;\n case 'l':\n pre = path[index - 1];\n cur = subPath;\n transposed = coord.isTransposed;\n // 是否半径相同,转换成圆弧\n equals = transposed ? pre[pre.length - 2] === cur[1] : pre[pre.length - 1] === cur[2];\n if (equals) {\n tmp = tmp.concat(_convertPolarPath(pre, cur, coord));\n } else {\n // y 不相等,所以直接转换\n tmp.push(_convertArr(subPath, coord));\n }\n break;\n case 'a':\n tmp.push(_convertArcPath(subPath, coord));\n break;\n case 'z':\n default:\n tmp.push(subPath);\n break;\n }\n });\n _filterFullCirleLine(tmp); // 过滤多余的直线\n return tmp;\n}\n","import { each, isArray } from '@antv/util';\nimport { View } from '../../chart';\nimport { BBox, PathCommand, Point } from '../../dependents';\nimport Geometry from '../../geometry/base';\nimport Element from '../../geometry/element/';\nimport { catmullRom2bezier, getLinePath } from '../../geometry/shape/util/path';\nimport { toPoints } from '../../util/bbox';\nimport { isPolygonsIntersect } from '@antv/path-util';\nimport { ComponentOption, IInteractionContext, LooseObject } from '../../interface';\n\nfunction getMaskBBox(context: IInteractionContext, tolerance: number) {\n const event = context.event;\n const maskShape = event.target;\n return getMaskBBoxByShape(maskShape, tolerance);\n}\n\n/**\n * 如果 mask BBox 过小则不返回\n */\nfunction isValidMaskBBox(maskShape, tolerance: number) {\n const maskBBox = maskShape.getCanvasBBox();\n const { width, height } = maskBBox;\n return width > 0 && height > 0 && (width >= tolerance || height >= tolerance);\n}\n\n/**\n * 通过 maskShape 获取 mask 的 canvasBBox\n * @param maskShape\n * @param tolerance\n * @returns\n */\nfunction getMaskBBoxByShape(maskShape, tolerance: number) {\n const maskBBox = maskShape.getCanvasBBox();\n return isValidMaskBBox(maskShape, tolerance) ? maskBBox : null;\n}\n\n/**\n * 获取 multiple 模式下 mask 的 canvasBBox 数组\n * @param context 上下文\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getMultiMaskBBoxList(context: IInteractionContext, tolerance: number) {\n const { maskShapes } = context.event;\n return maskShapes.map((maskShape) => getMaskBBoxByShape(maskShape, tolerance)).filter((bBox) => !!bBox);\n}\n\nfunction getMaskPath(context: IInteractionContext, tolerance: number) {\n const event = context.event;\n const maskShape = event.target;\n return getMaskPathByMaskShape(maskShape, tolerance);\n}\n\n/**\n * 通过 maskShape 获取 mask path\n * @param maskShape\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getMaskPathByMaskShape(maskShape, tolerance: number) {\n return isValidMaskBBox(maskShape, tolerance) ? maskShape.attr('path') : null;\n}\n\n/**\n * 获取 multiple 模式下 mask path 数组\n * @param context 上下文\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getMultiMaskPathList(context: IInteractionContext, tolerance: number) {\n const { maskShapes } = context.event;\n return maskShapes.map((maskShape) => getMaskPathByMaskShape(maskShape, tolerance));\n}\n\n/**\n * 获取当前事件相关的图表元素\n * @param context 交互的上下文\n * @ignore\n */\nexport function getCurrentElement(context: IInteractionContext): Element {\n const event = context.event;\n let element;\n const target = event.target;\n if (target) {\n element = target.get('element');\n }\n return element;\n}\n\n/**\n * 获取委托对象\n * @param context 上下文\n * @ignore\n */\nexport function getDelegationObject(context: IInteractionContext): LooseObject {\n const event = context.event;\n const target = event.target;\n let delegateObject;\n if (target) {\n delegateObject = target.get('delegateObject');\n }\n return delegateObject;\n}\n\nexport function isElementChange(context: IInteractionContext) {\n const event = context.event.gEvent;\n // 在同一个 element 内部移动,label 和 shape 之间\n if (event && event.fromShape && event.toShape && event.fromShape.get('element') === event.toShape.get('element')) {\n return false;\n }\n return true;\n}\n\n/**\n * 是否是列表组件\n * @param delegateObject 委托对象\n * @ignore\n */\nexport function isList(delegateObject: LooseObject): boolean {\n return delegateObject && delegateObject.component && delegateObject.component.isList();\n}\n\n/**\n * 是否是滑块组件\n * @param delegateObject 委托对象\n * @ignore\n */\nexport function isSlider(delegateObject: LooseObject): boolean {\n return delegateObject && delegateObject.component && delegateObject.component.isSlider();\n}\n\n/**\n * 是否由 mask 触发\n * @param context 上下文\n * @ignore\n */\nexport function isMask(context: IInteractionContext): boolean {\n const event = context.event;\n const target = event.target;\n return (target && target?.get('name') === 'mask') || isMultipleMask(context);\n}\n\n/**\n * 是否由 multiple mask 触发\n * @param context\n * @returns\n */\nexport function isMultipleMask(context: IInteractionContext): boolean {\n return context.event.target?.get('name') === 'multi-mask';\n}\n\n/**\n * 获取被遮挡的 elements\n * @param context 上下文\n * @ignore\n */\nexport function getMaskedElements(context: IInteractionContext, tolerance: number): Element[] {\n const target = context.event.target;\n\n // multiple 模式下\n if (isMultipleMask(context)) {\n return getMultiMaskedElements(context, tolerance);\n }\n\n // 正常模式下\n if (target.get('type') === 'path') {\n const maskPath = getMaskPath(context, tolerance);\n if (!maskPath) {\n return;\n }\n return getElementsByPath(context.view, maskPath);\n }\n const maskBBox = getMaskBBox(context, tolerance);\n // 如果 bbox 过小则不返回\n if (!maskBBox) {\n return null;\n }\n return getIntersectElements(context.view, maskBBox);\n}\n\n/**\n * 获取 multiple 模式下被 mask 遮挡的 elements\n * @param context 上下文\n * @returns\n */\nfunction getMultiMaskedElements(context: IInteractionContext, tolerance: number): Element[] {\n const { target } = context.event;\n if (target.get('type') === 'path') {\n const maskPathList = getMultiMaskPathList(context, tolerance);\n if (maskPathList.length > 0) {\n return maskPathList.flatMap((maskPath) => getElementsByPath(context.view, maskPath));\n }\n return null;\n }\n const maskBBoxList = getMultiMaskBBoxList(context, tolerance);\n if (maskBBoxList.length > 0) {\n return maskBBoxList.flatMap((maskBBox) => getIntersectElements(context.view, maskBBox));\n }\n return null;\n}\n\n/**\n * @ignore\n */\nexport function getSiblingMaskElements(context: IInteractionContext, sibling: View, tolerance: number) {\n // multiple 模式下\n if (isMultipleMask(context)) {\n return getSiblingMultiMaskedElements(context, sibling, tolerance);\n }\n\n // 正常模式下\n const maskBBox = getMaskBBox(context, tolerance);\n // 如果 bbox 过小则不返回\n if (!maskBBox) {\n return null;\n }\n return getSiblingMaskElementsByBBox(maskBBox, context, sibling);\n}\n\n/**\n * 通过 mashBBox 获取 sibling 模式下被 mask 遮挡的 elements\n * @param maskBBox\n * @param context 上下文\n * @param sibling sibling view\n * @returns\n */\nfunction getSiblingMaskElementsByBBox(maskBBox, context: IInteractionContext, sibling: View) {\n const view = context.view;\n const start = getSiblingPoint(view, sibling, { x: maskBBox.x, y: maskBBox.y });\n const end = getSiblingPoint(view, sibling, { x: maskBBox.maxX, y: maskBBox.maxY });\n const box = {\n minX: start.x,\n minY: start.y,\n maxX: end.x,\n maxY: end.y,\n };\n return getIntersectElements(sibling, box);\n}\n\n/**\n * 获取 sibling 模式下被 multiple mask 遮挡的 elements\n * @param context 上下文\n * @param sibling sibling view\n * @param tolerance box 宽高小于则不返回\n * @returns\n */\nfunction getSiblingMultiMaskedElements(context: IInteractionContext, sibling: View, tolerance: number): Element[] {\n const maskBBoxList = getMultiMaskBBoxList(context, tolerance);\n if (maskBBoxList.length > 0) {\n return maskBBoxList.flatMap((maskBBox) => getSiblingMaskElementsByBBox(maskBBox, context, sibling));\n }\n return null;\n}\n\n/**\n * 获取所有的图表元素\n * @param view View/Chart\n * @ignore\n */\nexport function getElements(view: View): Element[] {\n const geometries = view.geometries;\n let rst: Element[] = [];\n each(geometries, (geom: Geometry) => {\n const elements = geom.elements;\n rst = rst.concat(elements);\n });\n if (view.views && view.views.length) {\n each(view.views, (subView) => {\n rst = rst.concat(getElements(subView));\n });\n }\n return rst;\n}\n\n/**\n * 获取所有的图表元素\n * @param view View/Chart\n * @param field 字段名\n * @param value 字段值\n * @ignore\n */\nexport function getElementsByField(view: View, field: string, value: any) {\n const elements = getElements(view);\n return elements.filter((el) => {\n return getElementValue(el, field) === value;\n });\n}\n\n/**\n * 根据状态名获取图表元素\n * @param view View/Chart\n * @param stateName 状态名\n * @ignore\n */\nexport function getElementsByState(view: View, stateName: string): Element[] {\n const geometries = view.geometries;\n let rst: Element[] = [];\n each(geometries, (geom: Geometry) => {\n const elements = geom.getElementsBy((el) => el.hasState(stateName));\n rst = rst.concat(elements);\n });\n return rst;\n}\n\n/**\n * 获取图表元素对应字段的值\n * @param element 图表元素\n * @param field 字段名\n * @ignore\n */\nexport function getElementValue(element: Element, field) {\n const model = element.getModel();\n const record = model.data;\n let value;\n if (isArray(record)) {\n value = record[0][field];\n } else {\n value = record[field];\n }\n return value;\n}\n\n/**\n * 两个包围盒是否相交\n * @param box1 包围盒1\n * @param box2 包围盒2\n * @ignore\n */\nexport function intersectRect(box1, box2) {\n return !(box2.minX > box1.maxX || box2.maxX < box1.minX || box2.minY > box1.maxY || box2.maxY < box1.minY);\n}\n\n/**\n * 获取包围盒内的图表元素\n * @param view View/Chart\n * @param box 包围盒\n * @ignore\n */\nexport function getIntersectElements(view: View, box) {\n const elements = getElements(view);\n const rst = [];\n each(elements, (el) => {\n const shape = el.shape;\n const shapeBBox = shape.getCanvasBBox();\n if (intersectRect(box, shapeBBox)) {\n rst.push(el);\n }\n });\n return rst;\n}\nfunction pathToPoints(path: any[]) {\n const points = [];\n each(path, (seg) => {\n const command = seg[0];\n if (command !== 'A') {\n for (let i = 1; i < seg.length; i = i + 2) {\n points.push([seg[i], seg[i + 1]]);\n }\n } else {\n const length = seg.length;\n points.push([seg[length - 2], seg[length - 1]]);\n }\n });\n return points;\n}\n/**\n * 获取包围盒内的图表元素\n * @param view View/Chart\n * @param path 路径\n * @ignore\n */\nexport function getElementsByPath(view: View, path: any[]) {\n const elements = getElements(view);\n const points = pathToPoints(path);\n const rst = elements.filter((el: Element) => {\n const shape = el.shape;\n let shapePoints;\n if (shape.get('type') === 'path') {\n shapePoints = pathToPoints(shape.attr('path'));\n } else {\n const shapeBBox = shape.getCanvasBBox();\n shapePoints = toPoints(shapeBBox);\n }\n return isPolygonsIntersect(points, shapePoints);\n });\n return rst;\n}\n\n/**\n * 获取当前 View 的所有组件\n * @param view View/Chart\n * @ignore\n */\nexport function getComponents(view) {\n return view.getComponents().map((co: ComponentOption) => co.component);\n}\n\n/** @ignore */\nexport function distance(p1: Point, p2: Point) {\n const dx = p2.x - p1.x;\n const dy = p2.y - p1.y;\n return Math.sqrt(dx * dx + dy * dy);\n}\n\n/** @ignore */\nexport function getSpline(points: Point[], z: boolean): PathCommand[] {\n if (points.length <= 2) {\n return getLinePath(points, false);\n }\n const first = points[0];\n const arr = [];\n each(points, (point) => {\n arr.push(point.x);\n arr.push(point.y);\n });\n const path = catmullRom2bezier(arr, z, null);\n path.unshift(['M', first.x, first.y]);\n return path;\n}\n\n/**\n * 检测点是否在包围盒内\n * @param box 包围盒\n * @param point 点\n * @ignore\n */\nexport function isInBox(box: BBox, point: Point) {\n return box.x <= point.x && box.maxX >= point.x && box.y <= point.y && box.maxY > point.y;\n}\n\n/**\n * 获取同 view 同一级的 views\n * @param view 当前 view\n * @returns 同一级的 views\n * @ignore\n */\nexport function getSilbings(view: View): View[] {\n const parent = view.parent;\n let siblings = null;\n if (parent) {\n siblings = parent.views.filter((sub) => sub !== view);\n }\n return siblings;\n}\n\nfunction point2Normalize(view: View, point: Point): Point {\n const coord = view.getCoordinate();\n return coord.invert(point);\n}\n/**\n * 将 view 上的一点转换成另一个 view 的点\n * @param view 当前的 view\n * @param sibling 同一层级的 view\n * @param point 指定点\n * @ignore\n */\nexport function getSiblingPoint(view: View, sibling: View, point: Point): Point {\n const normalPoint = point2Normalize(view, point);\n return sibling.getCoordinate().convert(normalPoint);\n}\n\n/**\n * 是否在记录中,临时因为所有的 view 中的数据不是引用,而使用的方法\n * 不同 view 上对数据的引用不相等,导致无法直接用 includes\n * 假设 x, y 值相等时是同一条数据,这个假设不完全正确,而改成 isEqual 则成本太高\n * 后面改成同一个引用时可以修改回来\n * @param records\n * @param record\n * @param xFiled\n * @param yField\n * @returns\n * @ignore\n */\nexport function isInRecords(records: object[], record: object, xFiled: string, yField: string) {\n let isIn = false;\n each(records, (r) => {\n if (r[xFiled] === record[xFiled] && r[yField] === record[yField]) {\n isIn = true;\n return false;\n }\n });\n return isIn;\n}\n\n// 级联获取 field 对应的 scale,如果 view 上没有,遍历子 view\nexport function getScaleByField(view: View, field: string) {\n let scale = view.getScaleByField(field);\n if (!scale && view.views) {\n each(view.views, (subView) => {\n scale = getScaleByField(subView, field);\n if (scale) {\n return false; // 终止循环\n }\n });\n }\n return scale;\n}\n","import { each, get } from '@antv/util';\nimport { View } from '../chart';\nimport { BBox, IShape, Point } from '../dependents';\nimport { IAction, IInteractionContext, LooseObject } from '../interface';\nimport { getComponents, isInBox } from './action/util';\n\n/**\n * 交互的上下文\n */\nexport default class Context implements IInteractionContext {\n /** 当前所有的 Action */\n public actions: IAction[] = [];\n /** 当前 View 实例 */\n public view: View;\n /** 当前事件对象 */\n public event: LooseObject = null;\n\n private cacheMap: LooseObject = {};\n\n constructor(view: View) {\n this.view = view;\n }\n\n /**\n * 缓存信息\n * @param params 缓存的字段\n * - 如果一个字段则获取缓存\n * - 两个字段则设置缓存\n */\n public cache(...params) {\n if (params.length === 1) {\n return this.cacheMap[params[0]];\n } else if (params.length === 2) {\n this.cacheMap[params[0]] = params[1];\n }\n }\n\n /**\n * 获取 Action\n * @param name Action 的名称\n */\n public getAction(name: string): IAction {\n return this.actions.find((action) => action.name === name);\n }\n\n /**\n * 获取 Action\n * @param action Action 对象\n */\n public addAction(action: IAction) {\n this.actions.push(action);\n }\n\n /**\n * 移除 Action\n * @param action Action 对象\n */\n public removeAction(action: IAction) {\n const actions = this.actions;\n const index = this.actions.indexOf(action);\n if (index >= 0) {\n actions.splice(index, 1);\n }\n }\n\n /**\n * 获取当前的点\n */\n public getCurrentPoint(): Point {\n const event = this.event;\n if (event) {\n if (event.target instanceof HTMLElement) {\n const canvas = this.view.getCanvas();\n const point = canvas.getPointByClient(event.clientX, event.clientY);\n return point;\n } else {\n return {\n x: event.x,\n y: event.y,\n };\n }\n }\n return null;\n }\n\n /**\n * 获取当前 shape\n * @returns current shape\n */\n public getCurrentShape(): IShape {\n return get(this.event, ['gEvent', 'shape']);\n }\n\n /**\n * 当前的触发是否在 View 内\n */\n public isInPlot() {\n const point = this.getCurrentPoint();\n if (point) {\n return this.view.isPointInPlot(point);\n }\n return false;\n }\n\n /**\n * 是否在指定的图形内\n * @param name shape 的 name\n */\n public isInShape(name) {\n const shape = this.getCurrentShape(); // 不再考虑在 shape 的 parent 内的情况\n if (shape) {\n return shape.get('name') === name;\n }\n return false;\n }\n\n /**\n * 当前的触发是组件内部\n * @param name 组件名,可以为空\n */\n public isInComponent(name?: string) {\n const components = getComponents(this.view);\n const point = this.getCurrentPoint();\n if (point) {\n return !!components.find((component) => {\n const bbox = component.getBBox() as BBox;\n if (name) {\n return component.get('name') === name && isInBox(bbox, point);\n } else {\n return isInBox(bbox, point);\n }\n });\n }\n return false;\n }\n\n /**\n * 销毁\n */\n public destroy() {\n // 先销毁 action 再清空,一边遍历,一边删除,所以数组需要更新引用\n each(this.actions.slice(), (action) => {\n action.destroy();\n });\n this.view = null;\n this.event = null;\n this.actions = null;\n this.cacheMap = null;\n }\n}\n","import { View } from '../chart';\nimport { LooseObject } from '../interface';\n\nexport type InteractionConstructor = new (view: View, cfg: LooseObject) => Interaction;\n\n/**\n * 交互的基类。\n */\nexport default class Interaction {\n /** view 或者 chart */\n protected view: View;\n /** 配置项 */\n protected cfg: LooseObject;\n\n constructor(view: View, cfg: LooseObject) {\n this.view = view;\n this.cfg = cfg;\n }\n\n /**\n * 初始化。\n */\n public init() {\n this.initEvents();\n }\n\n /**\n * 绑定事件\n */\n protected initEvents() {}\n\n /**\n * 销毁事件\n */\n protected clearEvents() {}\n\n /**\n * 销毁。\n */\n public destroy() {\n this.clearEvents();\n }\n}\n","import { each, isArray, isFunction, isString, debounce, throttle } from '@antv/util';\nimport { View } from '../chart';\nimport { ActionCallback, IAction, IInteractionContext, LooseObject } from '../interface';\nimport { createAction, createCallbackAction } from './action/register';\nimport InteractionContext from './context';\nimport Interaction from './interaction';\n\n// 将字符串转换成 action\nexport function parseAction(actionStr: string, context: IInteractionContext, arg?: any): ActionObject {\n const arr = actionStr.split(':');\n const actionName = arr[0];\n // 如果已经初始化过 action ,则直接引用之前的 action\n const action = context.getAction(actionName) || createAction(actionName, context);\n if (!action) {\n throw new Error(`There is no action named ${actionName}`);\n }\n const methodName = arr[1];\n return {\n action,\n methodName,\n arg,\n };\n}\n\n// 执行 Action\nfunction executeAction(actionObject: ActionObject) {\n const { action, methodName, arg } = actionObject;\n if (action[methodName]) {\n action[methodName](arg);\n } else {\n throw new Error(`Action(${action.name}) doesn't have a method called ${methodName}`);\n }\n}\n\nconst STEP_NAMES = {\n START: 'start',\n SHOW_ENABLE: 'showEnable',\n END: 'end',\n ROLLBACK: 'rollback',\n PROCESSING: 'processing',\n};\n\n/** 交互环节的定义 */\nexport interface InteractionStep {\n /**\n * 触发事件,支持 view,chart 的各种事件,也支持 document、window 的事件\n */\n trigger: string;\n /**\n * 是否可以触发 action\n * @param context - 交互的上下文\n */\n isEnable?: (context: IInteractionContext) => boolean;\n /**\n * 反馈,支持三种方式:\n * - action:method : action 的名字和方法的组合\n * - [’action1:method1‘, ’action2:method‘]\n * - ActionCallback: 回调函数\n */\n action: string | string[] | ActionCallback;\n /**\n * 反馈,具体 action method 的参数:\n * - 当传递多个 action 时,args 必须是一个数组\n */\n arg?: any | any[];\n /**\n * 回调函数,action 执行后执行\n */\n callback?: (context: IInteractionContext) => void;\n /**\n * @private\n * 不需要用户传入,通过上面的属性计算出来的属性\n */\n actionObject?: ActionObject | ActionObject[];\n /**\n * 在一个环节内是否只允许执行一次\n */\n once?: boolean;\n /**\n * 是否增加节流\n */\n throttle?: ThrottleOption;\n /**\n * 是否延迟\n */\n debounce?: DebounceOption;\n}\n\n// action 执行时支持 debounce 和 throttle,可以参考:https://css-tricks.com/debouncing-throttling-explained-examples/\n/**\n * debounce 的配置\n */\nexport interface DebounceOption {\n /**\n * 等待时间\n */\n wait: number;\n /**\n * 是否马上执行\n */\n immediate?: boolean;\n}\n\n/**\n * throttle 的配置\n */\nexport interface ThrottleOption {\n /**\n * 等待时间\n */\n wait: number;\n /**\n * 马上就执行\n */\n leading?: boolean;\n /**\n * 执行完毕后再执行一次\n */\n trailing?: boolean;\n}\n\n/** 缓存 action 对象,仅用于当前文件 */\ninterface ActionObject {\n /**\n * 缓存的 action\n */\n action: IAction;\n /**\n * action 的方法\n */\n methodName: string;\n /**\n * 用户传递的 action 方法的参数\n */\n arg?: any;\n}\n\n/** 交互的所有环节 */\nexport interface InteractionSteps {\n /**\n * 显示交互可以进行\n */\n showEnable?: InteractionStep[];\n /**\n * 交互开始\n */\n start?: InteractionStep[];\n /**\n * 交互持续\n */\n processing?: InteractionStep[];\n /**\n * 交互结束\n */\n end?: InteractionStep[];\n /**\n * 交互回滚\n */\n rollback?: InteractionStep[];\n}\n\n/**\n * 支持语法的交互类\n */\nexport default class GrammarInteraction extends Interaction {\n // 存储的交互环节\n private steps: InteractionSteps;\n /** 当前执行到的阶段 */\n public currentStepName: string;\n /**\n * 当前交互的上下文\n */\n public context: IInteractionContext;\n\n private callbackCaches: LooseObject = {};\n // 某个触发和反馈在本环节是否执行或\n private emitCaches: LooseObject = {};\n\n constructor(view: View, steps: InteractionSteps) {\n super(view, steps);\n this.steps = steps;\n }\n\n /**\n * 初始化\n */\n public init() {\n this.initContext();\n super.init();\n }\n\n /**\n * 清理资源\n */\n public destroy() {\n super.destroy(); // 先清理事件\n this.steps = null;\n if (this.context) {\n this.context.destroy();\n this.context = null;\n }\n\n this.callbackCaches = null;\n this.view = null;\n }\n\n /**\n * 绑定事件\n */\n protected initEvents() {\n each(this.steps, (stepArr, stepName) => {\n each(stepArr, (step) => {\n const callback = this.getActionCallback(stepName, step);\n if (callback) {\n // 如果存在 callback,才绑定,有时候会出现无 callback 的情况\n this.bindEvent(step.trigger, callback);\n }\n });\n });\n }\n\n /**\n * 清理绑定的事件\n */\n protected clearEvents() {\n each(this.steps, (stepArr, stepName) => {\n each(stepArr, (step) => {\n const callback = this.getActionCallback(stepName, step);\n if (callback) {\n this.offEvent(step.trigger, callback);\n }\n });\n });\n }\n\n // 初始化上下文,并初始化 action\n private initContext() {\n const view = this.view;\n const context = new InteractionContext(view);\n this.context = context;\n const steps = this.steps;\n // 生成具体的 Action\n each(steps, (subSteps: InteractionStep[]) => {\n each(subSteps, (step: InteractionStep) => {\n if (isFunction(step.action)) {\n // 如果传入回调函数,则直接生成 CallbackAction\n step.actionObject = {\n action: createCallbackAction(step.action, context),\n methodName: 'execute',\n };\n } else if (isString(step.action)) {\n // 如果是字符串\n step.actionObject = parseAction(step.action, context, step.arg);\n } else if (isArray(step.action)) {\n // 如果是数组\n const actionArr = step.action;\n const argArr = isArray(step.arg) ? step.arg : [step.arg];\n step.actionObject = [];\n each(actionArr, (actionStr, idx) => {\n (step.actionObject as ActionObject[]).push(parseAction(actionStr, context, argArr[idx]));\n });\n }\n // 如果 action 既不是字符串,也不是函数,则不会生成 actionObject\n });\n });\n }\n\n // 是否允许指定阶段名称执行\n private isAllowStep(stepName: string): boolean {\n const currentStepName = this.currentStepName;\n const steps = this.steps;\n // 相同的阶段允许同时执行\n if (currentStepName === stepName) {\n return true;\n }\n\n if (stepName === STEP_NAMES.SHOW_ENABLE) {\n // 示能在整个过程中都可用\n return true;\n }\n\n if (stepName === STEP_NAMES.PROCESSING) {\n // 只有当前是 start 时,才允许 processing\n return currentStepName === STEP_NAMES.START;\n }\n\n if (stepName === STEP_NAMES.START) {\n // 如果当前是 processing,则无法 start,必须等待 end 后才能执行\n return currentStepName !== STEP_NAMES.PROCESSING;\n }\n\n if (stepName === STEP_NAMES.END) {\n return currentStepName === STEP_NAMES.PROCESSING || currentStepName === STEP_NAMES.START;\n }\n\n if (stepName === STEP_NAMES.ROLLBACK) {\n if (steps[STEP_NAMES.END]) {\n // 如果定义了 end, 只有 end 时才允许回滚\n return currentStepName === STEP_NAMES.END;\n } else if (currentStepName === STEP_NAMES.START) {\n // 如果未定义 end, 则判断是否是开始\n return true;\n }\n }\n return false;\n }\n\n // 具体的指定阶段是否允许执行\n private isAllowExecute(stepName: string, step: InteractionStep): boolean {\n if (this.isAllowStep(stepName)) {\n const key = this.getKey(stepName, step);\n // 如果是在本环节内仅允许触发一次,同时已经触发过,则不允许再触发\n if (step.once && this.emitCaches[key]) {\n return false;\n }\n // 如果是允许的阶段,则验证 isEnable 方法\n if (step.isEnable) {\n return step.isEnable(this.context);\n }\n return true; // 如果没有 isEnable 则允许执行\n }\n return false;\n }\n\n private enterStep(stepName: string) {\n this.currentStepName = stepName;\n this.emitCaches = {}; // 清除所有本环节触发的缓存\n }\n\n // 执行完某个触发和反馈(子环节)\n private afterExecute(stepName: string, step) {\n // show enable 不计入正常的流程,其他情况则设置当前的 step\n if (stepName !== STEP_NAMES.SHOW_ENABLE && this.currentStepName !== stepName) {\n this.enterStep(stepName);\n }\n const key = this.getKey(stepName, step);\n // 一旦执行,则缓存标记为,一直保持到跳出改环节\n this.emitCaches[key] = true;\n }\n // 获取某个环节的唯一的键值\n private getKey(stepName, step) {\n return stepName + step.trigger + step.action;\n }\n\n // 获取 step 的回调函数,如果已经生成,则直接返回,如果未生成,则创建\n private getActionCallback(stepName: string, step: InteractionStep): (e: object) => void {\n const context = this.context;\n const callbackCaches = this.callbackCaches;\n const actionObject = step.actionObject;\n if (step.action && actionObject) {\n const key = this.getKey(stepName, step);\n if (!callbackCaches[key]) {\n // 动态生成执行的方法,执行对应 action 的名称\n const actionCallback = (event) => {\n context.event = event; // 保证检测时的 event\n if (this.isAllowExecute(stepName, step)) {\n // 如果是数组时,则依次执行\n if (isArray(actionObject)) {\n each(actionObject, (obj: ActionObject) => {\n context.event = event; // 可能触发新的事件,保证执行前的 context.event 是正确的\n executeAction(obj);\n });\n } else {\n context.event = event; // 保证执行前的 context.event 是正确的\n executeAction(actionObject);\n }\n this.afterExecute(stepName, step);\n if (step.callback) {\n context.event = event; // 保证执行前的 context.event 是正确的\n step.callback(context);\n }\n } else {\n // 如果未通过验证,则事件不要绑定在上面\n context.event = null;\n }\n };\n // 如果设置了 debounce\n if (step.debounce) {\n callbackCaches[key] = debounce(actionCallback, step.debounce.wait, step.debounce.immediate);\n } else if (step.throttle) {\n // 设置 throttle\n callbackCaches[key] = throttle(actionCallback, step.throttle.wait, {\n leading: step.throttle.leading,\n trailing: step.throttle.trailing,\n });\n } else {\n // 直接设置\n callbackCaches[key] = actionCallback;\n }\n }\n return callbackCaches[key];\n }\n return null;\n }\n\n private bindEvent(eventName, callback) {\n const nameArr = eventName.split(':');\n if (nameArr[0] === 'window') {\n window.addEventListener(nameArr[1], callback);\n } else if (nameArr[0] === 'document') {\n document.addEventListener(nameArr[1], callback);\n } else {\n this.view.on(eventName, callback);\n }\n }\n\n private offEvent(eventName, callback) {\n const nameArr = eventName.split(':');\n if (nameArr[0] === 'window') {\n window.removeEventListener(nameArr[1], callback);\n } else if (nameArr[0] === 'document') {\n document.removeEventListener(nameArr[1], callback);\n } else {\n this.view.off(eventName, callback);\n }\n }\n}\n","import { clone, isPlainObject, lowerCase, mix } from '@antv/util';\nimport { View } from '../chart';\nimport { LooseObject } from '../interface';\nimport GrammarInteraction, { InteractionSteps } from './grammar-interaction';\nimport { InteractionConstructor } from './interaction';\n\nconst Interactions: LooseObject = {};\n\n/**\n * 根据交互行为名字获取对应的交互类\n * @param name 交互名字\n * @returns 交互类\n */\nexport function getInteraction(name: string): InteractionSteps | InteractionConstructor {\n return Interactions[lowerCase(name)];\n}\n\n/**\n * 注册交互行为\n * @param name 交互行为名字\n * @param interaction 交互类\n */\nexport function registerInteraction(name: string, interaction: InteractionSteps | InteractionConstructor) {\n Interactions[lowerCase(name)] = interaction;\n}\n\n/**\n * 创建交互实例\n * @param name 交互名\n * @param view 交互应用的 View 实例\n * @param cfg 交互行为配置\n */\nexport function createInteraction(name: string, view: View, cfg?: LooseObject) {\n const interaciton = getInteraction(name);\n if (!interaciton) {\n return null;\n }\n if (isPlainObject(interaciton)) {\n // 如果不 clone 则会多个 interaction 实例共享 step 的定义\n const steps = mix(clone(interaciton), cfg) as InteractionSteps;\n return new GrammarInteraction(view, steps);\n } else {\n const cls = interaciton as InteractionConstructor;\n return new cls(view, cfg);\n }\n}\n\nexport { default as Interaction } from './interaction';\nexport { Action, registerAction, getActionClass } from './action';\n","import { TOOLTIP_CSS_CONST } from '@antv/component';\nimport { ext } from '@antv/matrix-util';\nimport { deepMix } from '@antv/util';\nimport Element from '../../geometry/element';\nimport { LooseObject, StyleSheet } from '../../interface';\nimport { getAngle } from '../../util/graphics';\n\n/**\n * 根据样式表创建 axis 组件主题样式\n * @param styleSheet\n */\nfunction createAxisStyles(styleSheet: StyleSheet): LooseObject {\n return {\n title: {\n autoRotate: true,\n position: 'center', // start, center, end\n spacing: styleSheet.axisTitleSpacing,\n style: {\n fill: styleSheet.axisTitleTextFillColor,\n fontSize: styleSheet.axisTitleTextFontSize,\n lineHeight: styleSheet.axisTitleTextLineHeight,\n textBaseline: 'middle',\n fontFamily: styleSheet.fontFamily,\n },\n iconStyle: {\n fill: styleSheet.axisDescriptionIconFillColor\n }\n },\n label: {\n autoRotate: false,\n autoEllipsis: false,\n autoHide: { type: 'equidistance', cfg: { minGap: 6 } },\n offset: styleSheet.axisLabelOffset,\n style: {\n fill: styleSheet.axisLabelFillColor,\n fontSize: styleSheet.axisLabelFontSize,\n lineHeight: styleSheet.axisLabelLineHeight,\n fontFamily: styleSheet.fontFamily,\n },\n },\n line: {\n style: {\n lineWidth: styleSheet.axisLineBorder,\n stroke: styleSheet.axisLineBorderColor,\n },\n },\n grid: {\n line: {\n type: 'line',\n style: {\n stroke: styleSheet.axisGridBorderColor,\n lineWidth: styleSheet.axisGridBorder,\n lineDash: styleSheet.axisGridLineDash,\n },\n },\n alignTick: true,\n animate: true,\n },\n tickLine: {\n style: {\n lineWidth: styleSheet.axisTickLineBorder,\n stroke: styleSheet.axisTickLineBorderColor,\n },\n alignTick: true, // 默认刻度线和文本对齐\n length: styleSheet.axisTickLineLength,\n },\n subTickLine: null,\n animate: true,\n };\n}\n\n/**\n *\n * @param styleSheet\n */\n// export function\n\n/**\n * 根据样式表创建 legend 组件主题样式\n * @param styleSheet\n */\nfunction createLegendStyles(styleSheet: StyleSheet): LooseObject {\n return {\n title: null,\n marker: {\n symbol: 'circle',\n spacing: styleSheet.legendMarkerSpacing,\n style: {\n r: styleSheet.legendCircleMarkerSize,\n fill: styleSheet.legendMarkerColor,\n },\n },\n itemName: {\n spacing: 5, // 如果右边有 value 使用这个间距\n style: {\n fill: styleSheet.legendItemNameFillColor,\n fontFamily: styleSheet.fontFamily,\n fontSize: styleSheet.legendItemNameFontSize,\n lineHeight: styleSheet.legendItemNameLineHeight,\n fontWeight: styleSheet.legendItemNameFontWeight,\n textAlign: 'start',\n textBaseline: 'middle',\n },\n },\n itemStates: {\n active: {\n nameStyle: {\n opacity: 0.8,\n },\n },\n unchecked: {\n nameStyle: {\n fill: '#D8D8D8',\n },\n markerStyle: {\n fill: '#D8D8D8',\n stroke: '#D8D8D8',\n },\n },\n inactive: {\n nameStyle: {\n fill: '#D8D8D8',\n },\n markerStyle: {\n opacity: 0.2,\n },\n },\n },\n flipPage: true,\n pageNavigator: {\n marker: {\n style: {\n size: styleSheet.legendPageNavigatorMarkerSize,\n inactiveFill: styleSheet.legendPageNavigatorMarkerInactiveFillColor,\n inactiveOpacity: styleSheet.legendPageNavigatorMarkerInactiveFillOpacity,\n fill: styleSheet.legendPageNavigatorMarkerFillColor,\n opacity: styleSheet.legendPageNavigatorMarkerFillOpacity,\n },\n },\n text: {\n style: {\n fill: styleSheet.legendPageNavigatorTextFillColor,\n fontSize: styleSheet.legendPageNavigatorTextFontSize,\n },\n },\n },\n animate: false,\n maxItemWidth: 200,\n itemSpacing: styleSheet.legendItemSpacing,\n itemMarginBottom: styleSheet.legendItemMarginBottom,\n padding: styleSheet.legendPadding, // 图例组件自己的外边距\n };\n}\n\n/**\n * 根据主题样式表生成主题结构\n * @param styleSheet 主题样式表\n */\nexport function createThemeByStyleSheet(styleSheet: StyleSheet): LooseObject {\n const shapeStyles = {\n point: {\n default: {\n fill: styleSheet.pointFillColor,\n r: styleSheet.pointSize,\n stroke: styleSheet.pointBorderColor,\n lineWidth: styleSheet.pointBorder,\n fillOpacity: styleSheet.pointFillOpacity,\n },\n active: {\n stroke: styleSheet.pointActiveBorderColor,\n lineWidth: styleSheet.pointActiveBorder,\n },\n selected: {\n stroke: styleSheet.pointSelectedBorderColor,\n lineWidth: styleSheet.pointSelectedBorder,\n },\n inactive: {\n fillOpacity: styleSheet.pointInactiveFillOpacity,\n strokeOpacity: styleSheet.pointInactiveBorderOpacity,\n },\n },\n hollowPoint: {\n default: {\n fill: styleSheet.hollowPointFillColor,\n lineWidth: styleSheet.hollowPointBorder,\n stroke: styleSheet.hollowPointBorderColor,\n strokeOpacity: styleSheet.hollowPointBorderOpacity,\n r: styleSheet.hollowPointSize,\n },\n active: {\n stroke: styleSheet.hollowPointActiveBorderColor,\n strokeOpacity: styleSheet.hollowPointActiveBorderOpacity,\n },\n selected: {\n lineWidth: styleSheet.hollowPointSelectedBorder,\n stroke: styleSheet.hollowPointSelectedBorderColor,\n strokeOpacity: styleSheet.hollowPointSelectedBorderOpacity,\n },\n inactive: {\n strokeOpacity: styleSheet.hollowPointInactiveBorderOpacity,\n },\n },\n area: {\n default: {\n fill: styleSheet.areaFillColor,\n fillOpacity: styleSheet.areaFillOpacity,\n stroke: null,\n },\n active: {\n fillOpacity: styleSheet.areaActiveFillOpacity,\n },\n selected: {\n fillOpacity: styleSheet.areaSelectedFillOpacity,\n },\n inactive: {\n fillOpacity: styleSheet.areaInactiveFillOpacity,\n },\n },\n hollowArea: {\n default: {\n fill: null,\n stroke: styleSheet.hollowAreaBorderColor,\n lineWidth: styleSheet.hollowAreaBorder,\n strokeOpacity: styleSheet.hollowAreaBorderOpacity,\n },\n active: {\n fill: null,\n lineWidth: styleSheet.hollowAreaActiveBorder,\n },\n selected: {\n fill: null,\n lineWidth: styleSheet.hollowAreaSelectedBorder,\n },\n inactive: {\n strokeOpacity: styleSheet.hollowAreaInactiveBorderOpacity,\n },\n },\n interval: {\n default: {\n fill: styleSheet.intervalFillColor,\n fillOpacity: styleSheet.intervalFillOpacity,\n },\n active: {\n stroke: styleSheet.intervalActiveBorderColor,\n lineWidth: styleSheet.intervalActiveBorder,\n },\n selected: {\n stroke: styleSheet.intervalSelectedBorderColor,\n lineWidth: styleSheet.intervalSelectedBorder,\n },\n inactive: {\n fillOpacity: styleSheet.intervalInactiveFillOpacity,\n strokeOpacity: styleSheet.intervalInactiveBorderOpacity,\n },\n },\n hollowInterval: {\n default: {\n fill: styleSheet.hollowIntervalFillColor,\n stroke: styleSheet.hollowIntervalBorderColor,\n lineWidth: styleSheet.hollowIntervalBorder,\n strokeOpacity: styleSheet.hollowIntervalBorderOpacity,\n },\n active: {\n stroke: styleSheet.hollowIntervalActiveBorderColor,\n lineWidth: styleSheet.hollowIntervalActiveBorder,\n strokeOpacity: styleSheet.hollowIntervalActiveBorderOpacity,\n },\n selected: {\n stroke: styleSheet.hollowIntervalSelectedBorderColor,\n lineWidth: styleSheet.hollowIntervalSelectedBorder,\n strokeOpacity: styleSheet.hollowIntervalSelectedBorderOpacity,\n },\n inactive: {\n stroke: styleSheet.hollowIntervalInactiveBorderColor,\n lineWidth: styleSheet.hollowIntervalInactiveBorder,\n strokeOpacity: styleSheet.hollowIntervalInactiveBorderOpacity,\n },\n },\n line: {\n default: {\n stroke: styleSheet.lineBorderColor,\n lineWidth: styleSheet.lineBorder,\n strokeOpacity: styleSheet.lineBorderOpacity,\n fill: null,\n lineAppendWidth: 10,\n lineCap: 'round',\n lineJoin: 'round',\n },\n active: {\n lineWidth: styleSheet.lineActiveBorder,\n },\n selected: {\n lineWidth: styleSheet.lineSelectedBorder,\n },\n inactive: {\n strokeOpacity: styleSheet.lineInactiveBorderOpacity,\n },\n },\n };\n const axisStyles = createAxisStyles(styleSheet);\n const legendStyles = createLegendStyles(styleSheet);\n\n return {\n background: styleSheet.backgroundColor,\n defaultColor: styleSheet.brandColor,\n subColor: styleSheet.subColor,\n semanticRed: styleSheet.paletteSemanticRed,\n semanticGreen: styleSheet.paletteSemanticGreen,\n padding: 'auto',\n fontFamily: styleSheet.fontFamily,\n // 兼容Theme配置\n /** 一般柱状图宽度占比,geometry中已添加默认值,为了geometry配置生效默认值为null */\n columnWidthRatio: 1 / 2,\n /** 柱状图最大宽度 */\n maxColumnWidth: null,\n /** 柱状图最小宽度 */\n minColumnWidth: null,\n /** 玫瑰图占比 */\n roseWidthRatio: 0.9999999,\n /** 多层饼图/环图占比 */\n multiplePieWidthRatio: 1 / 1.3,\n colors10: styleSheet.paletteQualitative10,\n colors20: styleSheet.paletteQualitative20,\n sequenceColors: styleSheet.paletteSequence,\n shapes: {\n point: [\n 'hollow-circle',\n 'hollow-square',\n 'hollow-bowtie',\n 'hollow-diamond',\n 'hollow-hexagon',\n 'hollow-triangle',\n 'hollow-triangle-down',\n 'circle',\n 'square',\n 'bowtie',\n 'diamond',\n 'hexagon',\n 'triangle',\n 'triangle-down',\n 'cross',\n 'tick',\n 'plus',\n 'hyphen',\n 'line',\n ],\n line: ['line', 'dash', 'dot', 'smooth'],\n area: ['area', 'smooth', 'line', 'smooth-line'],\n interval: ['rect', 'hollow-rect', 'line', 'tick'],\n },\n sizes: [1, 10],\n geometries: {\n interval: {\n rect: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: (element: Element) => {\n const coordinate = element.geometry.coordinate;\n if (coordinate.isPolar && coordinate.isTransposed) {\n const { startAngle, endAngle } = getAngle(element.getModel(), coordinate);\n const middleAngle = (startAngle + endAngle) / 2;\n const r = 7.5;\n const x = r * Math.cos(middleAngle);\n const y = r * Math.sin(middleAngle);\n return {\n matrix: ext.transform(null, [['t', x, y]]),\n };\n }\n return shapeStyles.interval.selected;\n },\n },\n },\n 'hollow-rect': {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n line: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n tick: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n funnel: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: shapeStyles.interval.selected,\n },\n },\n pyramid: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: shapeStyles.interval.selected,\n },\n },\n },\n line: {\n line: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n dot: {\n default: {\n style: {\n ...shapeStyles.line.default,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n active: {\n style: {\n ...shapeStyles.line.active,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n inactive: {\n style: {\n ...shapeStyles.line.inactive,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n selected: {\n style: {\n ...shapeStyles.line.selected,\n lineCap: null,\n lineDash: [1, 1],\n },\n },\n },\n dash: {\n default: {\n style: {\n ...shapeStyles.line.default,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n active: {\n style: {\n ...shapeStyles.line.active,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n inactive: {\n style: {\n ...shapeStyles.line.inactive,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n selected: {\n style: {\n ...shapeStyles.line.selected,\n lineCap: null,\n lineDash: [5.5, 1],\n },\n },\n },\n smooth: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n hv: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n vh: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n hvh: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n vhv: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n },\n polygon: {\n polygon: {\n default: {\n style: shapeStyles.interval.default,\n },\n active: {\n style: shapeStyles.interval.active,\n },\n inactive: {\n style: shapeStyles.interval.inactive,\n },\n selected: {\n style: shapeStyles.interval.selected,\n },\n },\n },\n point: {\n circle: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n square: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n bowtie: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n diamond: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n hexagon: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n triangle: {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n 'triangle-down': {\n default: {\n style: shapeStyles.point.default,\n },\n active: {\n style: shapeStyles.point.active,\n },\n inactive: {\n style: shapeStyles.point.inactive,\n },\n selected: {\n style: shapeStyles.point.selected,\n },\n },\n 'hollow-circle': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-square': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-bowtie': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-diamond': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-hexagon': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-triangle': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n 'hollow-triangle-down': {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n cross: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n tick: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n plus: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n hyphen: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n line: {\n default: {\n style: shapeStyles.hollowPoint.default,\n },\n active: {\n style: shapeStyles.hollowPoint.active,\n },\n inactive: {\n style: shapeStyles.hollowPoint.inactive,\n },\n selected: {\n style: shapeStyles.hollowPoint.selected,\n },\n },\n },\n area: {\n area: {\n default: {\n style: shapeStyles.area.default,\n },\n active: {\n style: shapeStyles.area.active,\n },\n inactive: {\n style: shapeStyles.area.inactive,\n },\n selected: {\n style: shapeStyles.area.selected,\n },\n },\n smooth: {\n default: {\n style: shapeStyles.area.default,\n },\n active: {\n style: shapeStyles.area.active,\n },\n inactive: {\n style: shapeStyles.area.inactive,\n },\n selected: {\n style: shapeStyles.area.selected,\n },\n },\n line: {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n 'smooth-line': {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n },\n schema: {\n candle: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n box: {\n default: {\n style: shapeStyles.hollowInterval.default,\n },\n active: {\n style: shapeStyles.hollowInterval.active,\n },\n inactive: {\n style: shapeStyles.hollowInterval.inactive,\n },\n selected: {\n style: shapeStyles.hollowInterval.selected,\n },\n },\n },\n edge: {\n line: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n vhv: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n smooth: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n arc: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n },\n violin: {\n violin: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n smooth: {\n default: {\n style: shapeStyles.line.default,\n },\n active: {\n style: shapeStyles.line.active,\n },\n inactive: {\n style: shapeStyles.line.inactive,\n },\n selected: {\n style: shapeStyles.line.selected,\n },\n },\n hollow: {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n 'hollow-smooth': {\n default: {\n style: shapeStyles.hollowArea.default,\n },\n active: {\n style: shapeStyles.hollowArea.active,\n },\n inactive: {\n style: shapeStyles.hollowArea.inactive,\n },\n selected: {\n style: shapeStyles.hollowArea.selected,\n },\n },\n },\n },\n components: {\n axis: {\n common: axisStyles,\n top: {\n position: 'top',\n grid: null,\n title: null,\n verticalLimitLength: 1 / 2,\n },\n bottom: {\n position: 'bottom',\n grid: null,\n title: null,\n verticalLimitLength: 1 / 2,\n },\n left: {\n position: 'left',\n title: null,\n line: null,\n tickLine: null,\n verticalLimitLength: 1 / 3,\n },\n right: {\n position: 'right',\n title: null,\n line: null,\n tickLine: null,\n verticalLimitLength: 1 / 3,\n },\n circle: {\n title: null,\n grid: deepMix({}, axisStyles.grid, { line: { type: 'line' } }),\n },\n radius: {\n title: null,\n grid: deepMix({}, axisStyles.grid, { line: { type: 'circle' } }),\n },\n },\n legend: {\n common: legendStyles,\n right: {\n layout: 'vertical',\n padding: styleSheet.legendVerticalPadding,\n },\n left: {\n layout: 'vertical',\n padding: styleSheet.legendVerticalPadding,\n },\n top: {\n layout: 'horizontal',\n padding: styleSheet.legendHorizontalPadding,\n },\n bottom: {\n layout: 'horizontal',\n padding: styleSheet.legendHorizontalPadding,\n },\n continuous: {\n title: null,\n background: null,\n track: {},\n rail: {\n type: 'color',\n size: styleSheet.sliderRailHeight,\n defaultLength: styleSheet.sliderRailWidth,\n style: {\n fill: styleSheet.sliderRailFillColor,\n stroke: styleSheet.sliderRailBorderColor,\n lineWidth: styleSheet.sliderRailBorder,\n },\n },\n label: {\n align: 'rail',\n spacing: 4, // 文本和 rail 的间距\n formatter: null,\n style: {\n fill: styleSheet.sliderLabelTextFillColor,\n fontSize: styleSheet.sliderLabelTextFontSize,\n lineHeight: styleSheet.sliderLabelTextLineHeight,\n textBaseline: 'middle',\n fontFamily: styleSheet.fontFamily,\n },\n },\n handler: {\n size: styleSheet.sliderHandlerWidth,\n style: {\n fill: styleSheet.sliderHandlerFillColor,\n stroke: styleSheet.sliderHandlerBorderColor,\n },\n },\n slidable: true,\n padding: legendStyles.padding,\n },\n },\n tooltip: {\n showContent: true,\n follow: true,\n showCrosshairs: false,\n showMarkers: true,\n shared: false,\n enterable: false,\n position: 'auto',\n marker: {\n symbol: 'circle',\n stroke: '#fff',\n shadowBlur: 10,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n shadowColor: 'rgba(0,0,0,0.09)',\n lineWidth: 2,\n r: 4,\n },\n crosshairs: {\n line: {\n style: {\n stroke: styleSheet.tooltipCrosshairsBorderColor,\n lineWidth: styleSheet.tooltipCrosshairsBorder,\n },\n },\n text: null,\n textBackground: {\n padding: 2,\n style: {\n fill: 'rgba(0, 0, 0, 0.25)',\n lineWidth: 0,\n stroke: null,\n },\n },\n follow: false,\n },\n // tooltip dom 样式\n domStyles: {\n [`${TOOLTIP_CSS_CONST.CONTAINER_CLASS}`]: {\n position: 'absolute',\n visibility: 'hidden',\n zIndex: 8,\n transition: 'left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s',\n backgroundColor: styleSheet.tooltipContainerFillColor,\n opacity: styleSheet.tooltipContainerFillOpacity,\n boxShadow: styleSheet.tooltipContainerShadow,\n borderRadius: `${styleSheet.tooltipContainerBorderRadius}px`,\n color: styleSheet.tooltipTextFillColor,\n fontSize: `${styleSheet.tooltipTextFontSize}px`,\n fontFamily: styleSheet.fontFamily,\n lineHeight: `${styleSheet.tooltipTextLineHeight}px`,\n padding: '0 12px 0 12px',\n },\n [`${TOOLTIP_CSS_CONST.TITLE_CLASS}`]: {\n marginBottom: '12px',\n marginTop: '12px',\n },\n [`${TOOLTIP_CSS_CONST.LIST_CLASS}`]: {\n margin: 0,\n listStyleType: 'none',\n padding: 0,\n },\n [`${TOOLTIP_CSS_CONST.LIST_ITEM_CLASS}`]: {\n listStyleType: 'none',\n padding: 0,\n marginBottom: '12px',\n marginTop: '12px',\n marginLeft: 0,\n marginRight: 0,\n },\n [`${TOOLTIP_CSS_CONST.MARKER_CLASS}`]: {\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n display: 'inline-block',\n marginRight: '8px',\n },\n [`${TOOLTIP_CSS_CONST.VALUE_CLASS}`]: {\n display: 'inline-block',\n float: 'right',\n marginLeft: '30px',\n },\n },\n },\n annotation: {\n arc: {\n style: {\n stroke: styleSheet.annotationArcBorderColor,\n lineWidth: styleSheet.annotationArcBorder,\n },\n animate: true,\n },\n line: {\n style: {\n stroke: styleSheet.annotationLineBorderColor,\n lineDash: styleSheet.annotationLineDash,\n lineWidth: styleSheet.annotationLineBorder,\n },\n text: {\n position: 'start',\n autoRotate: true,\n style: {\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n textAlign: 'start',\n fontFamily: styleSheet.fontFamily,\n textBaseline: 'bottom',\n },\n },\n animate: true,\n },\n text: {\n style: {\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n textBaseline: 'middle',\n textAlign: 'start',\n fontFamily: styleSheet.fontFamily,\n },\n animate: true,\n },\n region: {\n top: false,\n style: {\n lineWidth: styleSheet.annotationRegionBorder,\n stroke: styleSheet.annotationRegionBorderColor,\n fill: styleSheet.annotationRegionFillColor,\n fillOpacity: styleSheet.annotationRegionFillOpacity,\n }, // 辅助框的图形样式属性\n animate: true,\n },\n image: {\n top: false,\n animate: true,\n },\n dataMarker: {\n top: true,\n point: {\n style: {\n r: 3,\n stroke: styleSheet.brandColor,\n lineWidth: 2,\n },\n },\n line: {\n style: {\n stroke: styleSheet.annotationLineBorderColor,\n lineWidth: styleSheet.annotationLineBorder,\n },\n length: styleSheet.annotationDataMarkerLineLength,\n },\n text: {\n style: {\n textAlign: 'start',\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n fontFamily: styleSheet.fontFamily,\n },\n },\n direction: 'upward',\n autoAdjust: true,\n animate: true,\n },\n dataRegion: {\n style: {\n region: {\n fill: styleSheet.annotationRegionFillColor,\n fillOpacity: styleSheet.annotationRegionFillOpacity,\n },\n text: {\n textAlign: 'center',\n textBaseline: 'bottom',\n fill: styleSheet.annotationTextFillColor,\n stroke: styleSheet.annotationTextBorderColor,\n lineWidth: styleSheet.annotationTextBorder,\n fontSize: styleSheet.annotationTextFontSize,\n fontFamily: styleSheet.fontFamily,\n },\n },\n animate: true,\n },\n },\n slider: {\n common: {\n padding: [8, 8, 8, 8],\n backgroundStyle: {\n fill: styleSheet.cSliderBackgroundFillColor,\n opacity: styleSheet.cSliderBackgroundFillOpacity,\n },\n foregroundStyle: {\n fill: styleSheet.cSliderForegroundFillColor,\n opacity: styleSheet.cSliderForegroundFillOpacity,\n },\n handlerStyle: {\n width: styleSheet.cSliderHandlerWidth,\n height: styleSheet.cSliderHandlerHeight,\n fill: styleSheet.cSliderHandlerFillColor,\n opacity: styleSheet.cSliderHandlerFillOpacity,\n stroke: styleSheet.cSliderHandlerBorderColor,\n lineWidth: styleSheet.cSliderHandlerBorder,\n radius: styleSheet.cSliderHandlerBorderRadius,\n // 高亮的颜色\n highLightFill: styleSheet.cSliderHandlerHighlightFillColor,\n },\n textStyle: {\n fill: styleSheet.cSliderTextFillColor,\n opacity: styleSheet.cSliderTextFillOpacity,\n fontSize: styleSheet.cSliderTextFontSize,\n lineHeight: styleSheet.cSliderTextLineHeight,\n fontWeight: styleSheet.cSliderTextFontWeight,\n stroke: styleSheet.cSliderTextBorderColor,\n lineWidth: styleSheet.cSliderTextBorder,\n },\n },\n },\n scrollbar: {\n common: {\n padding: [8, 8, 8, 8],\n },\n default: {\n style: {\n trackColor: styleSheet.scrollbarTrackFillColor,\n thumbColor: styleSheet.scrollbarThumbFillColor,\n },\n },\n hover: {\n style: {\n thumbColor: styleSheet.scrollbarThumbHighlightFillColor,\n },\n },\n },\n },\n labels: {\n offset: 12,\n style: {\n fill: styleSheet.labelFillColor,\n fontSize: styleSheet.labelFontSize,\n fontFamily: styleSheet.fontFamily,\n stroke: styleSheet.labelBorderColor,\n lineWidth: styleSheet.labelBorder,\n },\n fillColorDark: styleSheet.labelFillColorDark,\n fillColorLight: styleSheet.labelFillColorLight,\n autoRotate: true,\n },\n innerLabels: {\n style: {\n fill: styleSheet.innerLabelFillColor,\n fontSize: styleSheet.innerLabelFontSize,\n fontFamily: styleSheet.fontFamily,\n stroke: styleSheet.innerLabelBorderColor,\n lineWidth: styleSheet.innerLabelBorder,\n },\n autoRotate: true,\n },\n overflowLabels: {\n style: {\n fill: styleSheet.overflowLabelFillColor,\n fontSize: styleSheet.overflowLabelFontSize,\n fontFamily: styleSheet.fontFamily,\n stroke: styleSheet.overflowLabelBorderColor,\n lineWidth: styleSheet.overflowLabelBorder,\n },\n },\n pieLabels: {\n labelHeight: 14,\n offset: 10,\n labelLine: {\n style: {\n lineWidth: styleSheet.labelLineBorder,\n },\n },\n autoRotate: true,\n },\n };\n}\n","import { StyleSheetCfg } from '../../interface';\n\nconst BLACK_COLORS = {\n 100: '#000',\n 95: '#0D0D0D',\n 85: '#262626',\n 65: '#595959',\n 45: '#8C8C8C',\n 25: '#BFBFBF',\n 15: '#D9D9D9',\n 6: '#F0F0F0',\n};\n\nconst WHITE_COLORS = {\n 100: '#FFFFFF',\n 95: '#F2F2F2',\n 85: '#D9D9D9',\n 65: '#A6A6A6',\n 45: '#737373',\n 25: '#404040',\n 15: '#262626',\n 6: '#0F0F0F',\n};\n\nconst QUALITATIVE_10 = [\n '#5B8FF9',\n '#5AD8A6',\n '#5D7092',\n '#F6BD16',\n '#6F5EF9',\n '#6DC8EC',\n '#945FB9',\n '#FF9845',\n '#1E9493',\n '#FF99C3',\n];\n\nconst QUALITATIVE_20 = [\n '#5B8FF9',\n '#CDDDFD',\n '#5AD8A6',\n '#CDF3E4',\n '#5D7092',\n '#CED4DE',\n '#F6BD16',\n '#FCEBB9',\n '#6F5EF9',\n '#D3CEFD',\n '#6DC8EC',\n '#D3EEF9',\n '#945FB9',\n '#DECFEA',\n '#FF9845',\n '#FFE0C7',\n '#1E9493',\n '#BBDEDE',\n '#FF99C3',\n '#FFE0ED',\n];\n\n/** 单色顺序色板 */\nconst SINGLE_SEQUENCE = [\n '#B8E1FF',\n '#9AC5FF',\n '#7DAAFF',\n '#5B8FF9',\n '#3D76DD',\n '#085EC0',\n '#0047A5',\n '#00318A',\n '#001D70',\n];\n\nexport const createLightStyleSheet = (cfg: StyleSheetCfg = {}) => {\n const { paletteQualitative10 = QUALITATIVE_10, paletteQualitative20 = QUALITATIVE_20 } = cfg;\n const { brandColor = paletteQualitative10[0] } = cfg;\n\n const token = {\n /** 图表背景色 */\n backgroundColor: 'transparent',\n /** 主题色 */\n brandColor,\n /** 图表辅助色 */\n subColor: 'rgba(0,0,0,0.05)',\n /** 分类色板 1,在数据量小于等于 10 时使用 */\n paletteQualitative10,\n /** 分类色板 2,在数据量大于 10 时使用 */\n paletteQualitative20,\n /** 语义色 */\n paletteSemanticRed: '#F4664A',\n /** 语义色 */\n paletteSemanticGreen: '#30BF78',\n /** 语义色 */\n paletteSemanticYellow: '#FAAD14',\n /** (单色)顺序色板 */\n paletteSequence: SINGLE_SEQUENCE,\n /** 字体 */\n fontFamily: `\"Segoe UI\", Roboto, \"Helvetica Neue\", Arial,\n \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\",\n \"Noto Color Emoji\"`,\n\n // -------------------- 坐标轴 --------------------\n /** 坐标轴线颜色 */\n axisLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴线粗细 */\n axisLineBorder: 1,\n /** 坐标轴线 lineDash 设置 */\n axisLineDash: null,\n\n /** 坐标轴标题颜色 */\n axisTitleTextFillColor: BLACK_COLORS[65],\n /** 坐标轴标题文本字体大小 */\n axisTitleTextFontSize: 12,\n /** 坐标轴标题文本行高 */\n axisTitleTextLineHeight: 12,\n /** 坐标轴标题文本字体粗细 */\n axisTitleTextFontWeight: 'normal',\n /** 坐标轴标题距离坐标轴文本的间距 */\n axisTitleSpacing: 12,\n /** 坐标轴标题详细说明icon颜色 */\n axisDescriptionIconFillColor: WHITE_COLORS[85],\n\n /** 坐标轴刻度线颜色 */\n axisTickLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴刻度线长度 */\n axisTickLineLength: 4,\n /** 坐标轴刻度线粗细 */\n axisTickLineBorder: 1,\n\n /** 坐标轴次刻度线颜色 */\n axisSubTickLineBorderColor: BLACK_COLORS[15],\n /** 坐标轴次刻度线长度 */\n axisSubTickLineLength: 2,\n /** 坐标轴次刻度线粗细 */\n axisSubTickLineBorder: 1,\n\n /** 坐标轴刻度文本颜色 */\n axisLabelFillColor: BLACK_COLORS[45],\n /** 坐标轴刻度文本字体大小 */\n axisLabelFontSize: 12,\n /** 坐标轴刻度文本行高 */\n axisLabelLineHeight: 12,\n /** 坐标轴刻度文本字体粗细 */\n axisLabelFontWeight: 'normal',\n /** 坐标轴刻度文本距离坐标轴线的间距 */\n axisLabelOffset: 8,\n\n /** 坐标轴网格线颜色 */\n axisGridBorderColor: BLACK_COLORS[15],\n /** 坐标轴网格线粗细 */\n axisGridBorder: 1,\n /** 坐标轴网格线虚线设置 */\n axisGridLineDash: null,\n\n // -------------------- 图例 --------------------\n /** 图例标题颜色 */\n legendTitleTextFillColor: BLACK_COLORS[45],\n /** 图例标题文本字体大小 */\n legendTitleTextFontSize: 12,\n /** 图例标题文本行高 */\n legendTitleTextLineHeight: 21,\n /** 图例标题文本字体粗细 */\n legendTitleTextFontWeight: 'normal',\n\n /** 图例 marker 颜色 */\n legendMarkerColor: brandColor,\n /** 图例 marker 距离图例文本的间距 */\n legendMarkerSpacing: 8,\n /** 图例 marker 默认半径大小 */\n legendMarkerSize: 4,\n /** 图例 'circle' marker 半径 */\n legendCircleMarkerSize: 4,\n /** 图例 'square' marker 半径 */\n legendSquareMarkerSize: 4,\n /** 图例 'line' marker 半径 */\n legendLineMarkerSize: 5,\n\n /** 图例项文本颜色 */\n legendItemNameFillColor: BLACK_COLORS[65],\n /** 图例项文本字体大小 */\n legendItemNameFontSize: 12,\n /** 图例项文本行高 */\n legendItemNameLineHeight: 12,\n /** 图例项粗细 */\n legendItemNameFontWeight: 'normal',\n /** 图例项之间的水平间距 */\n legendItemSpacing: 24,\n /** 图例项垂直方向的间隔 */\n legendItemMarginBottom: 12,\n /** 图例与图表绘图区域的偏移距离 */\n legendPadding: [8, 8, 8, 8],\n /** 水平布局的图例与绘图区域偏移距离 */\n legendHorizontalPadding: [8, 0, 8, 0],\n /** 垂直布局的图例与绘图区域偏移距离 */\n legendVerticalPadding: [0, 8, 0, 8],\n\n // 图例分页器\n /** 图例分页器 marker 大小 */\n legendPageNavigatorMarkerSize: 12,\n /** 图例分页器 marker 非激活状态填充色 */\n legendPageNavigatorMarkerInactiveFillColor: BLACK_COLORS[100],\n /** 图例分页器 marker 非激活状态填充色透明度 */\n legendPageNavigatorMarkerInactiveFillOpacity: 0.45,\n /** 图例分页器 marker 填充色 */\n legendPageNavigatorMarkerFillColor: BLACK_COLORS[100],\n /** 图例分页器 marker 填充色透明度 */\n legendPageNavigatorMarkerFillOpacity: 1,\n /** 图例分页器文本颜色 */\n legendPageNavigatorTextFillColor: BLACK_COLORS[45],\n /** 图例分页器文本字体大小 */\n legendPageNavigatorTextFontSize: 12,\n\n /** 连续图例滑块填充色 */\n sliderRailFillColor: BLACK_COLORS[15],\n /** 连续图例滑块边框粗细 */\n sliderRailBorder: 0,\n /** 连续图例滑块边框颜色 */\n sliderRailBorderColor: null,\n /** 连续图例滑块宽度 */\n sliderRailWidth: 100,\n /** 连续图例滑块高度 */\n sliderRailHeight: 12,\n\n /** 连续图例文本颜色 */\n sliderLabelTextFillColor: BLACK_COLORS[45],\n /** 连续图例文本字体大小 */\n sliderLabelTextFontSize: 12,\n /** 连续图例文本行高 */\n sliderLabelTextLineHeight: 12,\n /** 连续图例文本字体粗细 */\n sliderLabelTextFontWeight: 'normal',\n\n /** 连续图例滑块颜色 */\n sliderHandlerFillColor: BLACK_COLORS[6],\n /** 连续图例滑块宽度 */\n sliderHandlerWidth: 10,\n /** 连续图例滑块高度 */\n sliderHandlerHeight: 14,\n /** 连续图例滑块边框粗细 */\n sliderHandlerBorder: 1,\n /** 连续图例滑块边框颜色 */\n sliderHandlerBorderColor: BLACK_COLORS[25],\n\n // -------------------- Annotation,图形标注 --------------------\n /** arc 图形标注描边颜色 */\n annotationArcBorderColor: BLACK_COLORS[15],\n /** arc 图形标注粗细 */\n annotationArcBorder: 1,\n\n /** line 图形标注颜色 */\n annotationLineBorderColor: BLACK_COLORS[25],\n /** line 图形标注粗细 */\n annotationLineBorder: 1,\n /** lube 图形标注的虚线间隔 */\n annotationLineDash: null,\n\n /** text 图形标注文本颜色 */\n annotationTextFillColor: BLACK_COLORS[65],\n /** text 图形标注文本字体大小 */\n annotationTextFontSize: 12,\n /** text 图形标注文本行高 */\n annotationTextLineHeight: 12,\n /** text 图形标注文本字体粗细 */\n annotationTextFontWeight: 'normal',\n /** text 图形标注文本边框颜色 */\n annotationTextBorderColor: null,\n /** text 图形标注文本边框粗细 */\n annotationTextBorder: 0,\n\n /** region 图形标注填充颜色 */\n annotationRegionFillColor: BLACK_COLORS[100],\n /** region 图形标注填充颜色透明色 */\n annotationRegionFillOpacity: 0.06,\n /** region 图形标注描边粗细 */\n annotationRegionBorder: 0,\n /** region 图形标注描边颜色 */\n annotationRegionBorderColor: null,\n\n /** dataMarker 图形标注线的长度 */\n annotationDataMarkerLineLength: 16,\n\n // -------------------- Tooltip --------------------\n /** tooltip crosshairs 辅助线颜色 */\n tooltipCrosshairsBorderColor: BLACK_COLORS[25],\n /** tooltip crosshairs 辅助线粗细 */\n tooltipCrosshairsBorder: 1,\n /** tooltip crosshairs 辅助线虚线间隔 */\n tooltipCrosshairsLineDash: null,\n\n /** tooltip 内容框背景色 */\n tooltipContainerFillColor: 'rgb(255, 255, 255)',\n tooltipContainerFillOpacity: 0.95,\n /** tooltip 内容框阴影 */\n tooltipContainerShadow: '0px 0px 10px #aeaeae',\n /** tooltip 内容框圆角 */\n tooltipContainerBorderRadius: 3,\n\n /** tooltip 文本颜色 */\n tooltipTextFillColor: BLACK_COLORS[65],\n /** tooltip 文本字体大小 */\n tooltipTextFontSize: 12,\n /** tooltip 文本行高 */\n tooltipTextLineHeight: 12,\n /** tooltip 文本字体粗细 */\n tooltipTextFontWeight: 'bold',\n\n // -------------------- Geometry labels --------------------\n /** Geometry label 文本颜色 */\n labelFillColor: BLACK_COLORS[65],\n labelFillColorDark: '#2c3542',\n labelFillColorLight: '#ffffff',\n /** Geometry label 文本字体大小 */\n labelFontSize: 12,\n /** Geometry label 文本行高 */\n labelLineHeight: 12,\n /** Geometry label 文本字体粗细 */\n labelFontWeight: 'normal',\n /** Geometry label 文本描边颜色 */\n labelBorderColor: null,\n /** Geometry label 文本描边粗细 */\n labelBorder: 0,\n\n /** Geometry innerLabel 文本颜色 */\n innerLabelFillColor: WHITE_COLORS[100],\n /** Geometry innerLabel 文本字体大小 */\n innerLabelFontSize: 12,\n /** Geometry innerLabel 文本行高 */\n innerLabelLineHeight: 12,\n /** Geometry innerLabel 文本字体粗细 */\n innerLabelFontWeight: 'normal',\n /** Geometry innerLabel 文本描边颜色 */\n innerLabelBorderColor: null,\n /** Geometry innerLabel 文本描边粗细 */\n innerLabelBorder: 0,\n\n /** Geometry overflowLabel 文本颜色 */\n overflowLabelFillColor: BLACK_COLORS[65],\n /** Geometry overflowLabel 文本字体大小 */\n overflowLabelFontSize: 12,\n /** Geometry overflowLabel 文本行高 */\n overflowLabelLineHeight: 12,\n /** Geometry overflowLabel 文本字体粗细 */\n overflowLabelFontWeight: 'normal',\n /** Geometry overflowLabel 文本描边颜色 */\n overflowLabelBorderColor: WHITE_COLORS[100],\n /** Geometry overflowLabel 文本描边粗细 */\n overflowLabelBorder: 1,\n\n /** Geometry label 文本连接线粗细 */\n labelLineBorder: 1,\n /** Geometry label 文本连接线颜色 */\n labelLineBorderColor: BLACK_COLORS[25],\n\n // -------------------- Slider 组件样式--------------------\n /** slider 滑道高度 */\n cSliderRailHieght: 16,\n /** slider 滑道背景色 */\n cSliderBackgroundFillColor: '#416180',\n /** slider 滑道背景色透明度 */\n cSliderBackgroundFillOpacity: 0.05,\n /** slider 滑道前景色 */\n cSliderForegroundFillColor: '#5B8FF9',\n /** slider 滑道前景色透明度 */\n cSliderForegroundFillOpacity: 0.15,\n // slider handlerStyle 手柄样式\n /** slider 手柄高度 */\n cSliderHandlerHeight: 24,\n /** Slider 手柄宽度 */\n cSliderHandlerWidth: 10,\n /** Slider 手柄背景色 */\n cSliderHandlerFillColor: '#F7F7F7',\n /** Slider 手柄背景色透明度 */\n cSliderHandlerFillOpacity: 1,\n /** Slider 手柄高亮背景色 */\n cSliderHandlerHighlightFillColor: '#FFF',\n /** Slider 手柄边框色 */\n cSliderHandlerBorderColor: '#BFBFBF',\n /** Slider 手柄边框粗细 */\n cSliderHandlerBorder: 1,\n /** Slider 手柄边框圆角 */\n cSliderHandlerBorderRadius: 2,\n // slider textStyle 字体标签样式\n /** Slider 字体标签颜色 */\n cSliderTextFillColor: '#000',\n /** Slider 字体标签透明度 */\n cSliderTextFillOpacity: 0.45,\n /** Slider 字体标签大小 */\n cSliderTextFontSize: 12,\n /** Slider 字体标签行高 */\n cSliderTextLineHeight: 12,\n /** Slider 字体标签字重 */\n cSliderTextFontWeight: 'normal',\n /** Slider 字体标签描边色 */\n cSliderTextBorderColor: null,\n /** Slider 字体标签描边粗细 */\n cSliderTextBorder: 0,\n\n // -------------------- Scrollbar 组件样式--------------------\n /** 滚动条 滚道填充色 */\n scrollbarTrackFillColor: 'rgba(0,0,0,0)',\n /** 滚动条 滑块填充色 */\n scrollbarThumbFillColor: 'rgba(0,0,0,0.15)',\n /** 滚动条 滑块高亮填充色 */\n scrollbarThumbHighlightFillColor: 'rgba(0,0,0,0.2)',\n\n // -------------------- Geometry 图形样式--------------------\n /** 点图填充颜色 */\n pointFillColor: brandColor,\n /** 点图填充颜色透明度 */\n pointFillOpacity: 0.95,\n /** 点图大小 */\n pointSize: 4,\n /** 点图描边粗细 */\n pointBorder: 1,\n /** 点图描边颜色 */\n pointBorderColor: WHITE_COLORS[100],\n /** 点图描边透明度 */\n pointBorderOpacity: 1,\n\n /** 点图 active 状态下描边颜色 */\n pointActiveBorderColor: BLACK_COLORS[100],\n\n /** 点图 selected 状态下描边粗细 */\n pointSelectedBorder: 2,\n /** 点图 selected 状态下描边颜色 */\n pointSelectedBorderColor: BLACK_COLORS[100],\n\n /** 点图 inactive 状态下填充颜色透明度 */\n pointInactiveFillOpacity: 0.3,\n /** 点图 inactive 状态下描边透明度 */\n pointInactiveBorderOpacity: 0.3,\n\n /** 空心点图大小 */\n hollowPointSize: 4,\n /** 空心点图描边粗细 */\n hollowPointBorder: 1,\n /** 空心点图描边颜色 */\n hollowPointBorderColor: brandColor,\n /** 空心点图描边透明度 */\n hollowPointBorderOpacity: 0.95,\n hollowPointFillColor: WHITE_COLORS[100],\n\n /** 空心点图 active 状态下描边粗细 */\n hollowPointActiveBorder: 1,\n /** 空心点图 active 状态下描边颜色 */\n hollowPointActiveBorderColor: BLACK_COLORS[100],\n /** 空心点图 active 状态下描边透明度 */\n hollowPointActiveBorderOpacity: 1,\n\n /** 空心点图 selected 状态下描边粗细 */\n hollowPointSelectedBorder: 2,\n /** 空心点图 selected 状态下描边颜色 */\n hollowPointSelectedBorderColor: BLACK_COLORS[100],\n /** 空心点图 selected 状态下描边透明度 */\n hollowPointSelectedBorderOpacity: 1,\n\n /** 空心点图 inactive 状态下描边透明度 */\n hollowPointInactiveBorderOpacity: 0.3,\n\n /** 线图粗细 */\n lineBorder: 2,\n /** 线图颜色 */\n lineBorderColor: brandColor,\n /** 线图透明度 */\n lineBorderOpacity: 1,\n\n /** 线图 Active 状态下粗细 */\n lineActiveBorder: 3,\n\n /** 线图 selected 状态下粗细 */\n lineSelectedBorder: 3,\n\n /** 线图 inactive 状态下透明度 */\n lineInactiveBorderOpacity: 0.3,\n\n /** area 填充颜色 */\n areaFillColor: brandColor,\n /** area 填充透明度 */\n areaFillOpacity: 0.25,\n\n /** area 在 active 状态下的填充透明度 */\n areaActiveFillColor: brandColor,\n areaActiveFillOpacity: 0.5,\n\n /** area 在 selected 状态下的填充透明度 */\n areaSelectedFillColor: brandColor,\n areaSelectedFillOpacity: 0.5,\n\n /** area inactive 状态下填充透明度 */\n areaInactiveFillOpacity: 0.3,\n\n /** hollowArea 颜色 */\n hollowAreaBorderColor: brandColor,\n /** hollowArea 边框粗细 */\n hollowAreaBorder: 2,\n /** hollowArea 边框透明度 */\n hollowAreaBorderOpacity: 1,\n\n /** hollowArea active 状态下的边框粗细 */\n hollowAreaActiveBorder: 3,\n hollowAreaActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowArea selected 状态下的边框粗细 */\n hollowAreaSelectedBorder: 3,\n hollowAreaSelectedBorderColor: BLACK_COLORS[100],\n\n /** hollowArea inactive 状态下的边框透明度 */\n hollowAreaInactiveBorderOpacity: 0.3,\n\n /** interval 填充颜色 */\n intervalFillColor: brandColor,\n /** interval 填充透明度 */\n intervalFillOpacity: 0.95,\n\n /** interval active 状态下边框粗细 */\n intervalActiveBorder: 1,\n /** interval active 状态下边框颜色 */\n intervalActiveBorderColor: BLACK_COLORS[100],\n intervalActiveBorderOpacity: 1,\n\n /** interval selected 状态下边框粗细 */\n intervalSelectedBorder: 2,\n /** interval selected 状态下边框颜色 */\n intervalSelectedBorderColor: BLACK_COLORS[100],\n /** interval selected 状态下边框透明度 */\n intervalSelectedBorderOpacity: 1,\n\n /** interval inactive 状态下边框透明度 */\n intervalInactiveBorderOpacity: 0.3,\n /** interval inactive 状态下填充透明度 */\n intervalInactiveFillOpacity: 0.3,\n\n /** interval 边框粗细 */\n hollowIntervalBorder: 2,\n /** hollowInterval 边框颜色 */\n hollowIntervalBorderColor: brandColor,\n /** hollowInterval 边框透明度 */\n hollowIntervalBorderOpacity: 1,\n hollowIntervalFillColor: WHITE_COLORS[100],\n\n /** hollowInterval active 状态下边框粗细 */\n hollowIntervalActiveBorder: 2,\n /** hollowInterval active 状态下边框颜色 */\n hollowIntervalActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowInterval selected 状态下边框粗细 */\n hollowIntervalSelectedBorder: 3,\n /** hollowInterval selected 状态下边框颜色 */\n hollowIntervalSelectedBorderColor: BLACK_COLORS[100],\n /** hollowInterval selected 状态下边框透明度 */\n hollowIntervalSelectedBorderOpacity: 1,\n\n /** hollowInterval inactive 状态下边框透明度 */\n hollowIntervalInactiveBorderOpacity: 0.3,\n };\n\n return { ...token, ...cfg };\n};\n\nexport const antvLight = createLightStyleSheet();\n","import { deepMix } from '@antv/util';\nimport { createThemeByStyleSheet } from './create-by-style-sheet';\nimport { createLightStyleSheet } from '../style-sheet/light';\nimport { LooseObject, StyleSheetCfg } from '../../interface';\n\ninterface ThemeCfg extends LooseObject {\n styleSheet?: StyleSheetCfg;\n}\n\nexport function createTheme(themeCfg: ThemeCfg): LooseObject {\n const { styleSheet: styleSheetCfg = {}, ...themeObject } = themeCfg;\n\n // ① 创建样式表 (默认创建 light 的样式表)\n const styleSheet = createLightStyleSheet(styleSheetCfg);\n // ② 创建主题\n return deepMix({}, createThemeByStyleSheet(styleSheet), themeObject);\n}\n","import { get, lowerCase } from '@antv/util';\nimport { LooseObject } from '../interface';\n\nimport { createTheme } from './util';\n\nconst defaultTheme = createTheme({});\n\n// 所有已经存在的主题\nconst Themes: Record = {\n default: defaultTheme,\n};\n\n/**\n * 获取主题配置信息。\n * @param theme 主题名\n */\nexport function getTheme(theme?: string): LooseObject {\n return get(Themes, lowerCase(theme), Themes.default);\n}\n\n/**\n * 注册新的主题配置信息。\n * @param theme 主题名。\n * @param value 具体的主题配置。\n */\nexport function registerTheme(theme: string, value: LooseObject) {\n Themes[lowerCase(theme)] = createTheme(value);\n}\n","import {\n contains,\n filter,\n find,\n isArray,\n isEmpty,\n isFunction,\n isNil,\n isNumberEqual,\n isObject,\n memoize,\n get,\n values,\n} from '@antv/util';\nimport { View } from '../chart';\nimport { FIELD_ORIGIN, GROUP_ATTRS } from '../constant';\nimport { Attribute, Scale } from '../dependents';\nimport Geometry from '../geometry/base';\nimport { Data, Datum, MappingDatum, Point, TooltipCfg, TooltipTitle } from '../interface';\nimport { getName, inferScaleType } from './scale';\n\nfunction snapEqual(v1: any, v2: any, scale: Scale) {\n const value1 = scale.translate(v1);\n const value2 = scale.translate(v2);\n\n return isNumberEqual(value1, value2);\n}\n\nfunction getXValueByPoint(point: Point, geometry: Geometry): number {\n const coordinate = geometry.coordinate;\n const xScale = geometry.getXScale();\n const range = xScale.range;\n const rangeMax = range[range.length - 1];\n const rangeMin = range[0];\n\n const invertPoint = coordinate.invert(point);\n\n let xValue = invertPoint.x;\n if (coordinate.isPolar && xValue > (1 + rangeMax) / 2) {\n xValue = rangeMin; // 极坐标下,scale 的 range 被做过特殊处理\n }\n return xScale.translate(xScale.invert(xValue));\n}\n\nfunction filterYValue(data: Data, point: Point, geometry: Geometry) {\n const coordinate = geometry.coordinate;\n const yScale = geometry.getYScale();\n const yField = yScale.field;\n const invertPoint = coordinate.invert(point);\n const yValue = yScale.invert(invertPoint.y);\n\n const result = find(data, (obj: Datum) => {\n const originData = obj[FIELD_ORIGIN];\n return originData[yField][0] <= yValue && originData[yField][1] >= yValue;\n });\n return result || data[data.length - 1];\n}\n\nconst getXDistance = memoize((scale: Scale) => {\n if (scale.isCategory) {\n return 1;\n }\n const scaleValues = scale.values; // values 是无序的\n const length = scaleValues.length;\n let min = scale.translate(scaleValues[0]);\n let max = min;\n\n for (let index = 0; index < length; index++) {\n const value = scaleValues[index];\n // 时间类型需要 translate\n const numericValue = scale.translate(value);\n if (numericValue < min) {\n min = numericValue;\n }\n if (numericValue > max) {\n max = numericValue;\n }\n }\n return (max - min) / (length - 1);\n});\n\n/**\n * 获得 tooltip 的 title\n * @param originData\n * @param geometry\n * @param title\n */\nfunction getTooltipTitle(originData: Datum, geometry: Geometry, title: TooltipTitle): string {\n const positionAttr = geometry.getAttribute('position');\n const fields = positionAttr.getFields();\n const scales = geometry.scales;\n\n const titleField = isFunction(title) || !title ? fields[0] : title;\n const titleScale = scales[titleField];\n\n // 如果创建了该字段对应的 scale,则通过 scale.getText() 方式取值,因为用户可能对数据进行了格式化\n // 如果没有对应的 scale,则从原始数据中取值,如果原始数据中仍不存在,则直接放回 title 值\n const tooltipTitle = titleScale ? titleScale.getText(originData[titleField]) : originData[titleField] || titleField;\n\n return isFunction(title) ? title(tooltipTitle, originData) : tooltipTitle;\n}\n\nfunction getAttributesForLegend(geometry: Geometry) {\n const attributes = values(geometry.attributes);\n return filter(attributes, (attribute: Attribute) => contains(GROUP_ATTRS, attribute.type));\n}\n\nfunction getTooltipValueScale(geometry: Geometry) {\n const attributes = getAttributesForLegend(geometry);\n let scale;\n for (const attribute of attributes) {\n const tmpScale = attribute.getScale(attribute.type);\n if (tmpScale && tmpScale.isLinear) {\n const tmpScaleDef = get(geometry.scaleDefs, tmpScale.field);\n const inferedScaleType = inferScaleType(tmpScale, tmpScaleDef, attribute.type, geometry.type);\n if (inferedScaleType !== 'cat') {\n // 如果指定字段是非 position 的,同时是连续的\n scale = tmpScale;\n break;\n }\n }\n }\n\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n\n return scale || yScale || xScale;\n}\n\nfunction getTooltipValue(originData: Datum, valueScale: Scale) {\n const field = valueScale.field;\n const value = originData[field];\n\n if (isArray(value)) {\n const texts = value.map((eachValue) => {\n return valueScale.getText(eachValue);\n });\n return texts.join('-');\n }\n return valueScale.getText(value);\n}\n\n// 根据原始数据获取 tooltip item 中 name 值\nfunction getTooltipName(originData: Datum, geometry: Geometry) {\n let nameScale: Scale;\n const groupScales = geometry.getGroupScales();\n if (groupScales.length) {\n // 如果存在分组类型,取第一个分组类型\n nameScale = groupScales[0];\n }\n if (nameScale) {\n const field = nameScale.field;\n return nameScale.getText(originData[field]);\n }\n\n const valueScale = getTooltipValueScale(geometry);\n return getName(valueScale);\n}\n\n/**\n * @ignore\n * Finds data from geometry by point\n * @param point canvas point\n * @param data an item of geometry.dataArray\n * @param geometry\n * @returns\n */\nexport function findDataByPoint(point: Point, data: MappingDatum[], geometry: Geometry) {\n if (data.length === 0) {\n return null;\n }\n\n const geometryType = geometry.type;\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n\n const xField = xScale.field;\n const yField = yScale.field;\n\n let rst = null;\n\n // 热力图采用最小逼近策略查找 point 击中的数据\n if (geometryType === 'heatmap' || geometryType === 'point') {\n // 将 point 画布坐标转换为原始数据值\n const coordinate = geometry.coordinate;\n const invertPoint = coordinate.invert(point); // 转换成归一化的数据\n const x = xScale.invert(invertPoint.x); // 转换为原始值\n const y = yScale.invert(invertPoint.y); // 转换为原始值\n\n let min = Infinity;\n for (let index = 0; index < data.length; index++) {\n const obj = data[index];\n const originData = obj[FIELD_ORIGIN];\n const range = (originData[xField] - x) ** 2 + (originData[yField] - y) ** 2;\n if (range < min) {\n min = range;\n rst = obj;\n }\n }\n\n return rst;\n }\n\n // 其他 Geometry 类型按照 x 字段数据进行查找\n const first = data[0];\n let last = data[data.length - 1];\n const xValue = getXValueByPoint(point, geometry);\n const firstXValue = first[FIELD_ORIGIN][xField];\n const firstYValue = first[FIELD_ORIGIN][yField];\n const lastXValue = last[FIELD_ORIGIN][xField];\n const isYArray = yScale.isLinear && isArray(firstYValue); // 考虑 x 维度相同,y 是数组区间的情况\n\n // 如果 x 的值是数组\n if (isArray(firstXValue)) {\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const originData = record[FIELD_ORIGIN];\n // xValue 在 originData[xField] 的数值区间内\n if (xScale.translate(originData[xField][0]) <= xValue && xScale.translate(originData[xField][1]) >= xValue) {\n if (isYArray) {\n // 层叠直方图场景,x 和 y 都是数组区间\n if (!isArray(rst)) {\n rst = [];\n }\n rst.push(record);\n } else {\n rst = record;\n break;\n }\n }\n }\n if (isArray(rst)) {\n rst = filterYValue(rst, point, geometry);\n }\n } else {\n let next;\n if (!xScale.isLinear && xScale.type !== 'timeCat') {\n // x 轴对应的数据为非线性以及非时间类型的数据采用遍历查找\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const originData = record[FIELD_ORIGIN];\n if (snapEqual(originData[xField], xValue, xScale)) {\n if (isYArray) {\n if (!isArray(rst)) {\n rst = [];\n }\n rst.push(record);\n } else {\n rst = record;\n break;\n }\n } else if (xScale.translate(originData[xField]) <= xValue) {\n last = record;\n next = data[index + 1];\n }\n }\n\n if (isArray(rst)) {\n rst = filterYValue(rst, point, geometry);\n }\n } else {\n // x 轴对应的数据为线性以及时间类型,进行二分查找,性能更好\n if (\n (xValue > xScale.translate(lastXValue) || xValue < xScale.translate(firstXValue)) &&\n (xValue > xScale.max || xValue < xScale.min)\n ) {\n // 不在数据范围内\n return null;\n }\n\n let firstIdx = 0;\n let lastIdx = data.length - 1;\n let middleIdx;\n while (firstIdx <= lastIdx) {\n middleIdx = Math.floor((firstIdx + lastIdx) / 2);\n const item = data[middleIdx][FIELD_ORIGIN][xField];\n if (snapEqual(item, xValue, xScale)) {\n return data[middleIdx];\n }\n\n if (xScale.translate(item) <= xScale.translate(xValue)) {\n firstIdx = middleIdx + 1;\n last = data[middleIdx];\n next = data[middleIdx + 1];\n } else {\n if (lastIdx === 0) {\n last = data[0];\n }\n lastIdx = middleIdx - 1;\n }\n }\n }\n\n if (last && next) {\n // 计算最逼近的\n if (\n Math.abs(xScale.translate(last[FIELD_ORIGIN][xField]) - xValue) >\n Math.abs(xScale.translate(next[FIELD_ORIGIN][xField]) - xValue)\n ) {\n last = next;\n }\n }\n }\n\n const distance = getXDistance(geometry.getXScale()); // 每个分类间的平均间距\n if (!rst && Math.abs(xScale.translate(last[FIELD_ORIGIN][xField]) - xValue) <= distance / 2) {\n rst = last;\n }\n\n return rst;\n}\n\n/**\n * @ignore\n * Gets tooltip items\n * @param data\n * @param geometry\n * @param [title]\n * @returns\n */\nexport function getTooltipItems(\n data: MappingDatum,\n geometry: Geometry,\n title: TooltipTitle = '',\n showNil: boolean = false\n) {\n const originData = data[FIELD_ORIGIN];\n const tooltipTitle = getTooltipTitle(originData, geometry, title);\n const tooltipOption = geometry.tooltipOption;\n const { defaultColor } = geometry.theme;\n const items = [];\n let name;\n let value;\n\n function addItem(itemName, itemValue) {\n if (showNil || (!isNil(itemValue) && itemValue !== '')) {\n // 值为 null的时候,忽视\n const item = {\n title: tooltipTitle,\n data: originData, // 原始数据\n mappingData: data, // 映射后的数据\n name: itemName,\n value: itemValue,\n color: data.color || defaultColor,\n marker: true,\n };\n\n items.push(item);\n }\n }\n\n if (isObject(tooltipOption)) {\n const { fields, callback } = tooltipOption;\n if (callback) {\n // 用户定义了回调函数\n const callbackParams = fields.map((field: string) => {\n return data[FIELD_ORIGIN][field];\n });\n const cfg = callback(...callbackParams);\n const itemCfg = {\n data: data[FIELD_ORIGIN], // 原始数据\n mappingData: data, // 映射后的数据\n title: tooltipTitle,\n color: data.color || defaultColor,\n marker: true, // 默认展示 marker\n ...cfg,\n };\n\n items.push(itemCfg);\n } else {\n const scales = geometry.scales;\n for (const field of fields) {\n if (!isNil(originData[field])) {\n // 字段数据为null, undefined 时不显示\n const scale = scales[field];\n name = getName(scale);\n value = scale.getText(originData[field]);\n addItem(name, value);\n }\n }\n }\n } else {\n const valueScale = getTooltipValueScale(geometry);\n // 字段数据为null ,undefined时不显示\n value = getTooltipValue(originData, valueScale);\n name = getTooltipName(originData, geometry);\n addItem(name, value);\n }\n return items;\n}\n\nfunction getTooltipItemsByFindData(geometry: Geometry, point, title, tooltipCfg: TooltipCfg) {\n const { showNil } = tooltipCfg;\n const result = [];\n const dataArray = geometry.dataArray;\n if (!isEmpty(dataArray)) {\n geometry.sort(dataArray); // 先进行排序,便于 tooltip 查找\n for (const data of dataArray) {\n const record = findDataByPoint(point, data, geometry);\n if (record) {\n const elementId = geometry.getElementId(record);\n const element = geometry.elementsMap[elementId];\n if (geometry.type === 'heatmap' || element.visible) {\n // Heatmap 没有 Element\n // 如果图形元素隐藏了,怎不再 tooltip 上展示相关数据\n const items = getTooltipItems(record, geometry, title, showNil);\n if (items.length) {\n result.push(items);\n }\n }\n }\n }\n }\n\n return result;\n}\n\nfunction getTooltipItemsByHitShape(geometry, point, title, tooltipCfg: TooltipCfg) {\n const { showNil } = tooltipCfg;\n const result = [];\n const container = geometry.container;\n const shape = container.getShape(point.x, point.y);\n if (shape && shape.get('visible') && shape.get('origin')) {\n const mappingData = shape.get('origin').mappingData;\n const items = getTooltipItems(mappingData, geometry, title, showNil);\n if (items.length) {\n result.push(items);\n }\n }\n\n return result;\n}\n\n/**\n * 不进行递归查找\n */\nexport function findItemsFromView(view: View, point: Point, tooltipCfg: TooltipCfg) {\n const result = [];\n // 先从 view 本身查找\n const geometries = view.geometries;\n const { shared, title, reversed } = tooltipCfg;\n for (const geometry of geometries) {\n if (geometry.visible && geometry.tooltipOption !== false) {\n // geometry 可见同时未关闭 tooltip\n const geometryType = geometry.type;\n let tooltipItems;\n if (['point', 'edge', 'polygon'].includes(geometryType)) {\n // 始终通过图形拾取\n tooltipItems = getTooltipItemsByHitShape(geometry, point, title, tooltipCfg);\n } else if (['area', 'line', 'path', 'heatmap'].includes(geometryType)) {\n // 如果是 'area', 'line', 'path',始终通过数据查找方法查找 tooltip\n tooltipItems = getTooltipItemsByFindData(geometry, point, title, tooltipCfg);\n } else {\n if (shared !== false) {\n tooltipItems = getTooltipItemsByFindData(geometry, point, title, tooltipCfg);\n } else {\n tooltipItems = getTooltipItemsByHitShape(geometry, point, title, tooltipCfg);\n }\n }\n if (tooltipItems.length) {\n if (reversed) {\n tooltipItems.reverse();\n }\n // geometry 有可能会有多个 item,因为用户可以设置 geometry.tooltip('x*y*z')\n result.push(tooltipItems);\n }\n }\n }\n\n return result;\n}\n\nexport function findItemsFromViewRecurisive(view: View, point: Point, tooltipCfg: TooltipCfg) {\n let result = findItemsFromView(view, point, tooltipCfg);\n\n // 递归查找,并合并结果\n for (const childView of view.views) {\n result = result.concat(findItemsFromView(childView, point, tooltipCfg));\n }\n\n return result;\n}\n","import { isArray, isNumber } from '@antv/util';\nimport { Padding, ViewPadding } from '../interface';\n\n/**\n * @ignore\n * 是否是自动 padding\n * @param padding\n */\nexport function isAutoPadding(padding: ViewPadding): padding is 'auto' {\n return !isNumber(padding) && !isArray(padding);\n}\n\n/**\n * @ignore\n * padding 的解析逻辑\n * @param padding\n * @return [ top, right, bottom, left ]\n */\nexport function parsePadding(padding: number[] | number = 0): Padding {\n let paddingArray = isArray(padding) ? padding : [padding];\n\n switch (paddingArray.length) {\n case 0:\n paddingArray = [0, 0, 0, 0];\n break;\n case 1:\n paddingArray = new Array(4).fill(paddingArray[0]);\n break;\n case 2:\n paddingArray = [...paddingArray, ...paddingArray];\n break;\n case 3:\n paddingArray = [...paddingArray, paddingArray[1]];\n break;\n default:\n // 其他情况,只去四个\n paddingArray = paddingArray.slice(0, 4);\n break;\n }\n\n return paddingArray as [number, number, number, number];\n}\n","import { ControllerCtor } from './base';\n\nconst LOAD_COMPONENT_CONTROLLERS: Record = {};\n\n/**\n * 全局注册组件。\n * @param name 组件名称\n * @param plugin 注册的组件类\n * @returns void\n */\nexport function registerComponentController(name: string, plugin: ControllerCtor) {\n LOAD_COMPONENT_CONTROLLERS[name] = plugin;\n}\n\n/**\n * 删除全局组件。\n * @param name 组件名\n * @returns void\n */\nexport function unregisterComponentController(name: string) {\n delete LOAD_COMPONENT_CONTROLLERS[name];\n}\n\n/**\n * 获取以注册的组件名。\n * @returns string[] 返回已注册的组件名称\n */\nexport function getComponentControllerNames(): string[] {\n return Object.keys(LOAD_COMPONENT_CONTROLLERS);\n}\n\n/**\n * 根据组件名获取组件类。\n * @param name 组件名\n * @returns 返回组件类\n */\nexport function getComponentController(name: string): ControllerCtor {\n return LOAD_COMPONENT_CONTROLLERS[name];\n}\n","import { each, isNil, some } from '@antv/util';\nimport { Coordinate, getCoordinate, Point } from '../../dependents';\nimport { CoordinateOption } from '../../interface';\n\n/**\n * coordinate controller,职责:\n * 1. 创建实例\n * 2. 暂存配置\n */\nexport default class CoordinateController {\n private option: CoordinateOption;\n private coordinate: Coordinate;\n\n constructor(option?: CoordinateOption) {\n // 设置默认值,并存储配置\n this.option = this.wrapperOption(option);\n }\n\n /**\n * 更新配置\n * @param option\n */\n public update(option: CoordinateOption) {\n this.option = this.wrapperOption(option);\n return this;\n }\n\n /**\n * 是否存在某一个 action\n * @param actionName\n */\n public hasAction(actionName: string) {\n const { actions } = this.option;\n\n return some(actions, (action) => action[0] === actionName);\n }\n /**\n * 创建坐标系对象\n * @param start 起始位置\n * @param end 结束位置\n * @return 坐标系实例\n */\n public create(start: Point, end: Point) {\n const { type, cfg } = this.option;\n const isTheta = type === 'theta';\n\n // 1. 起始位置\n const props = {\n start,\n end,\n ...cfg,\n };\n\n // 2. 创建实例\n const C = getCoordinate(isTheta ? 'polar' : type);\n\n this.coordinate = new C(props);\n\n // @ts-ignore FIXME coordinate 包问题导致 type 不正确\n this.coordinate.type = type;\n\n // 3. 添加默认 action\n if (isTheta) {\n // 不存在 transpose,为其自动设置一个 action\n if (!this.hasAction('transpose')) {\n this.transpose();\n }\n }\n\n // 4. 执行 action\n this.execActions();\n\n return this.coordinate;\n }\n\n /**\n * 更新坐标系对象\n * @param start 起始位置\n * @param end 结束位置\n * @return 坐标系实例\n */\n public adjust(start: Point, end: Point) {\n this.coordinate.update({\n start,\n end,\n });\n\n // 更新坐标系大小的时候,需要:\n // 1. 重置 matrix\n // 2. 重新执行作用于 matrix 的 action\n this.coordinate.resetMatrix();\n this.execActions(['scale', 'rotate', 'translate']);\n\n return this.coordinate;\n }\n\n /**\n * 旋转弧度\n * @param angle\n */\n public rotate(angle: number) {\n this.option.actions.push(['rotate', angle]);\n return this;\n }\n\n /**\n * 镜像\n * @param dim\n */\n public reflect(dim: 'x' | 'y') {\n this.option.actions.push(['reflect', dim]);\n return this;\n }\n\n /**\n * scale\n * @param sx\n * @param sy\n */\n public scale(sx: number, sy: number) {\n this.option.actions.push(['scale', sx, sy]);\n return this;\n }\n\n /**\n * 对角变换\n */\n public transpose() {\n this.option.actions.push(['transpose']);\n return this;\n }\n\n /**\n * 获取配置\n */\n public getOption(): CoordinateOption {\n return this.option;\n }\n\n /**\n * 获得 coordinate 实例\n */\n public getCoordinate() {\n return this.coordinate;\n }\n\n /**\n * 包装配置的默认值\n * @param option\n */\n private wrapperOption(option: CoordinateOption): CoordinateOption {\n return {\n type: 'rect',\n actions: [],\n cfg: {},\n ...option,\n };\n }\n\n /**\n * coordinate 实例执行 actions\n * @params includeActions 如果没有指定,则执行全部,否则,执行指定的 action\n */\n private execActions(includeActions?: string[]) {\n const { actions } = this.option;\n\n each(actions, (action) => {\n const [actionName, ...args] = action;\n\n const shouldExec = isNil(includeActions) ? true : includeActions.includes(actionName);\n\n if (shouldExec) {\n this.coordinate[actionName](...args);\n }\n });\n }\n}\n","import { Event as GEvent, IShape } from '../dependents';\nimport { Datum } from '../interface';\nimport View from './view';\n\n/**\n * @todo Whether it can(or necessary to) keep consistent with the structure of G.Event or directly use the structure of G.Event\n * G2 事件的事件包装类,基于 G.Event\n */\nexport default class Event {\n /** 当前 target 归属的 view 实例 */\n public view: View;\n /** 被包装的原生 G 事件 */\n public gEvent: GEvent;\n /** 原始数据 */\n public data?: Datum;\n /** 事件类型 */\n public type: string;\n\n constructor(view: View, gEvent: GEvent, data?: Datum) {\n this.view = view;\n this.gEvent = gEvent;\n this.data = data;\n this.type = gEvent.type;\n }\n\n /**\n * 非交互产生的事件\n * @param view\n * @param type\n * @param data\n */\n public static fromData(view: View, type: string, data: Datum) {\n return new Event(view, new GEvent(type, {}), data);\n }\n\n // below props are proxy props of G.event convenient\n\n /** the real trigger shape of the event */\n public get target(): IShape {\n // @todo G 中事件定义为 object 不正确,这里先 ignore\n // @ts-ignore\n return this.gEvent.target;\n }\n\n /** 获取对应的 dom 原生时间 */\n public get event(): any {\n return this.gEvent.originalEvent;\n }\n\n /** x 画布坐标 */\n public get x(): number {\n return this.gEvent.x;\n }\n\n /** y 画布坐标 */\n public get y(): number {\n return this.gEvent.y;\n }\n\n /** x 窗口坐标 */\n public get clientX(): number {\n return this.gEvent.clientX;\n }\n\n /** y 窗口坐标 */\n public get clientY(): number {\n return this.gEvent.clientY;\n }\n // end for proxy events\n\n /**\n * event string\n * @returns string\n */\n public toString(): string {\n return `[Event (type=${this.type})]`;\n }\n\n /**\n * clone a new event with same attributes\n * @returns [[Event]]\n */\n public clone(): Event {\n return new Event(this.view, this.gEvent, this.data);\n }\n}\n","import { Controller } from '../controller/base';\nimport View from '../view';\n\n// 布局函数的定义\n// 布局函数的职责:根据 view 中组件信息,计算出最终的图形 padding 数值,以及最终各个组件的布局和位置\nexport type Layout = (view: View) => void;\n\n/**\n * @ignore\n * G2 默认提供的 layout 函数\n * 内置布局函数处理的逻辑:\n *\n * 1. 如果 padding = 'auto',那么自动根据组件的 direction 来计算 padding 数组\n * 2. 根据 padding 和 direction 去分配对应方向的 padding 数值\n * 3. 移动组件位置\n *\n * 前面 1,2 步骤在 view 中已经做掉了。对于组件响应式布局,可以尝试使用约束布局的方式去求解位置信息。\n * @param view\n */\nexport default function defaultLayout(view: View): void {\n const axis = view.getController('axis');\n const legend = view.getController('legend');\n const annotation = view.getController('annotation');\n const slider = view.getController('slider');\n const scrollbar = view.getController('scrollbar');\n\n // 根据最新的 coordinate 重新布局组件\n [axis, slider, scrollbar, legend, annotation].forEach((controller: Controller) => {\n if (controller) {\n controller.layout();\n }\n });\n}\n","/**\n * view 中缓存 scale 的类\n */\nimport { deepMix, each, get, isNumber, last } from '@antv/util';\nimport { Scale, Coordinate } from '../../dependents';\nimport { Data, LooseObject, ScaleOption, ViewCfg } from '../../interface';\nimport { createScaleByField, syncScale, getDefaultCategoryScaleRange } from '../../util/scale';\n\n/** @ignore */\ninterface ScaleMeta {\n readonly key: string;\n readonly scale: Scale;\n scaleDef: ScaleOption;\n syncKey?: string;\n}\n\n/** @ignore */\nexport class ScalePool {\n /** 所有的 scales */\n private scales = new Map();\n /** 需要同步的 scale 分组, key: scaleKeyArray */\n private syncScales = new Map();\n\n /**\n * 创建 scale\n * @param field\n * @param data\n * @param scaleDef\n * @param key\n */\n public createScale(field: string, data: Data, scaleDef: ScaleOption, key: string): Scale {\n let finalScaleDef = scaleDef;\n\n const cacheScaleMeta = this.getScaleMeta(key);\n if (data.length === 0 && cacheScaleMeta) {\n // 在更新过程中数据变为空,同时 key 对应的 scale 已存在则保持 scale 同类型\n const cacheScale = cacheScaleMeta.scale;\n const cacheScaleDef: LooseObject = {\n type: cacheScale.type,\n };\n if (cacheScale.isCategory) {\n // 如果是分类类型,保持 values\n cacheScaleDef.values = cacheScale.values;\n }\n finalScaleDef = deepMix(cacheScaleDef, cacheScaleMeta.scaleDef, scaleDef);\n }\n\n const scale = createScaleByField(field, data, finalScaleDef);\n\n // 缓存起来\n this.cacheScale(scale, scaleDef, key);\n\n return scale;\n }\n\n /**\n * 同步 scale\n */\n public sync(coordinate: Coordinate, theme: ViewCfg['theme']) {\n // 对于 syncScales 中每一个 syncKey 下面的 scale 数组进行同步处理\n this.syncScales.forEach((scaleKeys: string[], syncKey: string) => {\n // min, max, values, ranges\n let min = Number.MAX_SAFE_INTEGER;\n let max = Number.MIN_SAFE_INTEGER;\n const values = [];\n\n // 1. 遍历求得最大最小值,values 等\n each(scaleKeys, (key: string) => {\n const scale = this.getScale(key);\n\n max = isNumber(scale.max) ? Math.max(max, scale.max) : max;\n min = isNumber(scale.min) ? Math.min(min, scale.min) : min;\n\n // 去重\n each(scale.values, (v: any) => {\n if (!values.includes(v)) {\n values.push(v);\n }\n });\n });\n\n // 2. 同步\n each(scaleKeys, (key: string) => {\n const scale = this.getScale(key);\n\n if (scale.isContinuous) {\n scale.change({\n min,\n max,\n values,\n });\n } else if (scale.isCategory) {\n let range = scale.range;\n const cacheScaleMeta = this.getScaleMeta(key);\n\n // 存在 value 值,且用户没有配置 range 配置 to fix https://github.com/antvis/G2/issues/2996\n if (values && !get(cacheScaleMeta, ['scaleDef', 'range'])) {\n // 更新 range\n range = getDefaultCategoryScaleRange(\n deepMix({}, scale, {\n values,\n }),\n coordinate,\n theme\n );\n }\n scale.change({\n values,\n range,\n });\n }\n });\n });\n }\n\n /**\n * 缓存一个 scale\n * @param scale\n * @param scaleDef\n * @param key\n */\n private cacheScale(scale: Scale, scaleDef: ScaleOption, key: string) {\n // 1. 缓存到 scales\n\n let sm = this.getScaleMeta(key);\n // 存在则更新,同时检测类型是否一致\n if (sm && sm.scale.type === scale.type) {\n syncScale(sm.scale, scale);\n sm.scaleDef = scaleDef;\n // 更新 scaleDef\n } else {\n sm = {\n key,\n scale,\n scaleDef,\n };\n\n this.scales.set(key, sm);\n }\n\n // 2. 缓存到 syncScales,构造 Record 数据结构\n const syncKey = this.getSyncKey(sm);\n sm.syncKey = syncKey; // 设置 sync 同步的 key\n\n // 因为存在更新 scale 机制,所以在缓存之前,先从原 syncScales 中去除 sync 的缓存引用\n this.removeFromSyncScales(key);\n\n // 存在 sync 标记才进行 sync\n if (syncKey) {\n // 不存在这个 syncKey,则创建一个空数组\n let scaleKeys = this.syncScales.get(syncKey);\n if (!scaleKeys) {\n scaleKeys = [];\n this.syncScales.set(syncKey, scaleKeys);\n }\n scaleKeys.push(key);\n }\n }\n\n /**\n * 通过 key 获取 scale\n * @param key\n */\n public getScale(key: string): Scale {\n let scaleMeta = this.getScaleMeta(key);\n if (!scaleMeta) {\n const field = last(key.split('-'));\n const scaleKeys = this.syncScales.get(field);\n if (scaleKeys && scaleKeys.length) {\n scaleMeta = this.getScaleMeta(scaleKeys[0]);\n }\n }\n return scaleMeta && scaleMeta.scale;\n }\n\n /**\n * 在 view 销毁的时候,删除 scale 实例,防止内存泄露\n * @param key\n */\n public deleteScale(key: string) {\n const scaleMeta = this.getScaleMeta(key);\n if (scaleMeta) {\n const { syncKey } = scaleMeta;\n\n const scaleKeys = this.syncScales.get(syncKey);\n\n // 移除同步的关系\n if (scaleKeys && scaleKeys.length) {\n const idx = scaleKeys.indexOf(key);\n\n if (idx !== -1) {\n scaleKeys.splice(idx, 1);\n }\n }\n }\n\n // 删除 scale 实例\n this.scales.delete(key);\n }\n\n /**\n * 清空\n */\n public clear() {\n this.scales.clear();\n this.syncScales.clear();\n }\n\n /**\n * 删除 sync scale 引用\n * @param key\n */\n private removeFromSyncScales(key: string) {\n this.syncScales.forEach((scaleKeys: string[], syncKey: string) => {\n const idx = scaleKeys.indexOf(key);\n\n if (idx !== -1) {\n scaleKeys.splice(idx, 1);\n\n // 删除空数组值\n if (scaleKeys.length === 0) {\n this.syncScales.delete(syncKey);\n }\n\n return false; // 跳出循环\n }\n });\n }\n\n /**\n * get sync key\n * @param sm\n */\n private getSyncKey(sm: ScaleMeta): string {\n const { scale, scaleDef } = sm;\n const { field } = scale;\n const sync = get(scaleDef, ['sync']);\n\n // 如果 sync = true,则直接使用字段名作为 syncKey\n return sync === true ? field : sync === false ? undefined : sync;\n }\n\n /**\n * 通过 key 获取 scale\n * @param key\n */\n private getScaleMeta(key: string): ScaleMeta {\n return this.scales.get(key);\n }\n}\n","import { DIRECTION } from '../../constant';\nimport { BBox } from '../../dependents';\nimport { Padding } from '../../interface';\n\nexport type PaddingCalCtor = {\n readonly instance: (top?: number, right?: number, bottom?: number, left?: number) => PaddingCal;\n};\n\n/** @ignore */\nexport class PaddingCal {\n private top: number;\n private right: number;\n private bottom: number;\n private left: number;\n\n /**\n * 使用静态方法创建一个\n * @param top\n * @param right\n * @param bottom\n * @param left\n */\n public static instance(top: number = 0, right: number = 0, bottom: number = 0, left: number = 0) {\n return new PaddingCal(top, right, bottom, left);\n }\n\n /**\n * 初始的 padding 数据\n * @param top\n * @param right\n * @param bottom\n * @param left\n */\n constructor(top: number = 0, right: number = 0, bottom: number = 0, left: number = 0) {\n this.top = top;\n this.right = right;\n this.bottom = bottom;\n this.left = left;\n }\n\n /**\n * 取最大区间\n * @param padding\n */\n public max(padding: Padding): PaddingCal {\n const [top, right, bottom, left] = padding;\n\n this.top = Math.max(this.top, top);\n this.right = Math.max(this.right, right);\n this.bottom = Math.max(this.bottom, bottom);\n this.left = Math.max(this.left, left);\n\n return this;\n }\n\n /**\n * 四周增加 padding\n * @param padding\n */\n public shrink(padding: Padding): PaddingCal {\n const [top, right, bottom, left] = padding;\n\n this.top += top;\n this.right += right;\n this.bottom += bottom;\n this.left += left;\n\n return this;\n }\n\n /**\n * 在某一个方向增加 padding\n * @param bbox\n * @param direction\n */\n public inc(bbox: BBox, direction: DIRECTION): PaddingCal {\n const { width, height } = bbox;\n\n switch (direction) {\n case DIRECTION.TOP:\n case DIRECTION.TOP_LEFT:\n case DIRECTION.TOP_RIGHT:\n this.top += height;\n break;\n\n case DIRECTION.RIGHT:\n case DIRECTION.RIGHT_TOP:\n case DIRECTION.RIGHT_BOTTOM:\n this.right += width;\n break;\n\n case DIRECTION.BOTTOM:\n case DIRECTION.BOTTOM_LEFT:\n case DIRECTION.BOTTOM_RIGHT:\n this.bottom += height;\n break;\n\n case DIRECTION.LEFT:\n case DIRECTION.LEFT_TOP:\n case DIRECTION.LEFT_BOTTOM:\n this.left += width;\n break;\n default:\n break;\n }\n\n return this;\n }\n\n /**\n * 获得最终的 padding\n */\n public getPadding(): Padding {\n return [this.top, this.right, this.bottom, this.left];\n }\n\n /**\n * clone 一个 padding cal\n */\n public clone(): PaddingCal {\n return new PaddingCal(...this.getPadding());\n }\n}\n","import { each } from '@antv/util';\nimport { COMPONENT_TYPE } from '../../constant';\nimport { ComponentOption, Padding } from '../../interface';\nimport { BBox } from '../../util/bbox';\nimport { isAutoPadding, parsePadding } from '../../util/padding';\nimport View from '../view';\nimport { PaddingCal } from './padding-cal';\n\n/**\n * @ignore\n * 根据 view 中的组件,计算实际的 padding 数值\n * @param view\n */\nexport function calculatePadding(view: View): PaddingCal {\n const padding = view.padding;\n\n // 如果不是 auto padding,那么直接解析之后返回\n if (!isAutoPadding(padding)) {\n return new PaddingCal(...parsePadding(padding));\n }\n\n // 是 auto padding,根据组件的情况,来计算 padding\n const { viewBBox } = view;\n\n const paddingCal = new PaddingCal();\n\n const axisComponents = [];\n const paddingComponents = [];\n const otherComponents = [];\n\n each(view.getComponents(), (co: ComponentOption) => {\n const { type } = co;\n if (type === COMPONENT_TYPE.AXIS) {\n axisComponents.push(co);\n } else if ([COMPONENT_TYPE.LEGEND, COMPONENT_TYPE.SLIDER, COMPONENT_TYPE.SCROLLBAR].includes(type)) {\n paddingComponents.push(co);\n } else if (type !== COMPONENT_TYPE.GRID && type !== COMPONENT_TYPE.TOOLTIP) {\n otherComponents.push(co);\n }\n });\n\n // 进行坐标轴布局,应该是取 padding 的并集,而不是进行相加\n each(axisComponents, (co: ComponentOption) => {\n const { component } = co;\n const bboxObject = component.getLayoutBBox();\n const componentBBox = new BBox(bboxObject.x, bboxObject.y, bboxObject.width, bboxObject.height);\n\n const exceed = componentBBox.exceed(viewBBox);\n\n // 在对组件分组之后,先对 axis 进行处理,然后取最大的超出即可。\n paddingCal.max(exceed);\n });\n\n // 有 padding 的组件布局\n each(paddingComponents, (co: ComponentOption) => {\n const { component, direction } = co;\n const bboxObject = component.getLayoutBBox();\n const componentPadding: Padding = component.get('padding');\n const componentBBox = new BBox(bboxObject.x, bboxObject.y, bboxObject.width, bboxObject.height).expand(\n componentPadding\n );\n // 按照方向计算 padding\n paddingCal.inc(componentBBox, direction);\n });\n\n // 其他组件布局\n each(otherComponents, (co: ComponentOption) => {\n const { component, direction } = co;\n const bboxObject = component.getLayoutBBox();\n const componentBBox = new BBox(bboxObject.x, bboxObject.y, bboxObject.width, bboxObject.height);\n // 按照方向计算 padding\n paddingCal.inc(componentBBox, direction);\n });\n\n return paddingCal;\n}\n","import { PaddingCalCtor } from '../layout/padding-cal';\nimport { View } from '../view';\n\n/**\n * 默认的 syncViewPadding 逻辑\n * @param chart\n * @param views\n * @param PC: PaddingCalCtor\n */\nexport function defaultSyncViewPadding(chart: View, views: View[], PC: PaddingCalCtor) {\n const syncPadding = PC.instance();\n\n // 所有的 view 的 autoPadding 指向同一个引用\n views.forEach((v: View) => {\n v.autoPadding = syncPadding.max(v.autoPadding.getPadding());\n });\n}\n","import {\n clone,\n deepMix,\n each,\n filter,\n find,\n flatten,\n get,\n isBoolean,\n isFunction,\n isNil,\n isObject,\n isString,\n isUndefined,\n mix,\n remove,\n set,\n size,\n uniqueId,\n isEqual,\n isPlainObject,\n reduce,\n} from '@antv/util';\nimport { Attribute, Coordinate, Event as GEvent, GroupComponent, ICanvas, IGroup, IShape, Scale } from '../dependents';\nimport {\n AxisOption,\n ComponentOption,\n CoordinateCfg,\n CoordinateOption,\n Data,\n Datum,\n FacetCfgMap,\n FilterCondition,\n GeometryOption,\n LegendOption,\n LooseObject,\n Options,\n Point,\n Region,\n ScaleOption,\n TooltipOption,\n ViewCfg,\n ViewPadding,\n ViewAppendPadding,\n EventPayload,\n Padding,\n} from '../interface';\nimport { GROUP_Z_INDEX, LAYER, PLOT_EVENTS, VIEW_LIFE_CIRCLE } from '../constant';\nimport Base from '../base';\nimport { Facet, getFacet } from '../facet';\nimport Geometry from '../geometry/base';\nimport Element from '../geometry/element';\nimport { createInteraction, Interaction } from '../interaction';\nimport { getTheme } from '../theme';\nimport { BBox } from '../util/bbox';\nimport { getCoordinateClipCfg, isPointInCoordinate } from '../util/coordinate';\nimport { uniq } from '../util/helper';\nimport { findDataByPoint } from '../util/tooltip';\nimport { parsePadding } from '../util/padding';\nimport { getDefaultCategoryScaleRange } from '../util/scale';\nimport { createTheme } from '../theme/util';\nimport Chart from './chart';\nimport { getComponentController, getComponentControllerNames } from './controller';\nimport Annotation from './controller/annotation';\nimport { Controller } from './controller/base';\nimport CoordinateController from './controller/coordinate';\nimport Tooltip from './controller/tooltip';\nimport Slider from './controller/slider';\nimport Scrollbar from './controller/scrollbar';\nimport Axis from './controller/axis';\nimport Gesture from './controller/gesture';\nimport Legend from './controller/legend';\nimport Event from './event';\nimport defaultLayout, { Layout } from './layout';\nimport { ScalePool } from './util/scale-pool';\nimport { PaddingCal } from './layout/padding-cal';\nimport { calculatePadding } from './layout/auto';\nimport { defaultSyncViewPadding } from './util/sync-view-padding';\n\n/**\n * G2 视图 View 类\n */\nexport class View extends Base {\n /** view id,全局唯一。 */\n public id: string;\n /** 父级 view,如果没有父级,则为空。 */\n public parent: View;\n /** 所有的子 view。 */\n public views: View[] = [];\n /** 所有的 geometry 实例。 */\n public geometries: Geometry[] = [];\n /** 所有的组件 controllers。 */\n public controllers: Controller[] = [];\n /** 所有的 Interaction 实例。 */\n public interactions: Record = {};\n\n /** view 区域空间。 */\n public viewBBox: BBox;\n /** 坐标系的位置大小,ViewBBox - padding = coordinateBBox。 */\n public coordinateBBox: BBox;\n /** view 的 padding 大小,传入的配置(不是解析之后的值)。 */\n public padding: ViewPadding;\n /** padding的基础上增加的调整值 */\n public appendPadding: ViewAppendPadding;\n /** G.Canvas 实例。 */\n public canvas: ICanvas;\n /** 存储最终计算的 padding 结果 */\n public autoPadding: PaddingCal;\n\n /** 三层 Group 图形中的背景层。 */\n public backgroundGroup: IGroup;\n /** 三层 Group 图形中的中间层。 */\n public middleGroup: IGroup;\n /** 三层 Group 图形中的前景层。 */\n public foregroundGroup: IGroup;\n /** 是否对超出坐标系范围的 Geometry 进行剪切 */\n public limitInPlot: boolean = false;\n\n /**\n * 标记 view 的大小位置范围,均是 0 ~ 1 范围,便于开发者使用,起始点为左上角。\n */\n protected region: Region;\n /** 主题配置,存储当前主题配置。 */\n protected themeObject: LooseObject;\n\n // 配置信息存储\n protected options: Options = {\n data: [],\n animate: true, // 默认开启动画\n }; // 初始化为空\n\n /** 过滤之后的数据 */\n protected filteredData: Data;\n\n /** 配置开启的组件插件,默认为全局配置的组件。 */\n private usedControllers: string[] = getComponentControllerNames();\n\n /** 所有的 scales */\n private scalePool: ScalePool = new ScalePool();\n\n /** 布局函数 */\n protected layoutFunc: Layout = defaultLayout;\n /** 生成的坐标系实例,{@link https://github.com/antvis/coord/blob/master/src/coord/base.ts|Coordinate} */\n protected coordinateInstance: Coordinate;\n /** Coordinate 相关的控制器类,负责坐标系实例的创建、更新、变换等 */\n protected coordinateController: CoordinateController;\n /** 分面类实例 */\n protected facetInstance: Facet;\n\n /** 当前鼠标是否在 plot 内(CoordinateBBox) */\n private isPreMouseInPlot: boolean = false;\n /** 默认标识位,用于判定数据是否更新 */\n private isDataChanged: boolean = false;\n /** 用于判断坐标系范围是否发生变化的标志位 */\n private isCoordinateChanged: boolean = false;\n /** 从当前这个 view 创建的 scale key */\n private createdScaleKeys = new Map();\n /** 背景色样式的 shape */\n private backgroundStyleRectShape;\n /** 是否同步子 view 的 padding */\n private syncViewPadding;\n\n constructor(props: ViewCfg) {\n super({ visible: props.visible });\n\n const {\n id = uniqueId('view'),\n parent,\n canvas,\n backgroundGroup,\n middleGroup,\n foregroundGroup,\n region = { start: { x: 0, y: 0 }, end: { x: 1, y: 1 } },\n padding,\n appendPadding,\n theme,\n options,\n limitInPlot,\n syncViewPadding,\n } = props;\n\n this.parent = parent;\n this.canvas = canvas;\n this.backgroundGroup = backgroundGroup;\n this.middleGroup = middleGroup;\n this.foregroundGroup = foregroundGroup;\n this.region = region;\n this.padding = padding;\n this.appendPadding = appendPadding;\n // 接受父 view 传入的参数\n this.options = { ...this.options, ...options };\n this.limitInPlot = limitInPlot;\n this.id = id;\n this.syncViewPadding = syncViewPadding;\n\n // 初始化 theme\n this.themeObject = isObject(theme) ? deepMix({}, getTheme('default'), createTheme(theme)) : getTheme(theme);\n this.init();\n }\n\n /**\n * 设置 layout 布局函数\n * @param layout 布局函数\n * @returns void\n */\n public setLayout(layout: Layout) {\n this.layoutFunc = layout;\n }\n\n /**\n * 生命周期:初始化\n * @returns voids\n */\n public init() {\n // 计算画布的 viewBBox\n this.calculateViewBBox();\n\n // 事件委托机制\n this.initEvents();\n\n // 初始化组件 controller\n this.initComponentController();\n\n this.initOptions();\n }\n\n /**\n * 生命周期:渲染流程,渲染过程需要处理数据更新的情况。\n * render 函数仅仅会处理 view 和子 view。\n * @param isUpdate 是否触发更新流程。\n * @param params render 事件参数\n */\n public render(isUpdate: boolean = false, payload?: EventPayload) {\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_RENDER, Event.fromData(this, VIEW_LIFE_CIRCLE.BEFORE_RENDER, payload));\n // 递归渲染\n this.paint(isUpdate);\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_RENDER, Event.fromData(this, VIEW_LIFE_CIRCLE.AFTER_RENDER, payload));\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 生命周期:清空图表上所有的绘制内容,但是不销毁图表,chart 仍可使用。\n * @returns void\n */\n public clear() {\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_CLEAR);\n // 1. 清空缓存和计算数据\n this.filteredData = [];\n this.coordinateInstance = undefined;\n this.isDataChanged = false; // 复位\n this.isCoordinateChanged = false; // 复位\n\n // 2. 清空 geometries\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n geometries[i].clear();\n // view 中使用 geometry 的时候,还需要清空它的容器,不然下一次 chart.geometry() 的时候,又创建了一个,导致泄露, #2799。\n geometries[i].container.remove(true);\n geometries[i].labelsContainer.remove(true);\n }\n this.geometries = [];\n\n // 3. 清空 controllers\n const controllers = this.controllers;\n for (let i = 0; i < controllers.length; i++) {\n if (controllers[i].name === 'annotation') {\n // 需要清空配置项\n (controllers[i] as Annotation).clear(true);\n } else {\n controllers[i].clear();\n }\n }\n\n // 4. 删除 scale 缓存\n this.createdScaleKeys.forEach((v: boolean, k: string) => {\n this.getRootView().scalePool.deleteScale(k);\n });\n this.createdScaleKeys.clear();\n\n // 递归处理子 view\n const views = this.views;\n for (let i = 0; i < views.length; i++) {\n views[i].clear();\n }\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_CLEAR);\n }\n\n /**\n * 生命周期:销毁,完全无法使用。\n * @returns void\n */\n public destroy() {\n // 销毁前事件,销毁之后已经没有意义了,所以不抛出事件\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_DESTROY);\n const interactions = this.interactions;\n // 销毁 interactions\n each(interactions, (interaction) => {\n if (interaction) {\n // 有可能已经销毁,设置了 undefined\n interaction.destroy();\n }\n });\n\n this.clear();\n\n // 销毁 controller 中的组件\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n controller.destroy();\n }\n\n this.backgroundGroup.remove(true);\n this.middleGroup.remove(true);\n this.foregroundGroup.remove(true);\n\n super.destroy();\n }\n /* end 生命周期函数 */\n\n /**\n * 显示或者隐藏整个 view。\n * @param visible 是否可见\n * @returns View\n */\n public changeVisible(visible: boolean): View {\n super.changeVisible(visible);\n\n const geometries = this.geometries;\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n geometry.changeVisible(visible);\n }\n\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n controller.changeVisible(visible);\n }\n\n this.foregroundGroup.set('visible', visible);\n this.middleGroup.set('visible', visible);\n this.backgroundGroup.set('visible', visible);\n\n // group.set('visible', visible) 不会触发自动刷新\n this.getCanvas().draw();\n\n return this;\n }\n\n /**\n * 装载数据源。\n *\n * ```ts\n * view.data([{ city: '杭州', sale: 100 }, { city: '上海', sale: 110 } ]);\n * ```\n *\n * @param data 数据源,json 数组。\n * @returns View\n */\n public data(data: Data): View {\n set(this.options, 'data', data);\n this.isDataChanged = true;\n return this;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #data(data)}\n */\n public source(data: Data): View {\n console.warn('This method will be removed at G2 V4.1. Please use chart.data() instead.');\n return this.data(data);\n }\n\n /**\n * 设置数据筛选规则。\n *\n * ```ts\n * view.filter('city', (value: any, datum: Datum) => value !== '杭州');\n *\n * // 删除 'city' 字段对应的筛选规则。\n * view.filter('city', null);\n * ```\n *\n * @param field 数据字段\n * @param condition 筛选规则\n * @returns View\n */\n public filter(field: string, condition: FilterCondition | null): View {\n if (isFunction(condition)) {\n set(this.options, ['filters', field], condition);\n return this;\n }\n // condition 为空,则表示删除过滤条件\n if (!condition && get(this.options, ['filters', field])) {\n delete this.options.filters[field];\n }\n\n return this;\n }\n\n /**\n * 开启或者关闭坐标轴。\n *\n * ```ts\n * view.axis(false); // 不展示坐标轴\n * ```\n * @param field 坐标轴开关\n */\n public axis(field: boolean): View;\n /**\n * 对特定的某条坐标轴进行配置。\n *\n * @example\n * ```ts\n * view.axis('city', false); // 不展示 'city' 字段对应的坐标轴\n *\n * // 将 'city' 字段对应的坐标轴的标题隐藏\n * view.axis('city', {\n * title: null,\n * });\n * ```\n *\n * @param field 要配置的坐标轴对应的字段名称\n * @param axisOption 坐标轴具体配置,更详细的配置项可以参考:https://github.com/antvis/component#axis\n */\n public axis(field: string, axisOption: AxisOption): View;\n public axis(field: string | boolean, axisOption?: AxisOption): View {\n if (isBoolean(field)) {\n set(this.options, ['axes'], field);\n } else {\n set(this.options, ['axes', field], axisOption);\n }\n\n return this;\n }\n\n /**\n * 对图例进行整体配置。\n *\n * ```ts\n * view.legend(false); // 关闭图例\n *\n * view.legend({\n * position: 'right',\n * }); // 图例进行整体配置\n * ```\n * @param field\n * @returns View\n */\n public legend(field: LegendOption): View;\n /**\n * 对特定的图例进行配置。\n *\n * @example\n * ```ts\n * view.legend('city', false); // 关闭某个图例,通过数据字段名进行关联\n *\n * // 对特定的图例进行配置\n * view.legend('city', {\n * position: 'right',\n * });\n * ```\n *\n * @param field 图例对应的数据字段名称\n * @param legendOption 图例配置,更详细的配置项可以参考:https://github.com/antvis/component#axis\n * @returns View\n */\n public legend(field: string, legendOption: LegendOption): View;\n public legend(field: string | LegendOption, legendOption?: LegendOption): View {\n if (isBoolean(field)) {\n set(this.options, ['legends'], field);\n } else if (isString(field)) {\n set(this.options, ['legends', field], legendOption);\n if (isPlainObject(legendOption) && legendOption?.selected) {\n set(this.options, ['filters', field], (name: string) => {\n return legendOption?.selected[name] ?? true;\n });\n }\n } else {\n // 设置全局的 legend 配置\n set(this.options, ['legends'], field);\n }\n\n return this;\n }\n\n /**\n * 批量设置 scale 配置。\n *\n * ```ts\n * view.scale({\n * sale: {\n * min: 0,\n * max: 100,\n * }\n * });\n * ```\n * Scale 的详细配置项可以参考:https://github.com/antvis/scale#api\n * @returns View\n */\n public scale(field: Record): View;\n /**\n * 为特性的数据字段进行 scale 配置。\n *\n * ```ts\n * view.scale('sale', {\n * min: 0,\n * max: 100,\n * });\n * ```\n *\n * @returns View\n */\n public scale(field: string, scaleOption: ScaleOption): View;\n public scale(field: string | Record, scaleOption?: ScaleOption): View {\n if (isString(field)) {\n set(this.options, ['scales', field], scaleOption);\n } else if (isObject(field)) {\n each(field, (v: ScaleOption, k: string) => {\n set(this.options, ['scales', k], v);\n });\n }\n\n return this;\n }\n\n /**\n * tooltip 提示信息配置。\n *\n * ```ts\n * view.tooltip(false); // 关闭 tooltip\n *\n * view.tooltip({\n * shared: true\n * });\n * ```\n *\n * @param cfg Tooltip 配置,更详细的配置项参考:https://github.com/antvis/component#tooltip\n * @returns View\n */\n public tooltip(cfg: boolean | TooltipOption): View {\n set(this.options, 'tooltip', cfg);\n\n return this;\n }\n\n /**\n * 辅助标记配置。\n *\n * ```ts\n * view.annotation().line({\n * start: ['min', 85],\n * end: ['max', 85],\n * style: {\n * stroke: '#595959',\n * lineWidth: 1,\n * lineDash: [3, 3],\n * },\n * });\n * ```\n * 更详细的配置项:https://github.com/antvis/component#annotation\n * @returns [[Annotation]]\n */\n public annotation(): Annotation {\n return this.getController('annotation');\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #guide()}\n */\n public guide(): Annotation {\n console.warn('This method will be removed at G2 V4.1. Please use chart.annotation() instead.');\n return this.annotation();\n }\n\n /**\n * 坐标系配置。\n *\n * @example\n * ```ts\n * view.coordinate({\n * type: 'polar',\n * cfg: {\n * radius: 0.85,\n * },\n * actions: [\n * [ 'transpose' ],\n * ],\n * });\n * ```\n *\n * @param option\n * @returns\n */\n public coordinate(option?: CoordinateOption): CoordinateController;\n /**\n * 声明坐标系类型,并进行配置。\n *\n * ```ts\n * // 直角坐标系,并进行转置变换\n * view.coordinate('rect').transpose();\n *\n * // 默认创建直角坐标系\n * view.coordinate();\n * ```\n *\n * @param type 坐标系类型\n * @param [coordinateCfg] 坐标系配置\n * @returns\n */\n public coordinate(type: string, coordinateCfg?: CoordinateCfg): CoordinateController;\n public coordinate(type: string | CoordinateOption, coordinateCfg?: CoordinateCfg): CoordinateController {\n // 提供语法糖,使用更简单\n if (isString(type)) {\n set(this.options, 'coordinate', { type, cfg: coordinateCfg } as CoordinateOption);\n } else {\n set(this.options, 'coordinate', type);\n }\n\n // 更新 coordinate 配置\n this.coordinateController.update(this.options.coordinate);\n\n return this.coordinateController;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #coordinate()}\n */\n public coord(type: string | CoordinateOption, coordinateCfg?: CoordinateCfg): CoordinateController {\n console.warn('This method will be removed at G2 V4.1. Please use chart.coordinate() instead.');\n // @ts-ignore\n return this.coordinate(type, coordinateCfg);\n }\n\n /**\n * view 分面绘制。\n *\n * ```ts\n * view.facet('rect', {\n * rowField: 'province',\n * columnField: 'category',\n * eachView: (innerView: View, facet?: FacetData) => {\n * innerView.line().position('city*sale');\n * },\n * });\n * ```\n *\n * @param type 分面类型\n * @param cfg 分面配置, [[FacetCfgMap]]\n * @returns View\n */\n public facet(type: T, cfg: FacetCfgMap[T]): View {\n // 先销毁掉之前的分面\n if (this.facetInstance) {\n this.facetInstance.destroy();\n }\n\n // 创建新的分面\n const Ctor = getFacet(type);\n\n if (!Ctor) {\n throw new Error(`facet '${type}' is not exist!`);\n }\n\n this.facetInstance = new Ctor(this, { ...cfg, type });\n\n return this;\n }\n\n /*\n * 开启或者关闭动画。\n *\n * ```ts\n * view.animate(false);\n * ```\n *\n * @param status 动画状态,true 表示开始,false 表示关闭\n * @returns View\n */\n public animate(status: boolean): View {\n set(this.options, 'animate', status);\n return this;\n }\n\n /**\n * 更新配置项,用于配置项式声明。\n * @param options 配置项\n */\n public updateOptions(options: Options) {\n this.clear(); // 清空\n mix(this.options, options);\n\n // 需要把已存在的 view 销毁,否则会重复创建\n // 目前针对配置项还没有特别好的 view 更新机制,为了不影响主流流程,所以在这里直接销毁\n this.views.forEach((view) => view.destroy());\n this.views = [];\n\n this.initOptions();\n // 初始化坐标系大小,保证 padding 计算正确\n this.coordinateBBox = this.viewBBox;\n return this;\n }\n\n /**\n * 往 `view.options` 属性中存储配置项。\n * @param name 属性名称\n * @param opt 属性值\n * @returns view\n */\n public option(name: string, opt: any): View {\n // 对于内置的 option,避免覆盖。\n // name 在原型上,说明可能是内置 API,存在 option 被覆盖的风险,不处理\n if (View.prototype[name]) {\n throw new Error(`Can't use built in variable name \"${name}\", please change another one.`);\n }\n\n // 存入到 option 中\n set(this.options, name, opt);\n return this;\n }\n\n /**\n * 设置主题。\n *\n * ```ts\n * view.theme('dark'); // 'dark' 需要事先通过 `registerTheme()` 接口注册完成\n *\n * view.theme({ defaultColor: 'red' });\n * ```\n *\n * @param theme 主题名或者主题配置\n * @returns View\n */\n public theme(theme: string | LooseObject): View {\n this.themeObject = isObject(theme) ? deepMix({}, this.themeObject, createTheme(theme)) : getTheme(theme);\n\n return this;\n }\n\n /* end 一系列传入配置的 API */\n\n /**\n * Call the interaction based on the interaction name\n *\n * ```ts\n * view.interaction('my-interaction', { extra: 'hello world' });\n * ```\n * 详细文档可以参考:https://g2.antv.vision/zh/docs/api/general/interaction\n * @param name interaction name\n * @param cfg interaction config\n * @returns\n */\n public interaction(name: string, cfg?: LooseObject): View {\n const existInteraction = this.interactions[name];\n // 存在则先销毁已有的\n if (existInteraction) {\n existInteraction.destroy();\n }\n\n // 新建交互实例\n const interaction = createInteraction(name, this, cfg);\n if (interaction) {\n interaction.init();\n this.interactions[name] = interaction;\n }\n return this;\n }\n\n /**\n * 移除当前 View 的 interaction\n * ```ts\n * view.removeInteraction('my-interaction');\n * ```\n * @param name interaction name\n */\n public removeInteraction(name: string) {\n const existInteraction = this.interactions[name];\n // 存在则先销毁已有的\n if (existInteraction) {\n existInteraction.destroy();\n this.interactions[name] = undefined;\n }\n }\n\n /**\n * 修改数据,数据更新逻辑,数据更新仅仅影响当前这一层的 view\n *\n * ```ts\n * view.changeData([{ city: '北京', sale: '200' }]);\n * ```\n *\n * @param data\n * @returns void\n */\n public changeData(data: Data) {\n this.isDataChanged = true;\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_CHANGE_DATA, Event.fromData(this, VIEW_LIFE_CIRCLE.BEFORE_CHANGE_DATA, null));\n // 1. 保存数据\n this.data(data);\n\n // 2. 渲染\n this.paint(true);\n\n // 3. 遍历子 view 进行 change data\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n // FIXME 子 view 有自己的数据的情况,该如何处理?\n view.changeData(data);\n }\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_CHANGE_DATA, Event.fromData(this, VIEW_LIFE_CIRCLE.AFTER_CHANGE_DATA, null));\n }\n\n /* View 管理相关的 API */\n\n /**\n * 创建子 view\n *\n * ```ts\n * const innerView = view.createView({\n * start: { x: 0, y: 0 },\n * end: { x: 0.5, y: 0.5 },\n * padding: 8,\n * });\n * ```\n *\n * @param cfg\n * @returns View\n */\n public createView(cfg?: Partial): View {\n // 将会在 4.1 版本中移除递归嵌套 view,仅仅只允许 chart - view 两层。\n // 这个 API 理论上用户量不多,所以暂时不发大版本,所以先暂时打一个 warning。\n if (this.parent && this.parent.parent) {\n // 存在 3 层 结构了\n console.warn('The view nesting recursive feature will be removed at G2 V4.1. Please avoid to use it.');\n }\n\n // 子 view 共享 options 配置数据\n const sharedOptions = {\n data: this.options.data,\n scales: clone(this.options.scales),\n axes: clone(this.options.axes),\n coordinate: clone(this.coordinateController.getOption()),\n tooltip: clone(this.options.tooltip),\n legends: clone(this.options.legends),\n animate: this.options.animate,\n visible: this.visible,\n };\n\n const v = new View({\n parent: this,\n canvas: this.canvas,\n // 子 view 共用三层 group\n backgroundGroup: this.backgroundGroup.addGroup({ zIndex: GROUP_Z_INDEX.BG }),\n middleGroup: this.middleGroup.addGroup({ zIndex: GROUP_Z_INDEX.MID }),\n foregroundGroup: this.foregroundGroup.addGroup({ zIndex: GROUP_Z_INDEX.FORE }),\n theme: this.themeObject,\n padding: this.padding,\n ...cfg,\n options: {\n ...sharedOptions,\n ...get(cfg, 'options', {}),\n },\n });\n\n this.views.push(v);\n\n return v;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #createView()}\n */\n public view(cfg?: Partial) {\n console.warn('This method will be removed at G2 V4.1. Please use chart.createView() instead.');\n return this.createView(cfg);\n }\n\n /**\n * 删除一个子 view\n * @param view\n * @return removedView\n */\n public removeView(view: View): View {\n const removedView = remove(this.views, (v: View) => v === view)[0];\n\n if (removedView) {\n removedView.destroy();\n }\n\n return removedView;\n }\n /* end View 管理相关的 API */\n\n // 一些 get 方法\n\n /**\n * 获取当前坐标系实例。\n * @returns [[Coordinate]]\n */\n public getCoordinate() {\n return this.coordinateInstance;\n }\n\n /**\n * 获取当前 view 的主题配置。\n * @returns themeObject\n */\n public getTheme(): LooseObject {\n return this.themeObject;\n }\n\n /**\n * 获得 x 轴字段的 scale 实例。\n * @returns view 中 Geometry 对于的 x scale\n */\n public getXScale(): Scale {\n // 拿第一个 Geometry 的 X scale\n // 隐藏逻辑:一个 view 中的 Geometry 必须 x 字段一致\n const g = this.geometries[0];\n return g ? g.getXScale() : null;\n }\n\n /**\n * 获取 y 轴字段的 scales 实例。\n * @returns view 中 Geometry 对于的 y scale 数组\n */\n public getYScales(): Scale[] {\n // 拿到所有的 Geometry 的 Y scale,然后去重\n const tmpMap = {};\n const yScales = [];\n this.geometries.forEach((g: Geometry) => {\n const yScale = g.getYScale();\n const field = yScale.field;\n if (!tmpMap[field]) {\n tmpMap[field] = true;\n yScales.push(yScale);\n }\n });\n return yScales;\n }\n\n /**\n * 获取 x 轴或者 y 轴对应的所有 scale 实例。\n * @param dimType x | y\n * @returns x 轴或者 y 轴对应的所有 scale 实例。\n */\n public getScalesByDim(dimType: 'x' | 'y'): Record {\n const geometries = this.geometries;\n const scales = {};\n\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n const scale = dimType === 'x' ? geometry.getXScale() : geometry.getYScale();\n if (scale && !scales[scale.field]) {\n scales[scale.field] = scale;\n }\n }\n\n return scales;\n }\n\n /**\n * 根据字段名去获取 scale 实例。\n * @param field 数据字段名称\n * @param key id\n */\n public getScale(field: string, key?: string): Scale {\n const defaultKey = key ? key : this.getScaleKey(field);\n // 调用根节点 view 的方法获取\n return this.getRootView().scalePool.getScale(defaultKey);\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Please use `getScale`.\n */\n public getScaleByField(field: string, key?: string): Scale {\n return this.getScale(field, key);\n }\n\n /**\n * 返回所有配置信息。\n * @returns 所有的 view API 配置。\n */\n public getOptions(): Options {\n return this.options;\n }\n\n /**\n * 获取 view 的数据(过滤后的数据)。\n * @returns 处理过滤器之后的数据。\n */\n public getData() {\n return this.filteredData;\n }\n\n /**\n * 获取原始数据\n * @returns 传入 G2 的原始数据\n */\n public getOriginalData() {\n return this.options.data;\n }\n\n /**\n * 获取布局后的边距 padding\n * @returns\n */\n public getPadding(): Padding {\n return this.autoPadding.getPadding();\n }\n\n /**\n * 获取当前 view 有的 geometries\n * @returns\n */\n public getGeometries() {\n return this.geometries;\n }\n\n /**\n * 获取 view 中的所有 geome\n */\n public getElements(): Element[] {\n return reduce(\n this.geometries,\n (elements: Element[], geometry: Geometry) => {\n return elements.concat(geometry.getElements());\n },\n []\n );\n }\n\n /**\n * 根据一定的规则查找 Geometry 的 Elements。\n *\n * ```typescript\n * getElementsBy((element) => {\n * const data = element.getData();\n *\n * return data.a === 'a';\n * });\n * ```\n *\n * @param condition 定义查找规则的回调函数。\n * @returns\n */\n public getElementsBy(condition: (element: Element) => boolean): Element[] {\n return this.getElements().filter((el) => condition(el));\n }\n\n /**\n * 获得绘制的层级 group。\n * @param layer 层级名称。\n * @returns 对应层级的 Group。\n */\n public getLayer(layer: LAYER): IGroup {\n return layer === LAYER.BG\n ? this.backgroundGroup\n : layer === LAYER.MID\n ? this.middleGroup\n : layer === LAYER.FORE\n ? this.foregroundGroup\n : this.foregroundGroup;\n }\n\n /**\n * 对外暴露方法,判断一个点是否在绘图区域(即坐标系范围)内部。\n * @param point 坐标点\n */\n public isPointInPlot(point: Point): boolean {\n return isPointInCoordinate(this.getCoordinate(), point);\n }\n\n /**\n * 获得所有的 legend 对应的 attribute 实例。\n * @returns 维度字段的 Attribute 数组\n */\n public getLegendAttributes(): Attribute[] {\n return flatten(this.geometries.map((g: Geometry) => g.getGroupAttributes())) as unknown as Attribute[];\n }\n\n /**\n * 获取所有的分组字段的 scale 实例。\n * @returns 获得分组字段的 scale 实例数组。\n */\n public getGroupScales(): Scale[] {\n // 拿到所有的 Geometry 的 分组字段 scale,然后打平去重\n const scales = this.geometries.map((g: Geometry) => g.getGroupScales());\n return uniq(flatten(scales));\n }\n\n /**\n * 获取 G.Canvas 实例。\n * @returns G.Canvas 画布实例。\n */\n public getCanvas(): ICanvas {\n return (this.getRootView() as unknown as Chart).canvas;\n }\n\n /**\n * 获得根节点 view。\n */\n public getRootView(): View {\n let v = this as View;\n\n while (true) {\n if (v.parent) {\n v = v.parent;\n continue;\n }\n break;\n }\n return v;\n }\n\n /**\n * 获取该数据在可视化后,对应的画布坐标点。\n * @param data 原始数据记录\n * @returns 对应的画布坐标点\n */\n public getXY(data: Datum): Point {\n const coordinate = this.getCoordinate();\n const xScales = this.getScalesByDim('x');\n const yScales = this.getScalesByDim('y');\n let x;\n let y;\n\n each(data, (value, key) => {\n if (xScales[key]) {\n x = xScales[key].scale(value);\n }\n if (yScales[key]) {\n y = yScales[key].scale(value);\n }\n });\n\n if (!isNil(x) && !isNil(y)) {\n return coordinate.convert({ x, y });\n }\n }\n\n public getController(name: 'tooltip'): Tooltip;\n public getController(name: 'axis'): Axis;\n public getController(name: 'legend'): Legend;\n public getController(name: 'scrollbar'): Scrollbar;\n public getController(name: 'slider'): Slider;\n public getController(name: 'annotation'): Annotation;\n public getController(name: 'gestucre'): Gesture;\n public getController(name: string): Controller;\n /**\n * 获取 name 对应的 controller 实例\n * @param name\n */\n public getController(name: string): Controller {\n return find(this.controllers, (c: Controller) => c.name === name);\n }\n\n /**\n * 显示 point 坐标点对应的 tooltip。\n * @param point 画布坐标点\n * @returns View\n */\n public showTooltip(point: Point): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.showTooltip(point);\n }\n return this;\n }\n\n /**\n * 隐藏 tooltip。\n * @returns View\n */\n public hideTooltip(): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.hideTooltip();\n }\n return this;\n }\n\n /**\n * 将 tooltip 锁定到当前位置不能移动。\n * @returns View\n */\n public lockTooltip(): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.lockTooltip();\n }\n return this;\n }\n\n /**\n * 将 tooltip 锁定解除。\n * @returns View\n */\n public unlockTooltip(): View {\n const tooltip = this.getController('tooltip');\n if (tooltip) {\n tooltip.unlockTooltip();\n }\n return this;\n }\n\n /**\n * 是否锁定 tooltip。\n * @returns 是否锁定\n */\n public isTooltipLocked() {\n const tooltip = this.getController('tooltip');\n return tooltip && tooltip.isTooltipLocked();\n }\n\n /**\n * 获取当前 point 对应的 tooltip 数据项。\n * @param point 坐标点\n * @returns tooltip 数据项\n */\n public getTooltipItems(point: Point) {\n const tooltip = this.getController('tooltip');\n\n return tooltip ? tooltip.getTooltipItems(point) : [];\n }\n\n /**\n * 获取逼近的点的数据集合\n * @param point 当前坐标点\n * @returns 数据\n */\n public getSnapRecords(point: Point) {\n const geometries = this.geometries;\n let rst = [];\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geom = geometries[i];\n const dataArray = geom.dataArray;\n geom.sort(dataArray); // 先进行排序,便于 tooltip 查找\n let record;\n for (let j = 0, dataLen = dataArray.length; j < dataLen; j++) {\n const data = dataArray[j];\n record = findDataByPoint(point, data, geom);\n if (record) {\n rst.push(record);\n }\n }\n }\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n const snapRecords = view.getSnapRecords(point);\n rst = rst.concat(snapRecords);\n }\n\n return rst;\n }\n\n /**\n * 获取所有的 pure component 组件,用于布局。\n */\n public getComponents(): ComponentOption[] {\n let components = [];\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n components = components.concat(controller.getComponents());\n }\n\n return components;\n }\n\n /**\n * 将 data 数据进行过滤。\n * @param data\n * @returns 过滤之后的数据\n */\n public filterData(data: Data): Data {\n const { filters } = this.options;\n // 不存在 filters,则不需要进行数据过滤\n if (size(filters) === 0) {\n return data;\n }\n\n // 存在过滤器,则逐个执行过滤,过滤器之间是 与 的关系\n return filter(data, (datum: Datum, idx: number) => {\n // 所有的 filter 字段\n const fields = Object.keys(filters);\n\n // 所有的条件都通过,才算通过\n return fields.every((field: string) => {\n const condition = filters[field];\n\n // condition 返回 true,则保留\n return condition(datum[field], datum, idx);\n });\n });\n }\n\n /**\n * 对某一个字段进行过滤\n * @param field\n * @param data\n */\n public filterFieldData(field: string, data: Data): Data {\n const { filters } = this.options;\n const condition = get(filters, field);\n\n if (isUndefined(condition)) {\n return data;\n }\n return data.filter((datum: Datum, idx: number) => condition(datum[field], datum, idx));\n }\n\n /**\n * 调整 coordinate 的坐标范围。\n */\n public adjustCoordinate() {\n const { start: curStart, end: curEnd } = this.getCoordinate();\n const start = this.coordinateBBox.bl;\n const end = this.coordinateBBox.tr;\n\n // 在 defaultLayoutFn 中只会在 coordinateBBox 发生变化的时候会调用 adjustCoordinate(),所以不用担心被置位\n if (isEqual(curStart, start) && isEqual(curEnd, end)) {\n this.isCoordinateChanged = false;\n // 如果大小没有变化则不更新\n return;\n }\n this.isCoordinateChanged = true;\n this.coordinateInstance = this.coordinateController.adjust(start, end);\n }\n\n protected paint(isUpdate: boolean) {\n this.renderDataRecursive(isUpdate);\n\n // 处理 sync scale 的逻辑\n this.syncScale();\n\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_PAINT);\n\n // 初始化图形、组件位置,计算 padding\n this.renderPaddingRecursive(isUpdate);\n // 布局图形、组件\n this.renderLayoutRecursive(isUpdate);\n // 背景色 shape\n this.renderBackgroundStyleShape();\n // 最终的绘制 render\n this.renderPaintRecursive(isUpdate);\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_PAINT);\n\n this.isDataChanged = false; // 渲染完毕复位\n }\n\n /**\n * 渲染背景样式的 shape。\n * 放到 view 中创建的原因是让使用 view 绘制图形的时候,也能够处理背景色\n */\n private renderBackgroundStyleShape() {\n // 只有根节点才处理\n if (this.parent) {\n return;\n }\n const background = get(this.themeObject, 'background');\n // 配置了背景色\n if (background) {\n // 1. 不存在则创建\n if (!this.backgroundStyleRectShape) {\n this.backgroundStyleRectShape = this.backgroundGroup.addShape('rect', {\n attrs: {},\n zIndex: -1,\n // 背景色 shape 不设置事件捕获\n capture: false,\n });\n this.backgroundStyleRectShape.toBack();\n }\n\n // 2. 有了 shape 之后设置背景,位置(更新的时候)\n const { x, y, width, height } = this.viewBBox;\n this.backgroundStyleRectShape.attr({\n fill: background,\n x,\n y,\n width,\n height,\n });\n } else {\n // 没有配置背景色\n if (this.backgroundStyleRectShape) {\n this.backgroundStyleRectShape.remove(true);\n this.backgroundStyleRectShape = undefined;\n }\n }\n }\n\n /**\n * 递归计算每个 view 的 padding 值,coordinateBBox 和 coordinateInstance\n * @param isUpdate\n */\n protected renderPaddingRecursive(isUpdate: boolean) {\n // 1. 子 view 大小相对 coordinateBBox,changeSize 的时候需要重新计算\n this.calculateViewBBox();\n // 2. 更新 coordinate\n this.adjustCoordinate();\n // 3. 初始化组件 component\n this.initComponents(isUpdate);\n // 4. 布局计算每隔 view 的 padding 值\n // 4.1. 自动加 auto padding -> absolute padding,并且增加 appendPadding\n this.autoPadding = calculatePadding(this).shrink(parsePadding(this.appendPadding));\n // 4.2. 计算出新的 coordinateBBox,更新 Coordinate\n // 这里必须保留,原因是后面子 view 的 viewBBox 或根据 parent 的 coordinateBBox\n this.coordinateBBox = this.viewBBox.shrink(this.autoPadding.getPadding());\n this.adjustCoordinate();\n\n // 刷新 tooltip (tooltip crosshairs 依赖 coordinate 位置)\n const tooltipController = this.controllers.find((c) => c.name === 'tooltip');\n tooltipController.update();\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderPaddingRecursive(isUpdate);\n }\n }\n\n /**\n * 递归处理 view 的布局,最终是计算各个 view 的 coordinateBBox 和 coordinateInstance\n * @param isUpdate\n */\n protected renderLayoutRecursive(isUpdate: boolean) {\n // 1. 同步子 view padding\n // 根据配置获取 padding\n const syncViewPaddingFn =\n this.syncViewPadding === true\n ? defaultSyncViewPadding\n : isFunction(this.syncViewPadding)\n ? this.syncViewPadding\n : undefined;\n\n if (syncViewPaddingFn) {\n syncViewPaddingFn(this, this.views, PaddingCal);\n // 同步 padding 之后,更新 coordinate\n this.views.forEach((v: View) => {\n v.coordinateBBox = v.viewBBox.shrink(v.autoPadding.getPadding());\n v.adjustCoordinate();\n });\n }\n\n // 3. 将 view 中的组件按照 view padding 移动到对应的位置\n this.doLayout();\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderLayoutRecursive(isUpdate);\n }\n }\n\n /**\n * 最终递归绘制组件和图形\n * @param isUpdate\n */\n protected renderPaintRecursive(isUpdate: boolean) {\n const middleGroup = this.middleGroup;\n if (this.limitInPlot) {\n const { type, attrs } = getCoordinateClipCfg(this.coordinateInstance);\n middleGroup.setClip({\n type,\n attrs,\n });\n } else {\n // 清除已有的 clip\n middleGroup.setClip(undefined);\n }\n\n // 1. 渲染几何标记\n this.paintGeometries(isUpdate);\n // 2. 绘制组件\n this.renderComponents(isUpdate);\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderPaintRecursive(isUpdate);\n }\n }\n\n // end Get 方法\n\n /**\n * 创建 scale,递归到顶层 view 去创建和缓存 scale\n * @param field\n * @param data\n * @param scaleDef\n * @param key\n */\n protected createScale(field: string, data: Data, scaleDef: ScaleOption, key: string): Scale {\n // 1. 合并 field 对应的 scaleDef,合并原则是底层覆盖顶层(就近原则)\n const currentScaleDef = get(this.options.scales, [field]);\n const mergedScaleDef = { ...currentScaleDef, ...scaleDef };\n\n // 2. 是否存在父 view,在则递归,否则创建\n if (this.parent) {\n return this.parent.createScale(field, data, mergedScaleDef, key);\n }\n\n // 3. 在根节点 view 通过 scalePool 创建\n return this.scalePool.createScale(field, data, mergedScaleDef, key);\n }\n\n /**\n * 递归渲染中的数据处理\n * @param isUpdate\n */\n private renderDataRecursive(isUpdate: boolean) {\n // 1. 处理数据\n this.doFilterData();\n // 2. 创建实例\n this.createCoordinate();\n // 3. 初始化 Geometry\n this.initGeometries(isUpdate);\n // 4. 处理分面逻辑,最终都是生成子 view 和 geometry\n this.renderFacet(isUpdate);\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderDataRecursive(isUpdate);\n }\n }\n\n /**\n * 计算 region,计算实际的像素范围坐标\n * @private\n */\n private calculateViewBBox() {\n let x;\n let y;\n let width;\n let height;\n\n if (this.parent) {\n const bbox = this.parent.coordinateBBox;\n // 存在 parent, 那么就是通过父容器大小计算\n x = bbox.x;\n y = bbox.y;\n width = bbox.width;\n height = bbox.height;\n } else {\n // 顶层容器,从 canvas 中取值 宽高\n x = 0;\n y = 0;\n width = this.canvas.get('width');\n height = this.canvas.get('height');\n }\n\n const { start, end } = this.region;\n\n // 根据 region 计算当前 view 的 bbox 大小。\n const viewBBox = new BBox(\n x + width * start.x,\n y + height * start.y,\n width * (end.x - start.x),\n height * (end.y - start.y)\n );\n\n if (!this.viewBBox || !this.viewBBox.isEqual(viewBBox)) {\n // viewBBox 发生变化的时候进行更新\n this.viewBBox = new BBox(\n x + width * start.x,\n y + height * start.y,\n width * (end.x - start.x),\n height * (end.y - start.y)\n );\n }\n\n // 初始的 coordinate bbox 大小\n this.coordinateBBox = this.viewBBox;\n }\n\n /**\n * 初始化事件机制:G 4.0 底层内置支持 name:event 的机制,那么只要所有组件都有自己的 name 即可。\n *\n * G2 的事件只是获取事件委托,然后在 view 嵌套结构中,形成事件冒泡机制。\n * 当前 view 只委托自己 view 中的 Component 和 Geometry 事件,并向上冒泡\n * @private\n */\n private initEvents() {\n // 三层 group 中的 shape 事件都会通过 G 冒泡上来的\n this.foregroundGroup.on('*', this.onDelegateEvents);\n this.middleGroup.on('*', this.onDelegateEvents);\n this.backgroundGroup.on('*', this.onDelegateEvents);\n\n this.canvas.on('*', this.onCanvasEvent);\n }\n\n private onCanvasEvent = (evt: GEvent): void => {\n const name = evt.name;\n if (!name.includes(':')) {\n // 非委托事件\n const e = this.createViewEvent(evt);\n // 处理 plot 事件\n this.doPlotEvent(e);\n this.emit(name, e);\n }\n };\n\n /**\n * 初始化插件\n */\n private initComponentController() {\n const usedControllers = this.usedControllers;\n for (let i = 0, len = usedControllers.length; i < len; i++) {\n const controllerName = usedControllers[i];\n const Ctor = getComponentController(controllerName);\n if (Ctor) {\n this.controllers.push(new Ctor(this));\n }\n }\n }\n\n private createViewEvent(evt: GEvent) {\n const { shape, name } = evt;\n\n const data = shape ? shape.get('origin') : null;\n // 事件在 view 嵌套中冒泡(暂不提供阻止冒泡的机制)\n const e = new Event(this, evt, data);\n e.type = name;\n return e;\n }\n /**\n * 触发事件之后\n * @param evt\n */\n private onDelegateEvents = (evt: GEvent): void => {\n // 阻止继续冒泡,防止重复事件触发\n // evt.preventDefault();\n const { name } = evt;\n if (!name.includes(':')) {\n return;\n }\n // 事件在 view 嵌套中冒泡(暂不提供阻止冒泡的机制)\n const e = this.createViewEvent(evt);\n\n // 包含有基本事件、组合事件\n this.emit(name, e);\n // const currentTarget = evt.currentTarget as IShape;\n // const inheritNames = currentTarget.get('inheritNames');\n // if (evt.delegateObject || inheritNames) {\n // const events = this.getEvents();\n // each(inheritNames, (subName) => {\n // const eventName = `${subName}:${type}`;\n // if (events[eventName]) {\n // this.emit(eventName, e);\n // }\n // });\n // }\n };\n\n /**\n * 处理 PLOT_EVENTS\n * plot event 需要处理所有的基础事件,并判断是否在画布中,然后再决定是否要 emit。\n * 对于 mouseenter、mouseleave 比较特殊,需要做一下数学比较。\n * @param e\n */\n private doPlotEvent(e: Event) {\n const { type, x, y } = e;\n\n const point = { x, y };\n\n const ALL_EVENTS = [\n 'mousedown',\n 'mouseup',\n 'mousemove',\n 'mouseleave',\n 'mousewheel',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'click',\n 'dblclick',\n 'contextmenu',\n ];\n\n if (ALL_EVENTS.includes(type)) {\n const currentInPlot = this.isPointInPlot(point);\n const newEvent = e.clone();\n\n if (currentInPlot) {\n const TYPE = `plot:${type}`; // 组合 plot 事件\n newEvent.type = TYPE;\n this.emit(TYPE, newEvent);\n if (type === 'mouseleave' || type === 'touchend') {\n // 在plot 内部却离开画布\n this.isPreMouseInPlot = false;\n }\n }\n\n // 对于 mouseenter, mouseleave 的计算处理\n if (type === 'mousemove' || type === 'touchmove') {\n if (this.isPreMouseInPlot && !currentInPlot) {\n if (type === 'mousemove') {\n newEvent.type = PLOT_EVENTS.MOUSE_LEAVE;\n this.emit(PLOT_EVENTS.MOUSE_LEAVE, newEvent);\n }\n newEvent.type = PLOT_EVENTS.LEAVE;\n this.emit(PLOT_EVENTS.LEAVE, newEvent);\n } else if (!this.isPreMouseInPlot && currentInPlot) {\n if (type === 'mousemove') {\n newEvent.type = PLOT_EVENTS.MOUSE_ENTER;\n this.emit(PLOT_EVENTS.MOUSE_ENTER, newEvent);\n }\n newEvent.type = PLOT_EVENTS.ENTER;\n this.emit(PLOT_EVENTS.ENTER, newEvent);\n }\n // 赋新的状态值\n this.isPreMouseInPlot = currentInPlot;\n } else if (type === 'mouseleave' || type === 'touchend') {\n // 可能不在 currentInPlot 中\n if (this.isPreMouseInPlot) {\n if (type === 'mouseleave') {\n newEvent.type = PLOT_EVENTS.MOUSE_LEAVE;\n this.emit(PLOT_EVENTS.MOUSE_LEAVE, newEvent);\n }\n newEvent.type = PLOT_EVENTS.LEAVE;\n this.emit(PLOT_EVENTS.LEAVE, newEvent);\n\n this.isPreMouseInPlot = false;\n }\n }\n }\n }\n\n // view 生命周期 —— 渲染流程\n\n /**\n * 处理筛选器,筛选数据\n * @private\n */\n private doFilterData() {\n const { data } = this.options;\n this.filteredData = this.filterData(data);\n }\n\n /**\n * 初始化 Geometries\n * @private\n */\n private initGeometries(isUpdate: boolean) {\n // 初始化图形的之前,先创建 / 更新 scales\n this.createOrUpdateScales();\n // 实例化 Geometry,然后 view 将所有的 scale 管理起来\n const coordinate = this.getCoordinate();\n const scaleDefs = get(this.options, 'scales', {});\n const geometries = this.geometries;\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n // 保持 scales 引用不要变化\n geometry.scales = this.getGeometryScales();\n const cfg = {\n coordinate, // 使用 coordinate 引用,可以保持 coordinate 的同步更新\n scaleDefs,\n data: this.filteredData,\n theme: this.themeObject,\n isDataChanged: this.isDataChanged,\n isCoordinateChanged: this.isCoordinateChanged,\n };\n\n if (isUpdate) {\n // 数据发生更新\n geometry.update(cfg);\n } else {\n geometry.init(cfg);\n }\n }\n\n // Geometry 初始化之后,生成了 scale,然后进行调整 scale 配置\n this.adjustScales();\n }\n\n /**\n * 根据 Geometry 的所有字段创建 scales\n * 如果存在,则更新,不存在则创建\n */\n private createOrUpdateScales() {\n const fields = this.getScaleFields();\n const groupedFields = this.getGroupedFields();\n\n const { data, scales = {} } = this.getOptions();\n const filteredData = this.filteredData;\n\n for (let i = 0, len = fields.length; i < len; i++) {\n const field = fields[i];\n const scaleDef = scales[field];\n\n // 调用方法,递归去创建\n const key = this.getScaleKey(field);\n this.createScale(\n field,\n // 分组字段的 scale 使用未过滤的数据创建\n groupedFields.includes(field) ? data : filteredData,\n scaleDef,\n key\n );\n\n // 缓存从当前 view 创建的 scale key\n this.createdScaleKeys.set(key, true);\n }\n }\n\n /**\n * 处理 scale 同步逻辑\n */\n private syncScale() {\n // 最终调用 root view 的\n this.getRootView().scalePool.sync(this.getCoordinate(), this.theme);\n }\n\n /**\n * 获得 Geometry 中的 scale 对象\n */\n private getGeometryScales(): Record {\n const fields = this.getScaleFields();\n\n const scales = {};\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i];\n scales[field] = this.getScaleByField(field);\n }\n\n return scales;\n }\n\n private getScaleFields() {\n const fields = [];\n const tmpMap = new Map();\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n const geometryScales = geometry.getScaleFields();\n uniq(geometryScales, fields, tmpMap);\n }\n return fields;\n }\n\n private getGroupedFields() {\n const fields = [];\n const tmpMap = new Map();\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n const groupFields = geometry.getGroupFields();\n uniq(groupFields, fields, tmpMap);\n }\n return fields;\n }\n\n /**\n * 调整 scale 配置\n * @private\n */\n private adjustScales() {\n // 调整目前包括:\n // 分类 scale,调整 range 范围\n this.adjustCategoryScaleRange();\n }\n\n /**\n * 调整分类 scale 的 range,防止超出坐标系外面\n * @private\n */\n private adjustCategoryScaleRange() {\n const xyScales = [this.getXScale(), ...this.getYScales()].filter((e) => !!e);\n const coordinate = this.getCoordinate();\n const scaleOptions = this.options.scales;\n\n each(xyScales, (scale: Scale) => {\n const { field, values, isCategory, isIdentity } = scale;\n\n // 分类或者 identity 的 scale 才进行处理\n if (isCategory || isIdentity) {\n // 存在 value 值,且用户没有配置 range 配置\n if (values && !get(scaleOptions, [field, 'range'])) {\n // 更新 range\n scale.range = getDefaultCategoryScaleRange(scale, coordinate, this.theme);\n }\n }\n });\n }\n\n /**\n * 根据 options 配置、Geometry 字段配置,自动生成 components\n * @param isUpdate 是否是更新\n * @private\n */\n private initComponents(isUpdate: boolean) {\n // 先全部清空,然后 render\n const controllers = this.controllers;\n for (let i = 0; i < controllers.length; i++) {\n const controller = controllers[i];\n // 更新则走更新逻辑;否则清空载重绘\n if (isUpdate) {\n controller.update();\n } else {\n controller.clear();\n controller.render();\n }\n }\n }\n\n private doLayout() {\n this.layoutFunc(this);\n }\n\n /**\n * 创建坐标系\n * @private\n */\n private createCoordinate() {\n const start = this.coordinateBBox.bl;\n const end = this.coordinateBBox.tr;\n this.coordinateInstance = this.coordinateController.create(start, end);\n }\n\n /**\n * 根据 options 配置自动渲染 geometry\n * @private\n */\n private paintGeometries(isUpdate: boolean) {\n const doAnimation = this.options.animate;\n // geometry 的 paint 阶段\n const coordinate = this.getCoordinate();\n const canvasRegion = {\n x: this.viewBBox.x,\n y: this.viewBBox.y,\n minX: this.viewBBox.minX,\n minY: this.viewBBox.minY,\n maxX: this.viewBBox.maxX,\n maxY: this.viewBBox.maxY,\n width: this.viewBBox.width,\n height: this.viewBBox.height,\n };\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n geometry.coordinate = coordinate;\n geometry.canvasRegion = canvasRegion;\n if (!doAnimation) {\n // 如果 view 不执行动画,那么 view 下所有的 geometry 都不执行动画\n geometry.animate(false);\n }\n geometry.paint(isUpdate);\n }\n }\n\n /**\n * 最后的绘制组件\n * @param isUpdate\n */\n private renderComponents(isUpdate: boolean) {\n const components = this.getComponents();\n // 先全部清空,然后 render\n for (let i = 0; i < components.length; i++) {\n const co = components[i];\n (co.component as GroupComponent).render();\n }\n }\n\n /**\n * 渲染分面,会在其中进行数据分面,然后进行子 view 创建\n * @param isUpdate\n */\n private renderFacet(isUpdate: boolean) {\n if (this.facetInstance) {\n if (isUpdate) {\n this.facetInstance.update();\n } else {\n this.facetInstance.clear();\n // 计算分面数据\n this.facetInstance.init();\n // 渲染组件和 views\n this.facetInstance.render();\n }\n }\n }\n\n private initOptions() {\n const {\n geometries = [],\n interactions = [],\n views = [],\n annotations = [],\n coordinate,\n events,\n facets,\n } = this.options;\n\n // 设置坐标系\n if (this.coordinateController) {\n // 更新 coordinate controller\n coordinate && this.coordinateController.update(coordinate);\n } else {\n // 创建 coordinate controller\n this.coordinateController = new CoordinateController(coordinate);\n }\n\n // 创建 geometry 实例\n for (let i = 0; i < geometries.length; i++) {\n const geometryOption = geometries[i];\n this.createGeometry(geometryOption);\n }\n\n // 创建 interactions 实例\n for (let j = 0; j < interactions.length; j++) {\n const interactionOption = interactions[j];\n const { type, cfg } = interactionOption;\n this.interaction(type, cfg);\n }\n\n // 创建 view 实例\n for (let k = 0; k < views.length; k++) {\n const viewOption = views[k];\n this.createView(viewOption);\n }\n\n // 设置 annotation\n const annotationComponent = this.getController('annotation');\n for (let l = 0; l < annotations.length; l++) {\n const annotationOption = annotations[l];\n annotationComponent.annotation(annotationOption);\n }\n\n // 设置 events\n if (events) {\n each(events, (eventCallback, eventName) => {\n this.on(eventName, eventCallback);\n });\n }\n\n if (facets) {\n each(facets, (facet) => {\n const { type, ...rest } = facet;\n\n this.facet(type, rest);\n });\n }\n }\n\n private createGeometry(geometryOption: GeometryOption) {\n const { type, cfg = {} } = geometryOption;\n if (this[type]) {\n const geometry = this[type](cfg);\n each(geometryOption, (v, k) => {\n if (isFunction(geometry[k])) {\n geometry[k](v);\n }\n });\n }\n }\n\n /**\n * scale key 的创建方式\n * @param field\n */\n private getScaleKey(field: string): string {\n return `${this.id}-${field}`;\n }\n}\n\n/**\n * 注册 geometry 组件\n * @param name\n * @param Ctor\n * @returns Geometry\n */\nexport function registerGeometry(name: string, Ctor: any) {\n // 语法糖,在 view API 上增加原型方法\n View.prototype[name.toLowerCase()] = function (cfg: any = {}) {\n const props = {\n /** 图形容器 */\n container: this.middleGroup.addGroup(),\n labelsContainer: this.foregroundGroup.addGroup(),\n ...cfg,\n };\n\n const geometry = new Ctor(props);\n this.geometries.push(geometry);\n\n return geometry;\n };\n}\n\nexport default View;\n","import { debounce, each, isString } from '@antv/util';\nimport { ChartCfg } from '../interface';\nimport { GROUP_Z_INDEX, VIEW_LIFE_CIRCLE } from '../constant';\nimport { getEngine } from '../engine';\nimport { createDom, getChartSize, removeDom, modifyCSS } from '../util/dom';\nimport View from './view';\nimport { AriaOption } from '../interface';\n\n/**\n * Chart 类,是使用 G2 进行绘图的入口。\n */\nexport default class Chart extends View {\n /** Chart 的 DOM 容器 */\n public ele: HTMLElement;\n\n /** 图表宽度 */\n public width: number;\n /** 图表高度 */\n public height: number;\n /** 是否开启局部刷新 */\n public localRefresh: boolean;\n /** 是否自适应 DOM 容器宽高,默认为 false,需要用户手动指定宽高 */\n public autoFit: boolean;\n /** 图表渲染引擎 */\n public renderer: 'canvas' | 'svg';\n\n private wrapperElement: HTMLElement;\n\n // @ts-ignore\n constructor(props: ChartCfg) {\n const {\n container,\n width,\n height,\n autoFit = false,\n padding,\n appendPadding,\n renderer = 'canvas',\n pixelRatio,\n localRefresh = true,\n visible = true,\n supportCSSTransform = false,\n defaultInteractions = ['tooltip', 'legend-filter', 'legend-active', 'continuous-filter', 'ellipsis-text', 'axis-description'],\n options,\n limitInPlot,\n theme,\n syncViewPadding,\n } = props;\n\n const ele: HTMLElement = isString(container) ? document.getElementById(container) : container;\n\n // 生成内部正式绘制的 div 元素\n const wrapperElement = createDom('
');\n ele.appendChild(wrapperElement);\n\n // if autoFit, use the container size, to avoid the graph render twice.\n const size = getChartSize(ele, autoFit, width, height);\n\n const G = getEngine(renderer);\n\n const canvas = new G.Canvas({\n container: wrapperElement,\n pixelRatio,\n localRefresh,\n supportCSSTransform,\n ...size,\n });\n\n // 调用 view 的创建\n super({\n parent: null,\n canvas,\n // create 3 group layers for views.\n backgroundGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.BG }),\n middleGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.MID }),\n foregroundGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.FORE }),\n padding,\n appendPadding,\n visible,\n options,\n limitInPlot,\n theme,\n syncViewPadding,\n });\n\n this.ele = ele;\n this.canvas = canvas;\n this.width = size.width;\n this.height = size.height;\n this.autoFit = autoFit;\n this.localRefresh = localRefresh;\n this.renderer = renderer;\n this.wrapperElement = wrapperElement;\n\n // 自适应大小\n this.updateCanvasStyle();\n this.bindAutoFit();\n this.initDefaultInteractions(defaultInteractions);\n }\n\n private initDefaultInteractions(interactions) {\n each(interactions, (interaction) => {\n this.interaction(interaction);\n });\n }\n\n /**\n * 设置 WAI-ARIA 无障碍标签。如何根据图形语法自动生成 arial 内容?\n * @param ariaOption\n */\n public aria(ariaOption: AriaOption) {\n const ATTR = 'aria-label';\n if (ariaOption === false) {\n this.ele.removeAttribute(ATTR);\n } else {\n this.ele.setAttribute(ATTR, ariaOption.label);\n }\n }\n\n /**\n * 改变图表大小,同时重新渲染。\n * @param width 图表宽度\n * @param height 图表高度\n * @returns\n */\n public changeSize(width: number, height: number) {\n // 如果宽高一致,那么 changeSize 不执行任何操作\n if (this.width === width && this.height === height) {\n return this;\n }\n\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_CHANGE_SIZE);\n\n this.width = width;\n this.height = height;\n this.canvas.changeSize(width, height);\n\n // 重新渲染\n this.render(true);\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_CHANGE_SIZE);\n\n return this;\n }\n\n /**\n * 清空图表,同时清除掉 aria 配置\n */\n public clear() {\n super.clear();\n\n this.aria(false);\n }\n\n /**\n * 销毁图表,同时解绑事件,销毁创建的 G.Canvas 实例。\n * @returns void\n */\n public destroy() {\n super.destroy();\n\n this.unbindAutoFit();\n this.canvas.destroy();\n\n removeDom(this.wrapperElement);\n this.wrapperElement = null;\n }\n\n /**\n * 显示或隐藏图表\n * @param visible 是否可见,true 表示显示,false 表示隐藏\n * @returns\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible); // 需要更新 visible 变量\n this.wrapperElement.style.display = visible ? '' : 'none';\n\n return this;\n }\n\n /**\n * 自动根据容器大小 resize 画布\n */\n public forceFit() {\n // skip if already destroyed\n if (!this.destroyed) {\n // 注意第二参数用 true,意思是即时 autoFit = false,forceFit() 调用之后一样是适配容器\n const { width, height } = getChartSize(this.ele, true, this.width, this.height);\n this.changeSize(width, height);\n }\n }\n\n private updateCanvasStyle() {\n modifyCSS(this.canvas.get('el'), {\n display: 'inline-block',\n verticalAlign: 'middle',\n });\n }\n\n private bindAutoFit() {\n if (this.autoFit) {\n window.addEventListener('resize', this.onResize);\n }\n }\n\n private unbindAutoFit() {\n if (this.autoFit) {\n window.removeEventListener('resize', this.onResize);\n }\n }\n\n /**\n * when container size changed, change chart size props, and re-render.\n */\n private onResize = debounce(() => {\n this.forceFit();\n }, 300);\n}\n","import { each } from '@antv/util';\nimport { ComponentOption } from '../../interface';\nimport View from '../view';\n\n/** Component controller class type define */\nexport type ControllerCtor = new (view: View) => Controller;\n\n/**\n * Component Controller 规范需要定义的基类\n * 1. 规范的 option 输入\n * 2. 统一的信息获取 API\n * 3. 明确定义的组件事件(名称、数据)\n */\nexport abstract class Controller {\n /** 是否可见 */\n public visible: boolean = true;\n protected view: View;\n /** option 配置,不同组件有自己不同的配置结构 */\n protected option: O;\n /** 所有的 component */\n protected components: ComponentOption[] = [];\n\n constructor(view: View) {\n this.view = view;\n }\n\n public abstract get name(): string;\n\n /**\n * init the component\n */\n public abstract init();\n\n /**\n * render the components\n */\n public abstract render();\n\n /**\n * update the components\n */\n // public abstract update();\n\n /**\n * do layout\n */\n public abstract layout();\n\n /**\n * 组件的更新逻辑\n * - 根据字段为标识,为每一个组件生成一个 id,放到 option 中\n * - 更新的时候按照 id 去做 diff,然后对同的做处理\n * - 创建增加的\n * - 更新已有的\n * - 销毁删除的\n */\n public abstract update();\n\n /**\n * clear\n * @param includeOption 是否清空 option 配置项(used in annotation)\n */\n public clear(includeOption?: boolean) {\n // destroy all components\n each(this.components, (co: ComponentOption) => {\n co.component.destroy();\n });\n\n // clear all component instance\n this.components = [];\n }\n\n /**\n * destroy the component\n */\n public destroy() {\n this.clear();\n }\n\n /**\n * get all components\n * @returns components array\n */\n public getComponents(): ComponentOption[] {\n return this.components;\n }\n\n /**\n * change visibility of component\n * @param visible\n */\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n this.components.forEach((co: ComponentOption) => {\n if (visible) {\n co.component.show();\n } else {\n co.component.hide();\n }\n });\n this.visible = visible;\n }\n}\n","import { deepMix, find, get, isEqual, isFunction, mix, isString, isBoolean, flatten, isArray } from '@antv/util';\nimport { Crosshair, HtmlTooltip, IGroup } from '../../dependents';\nimport { Point, TooltipItem, TooltipOption } from '../../interface';\nimport { getAngleByPoint, getDistanceToCenter, getCoordinateClipCfg } from '../../util/coordinate';\nimport { polarToCartesian } from '../../util/graphics';\nimport { findItemsFromView } from '../../util/tooltip';\nimport { BBox } from '../../util/bbox';\nimport { Controller } from './base';\nimport Event from '../event';\nimport View from '../view';\n\n// Filter duplicates, use `name`, `color`, `value` and `title` property values as condition\nfunction uniq(items) {\n const uniqItems = [];\n for (let index = 0; index < items.length; index++) {\n const item = items[index];\n const result = find(uniqItems, (subItem) => {\n return (\n subItem.color === item.color &&\n subItem.name === item.name &&\n subItem.value === item.value &&\n subItem.title === item.title\n );\n });\n if (!result) {\n uniqItems.push(item);\n }\n }\n return uniqItems;\n}\n\n/** @ignore */\nexport default class Tooltip extends Controller {\n private tooltip;\n private tooltipMarkersGroup: IGroup;\n private tooltipCrosshairsGroup: IGroup;\n private xCrosshair;\n private yCrosshair;\n private guideGroup: IGroup;\n\n private isLocked: boolean = false;\n private items;\n private title: string;\n private point: Point;\n\n public get name(): string {\n return 'tooltip';\n }\n\n public init() { }\n\n private isVisible() {\n const option = this.view.getOptions().tooltip;\n return option !== false;\n }\n\n public render() { }\n\n /**\n * Shows tooltip\n * @param point\n */\n public showTooltip(point: Point) {\n this.point = point;\n if (!this.isVisible()) {\n // 如果设置 tooltip(false) 则始终不显示\n return;\n }\n const view = this.view;\n const items = this.getTooltipItems(point);\n if (!items.length) {\n // 无内容则不展示,同时 tooltip 需要隐藏\n this.hideTooltip();\n return;\n }\n const title = this.getTitle(items);\n const dataPoint = {\n x: items[0].x,\n y: items[0].y,\n }; // 数据点位置\n\n view.emit(\n 'tooltip:show',\n Event.fromData(view, 'tooltip:show', {\n items,\n title,\n ...point,\n })\n );\n\n const cfg = this.getTooltipCfg();\n const { follow, showMarkers, showCrosshairs, showContent, marker } = cfg;\n const lastItems = this.items;\n const lastTitle = this.title;\n if (!isEqual(lastTitle, title) || !isEqual(lastItems, items)) {\n // 内容发生变化了更新 tooltip\n view.emit(\n 'tooltip:change',\n Event.fromData(view, 'tooltip:change', {\n items,\n title,\n ...point,\n })\n );\n\n if (isFunction(showContent) ? showContent(items) : showContent) {\n // 展示 tooltip 内容框才渲染 tooltip\n if (!this.tooltip) {\n // 延迟生成\n this.renderTooltip();\n }\n this.tooltip.update(\n mix(\n {},\n cfg,\n {\n items: this.getItemsAfterProcess(items),\n title,\n },\n follow ? point : {}\n )\n );\n this.tooltip.show();\n }\n\n if (showMarkers) {\n // 展示 tooltipMarkers,tooltipMarkers 跟随数据\n this.renderTooltipMarkers(items, marker);\n }\n } else {\n // 内容未发生变化,则更新位置\n if (this.tooltip && follow) {\n this.tooltip.update(point);\n this.tooltip.show(); // tooltip 有可能被隐藏,需要保证显示状态\n }\n\n if (this.tooltipMarkersGroup) {\n this.tooltipMarkersGroup.show();\n }\n }\n\n this.items = items;\n this.title = title;\n\n if (showCrosshairs) {\n // 展示 tooltip 辅助线\n const isCrosshairsFollowCursor = get(cfg, ['crosshairs', 'follow'], false); // 辅助线是否要跟随鼠标\n this.renderCrosshairs(isCrosshairsFollowCursor ? point : dataPoint, cfg);\n }\n }\n\n public hideTooltip() {\n const { follow } = this.getTooltipCfg();\n if (!follow) {\n this.point = null;\n return;\n }\n // hide the tooltipMarkers\n const tooltipMarkersGroup = this.tooltipMarkersGroup;\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.hide();\n }\n\n // hide crosshairs\n const xCrosshair = this.xCrosshair;\n const yCrosshair = this.yCrosshair;\n if (xCrosshair) {\n xCrosshair.hide();\n }\n if (yCrosshair) {\n yCrosshair.hide();\n }\n\n const tooltip = this.tooltip;\n if (tooltip) {\n tooltip.hide();\n }\n\n this.view.emit('tooltip:hide', Event.fromData(this.view, 'tooltip:hide', {}));\n\n this.point = null;\n }\n\n /**\n * lockTooltip\n */\n public lockTooltip() {\n this.isLocked = true;\n if (this.tooltip) {\n // tooltip contianer 可捕获事件\n this.tooltip.setCapture(true);\n }\n }\n\n /**\n * unlockTooltip\n */\n public unlockTooltip() {\n this.isLocked = false;\n const cfg = this.getTooltipCfg();\n if (this.tooltip) {\n // 重置 capture 属性\n this.tooltip.setCapture(cfg.capture);\n }\n }\n\n /**\n * isTooltipLocked\n */\n public isTooltipLocked() {\n return this.isLocked;\n }\n\n public clear() {\n const { tooltip, xCrosshair, yCrosshair, tooltipMarkersGroup } = this;\n if (tooltip) {\n tooltip.hide();\n tooltip.clear();\n }\n\n if (xCrosshair) {\n xCrosshair.clear();\n }\n\n if (yCrosshair) {\n yCrosshair.clear();\n }\n\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.clear();\n }\n\n // 如果 customContent 不为空,就重新生成 tooltip\n if (tooltip?.get('customContent')) {\n this.tooltip.destroy();\n this.tooltip = null;\n }\n\n // title 和 items 需要清空, 否则 tooltip 内容会出现置空的情况\n // 即:需要走进 !isEqual(lastTitle, title) || !isEqual(lastItems, items) 的逻辑,更新 tooltip 的内容\n this.title = null;\n this.items = null;\n }\n\n public destroy() {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n if (this.xCrosshair) {\n this.xCrosshair.destroy();\n }\n if (this.yCrosshair) {\n this.yCrosshair.destroy();\n }\n\n if (this.guideGroup) {\n this.guideGroup.remove(true);\n }\n\n this.reset();\n }\n\n public reset() {\n this.items = null;\n this.title = null;\n this.tooltipMarkersGroup = null;\n this.tooltipCrosshairsGroup = null;\n this.xCrosshair = null;\n this.yCrosshair = null;\n this.tooltip = null;\n this.guideGroup = null;\n this.isLocked = false;\n this.point = null;\n }\n\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n const { tooltip, tooltipMarkersGroup, xCrosshair, yCrosshair } = this;\n if (visible) {\n if (tooltip) {\n tooltip.show();\n }\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.show();\n }\n if (xCrosshair) {\n xCrosshair.show();\n }\n if (yCrosshair) {\n yCrosshair.show();\n }\n } else {\n if (tooltip) {\n tooltip.hide();\n }\n if (tooltipMarkersGroup) {\n tooltipMarkersGroup.hide();\n }\n if (xCrosshair) {\n xCrosshair.hide();\n }\n if (yCrosshair) {\n yCrosshair.hide();\n }\n }\n this.visible = visible;\n }\n\n public getTooltipItems(point: Point) {\n let items = this.findItemsFromView(this.view, point);\n if (items.length) {\n // 三层\n items = flatten(items);\n for (const itemArr of items) {\n for (const item of itemArr) {\n const { x, y } = item.mappingData;\n item.x = isArray(x) ? x[x.length - 1] : x;\n item.y = isArray(y) ? y[y.length - 1] : y;\n }\n }\n\n const { shared } = this.getTooltipCfg();\n // shared: false 代表只显示当前拾取到的 shape 的数据,但是一个 view 会有多个 Geometry,所以有可能会拾取到多个 shape\n if (shared === false && items.length > 1) {\n let snapItem = items[0];\n let min = Math.abs(point.y - snapItem[0].y);\n for (const aItem of items) {\n const yDistance = Math.abs(point.y - aItem[0].y);\n if (yDistance <= min) {\n snapItem = aItem;\n min = yDistance;\n }\n }\n items = [snapItem];\n }\n\n return uniq(flatten(items));\n }\n\n return [];\n }\n\n public layout() { }\n\n public update() {\n if (this.point) {\n this.showTooltip(this.point);\n }\n\n if (this.tooltip) {\n // #2279 修复resize之后tooltip越界的问题\n // 确保tooltip已经创建的情况下\n const canvas = this.view.getCanvas();\n // TODO 逍为 tooltip 的区域不应该是 canvas,而应该是整个 特别是在图比较小的时候\n // 更新 region\n this.tooltip.set('region', {\n start: { x: 0, y: 0 },\n end: { x: canvas.get('width'), y: canvas.get('height') },\n });\n }\n }\n\n /**\n * 当前鼠标点是在 enter tooltip 中\n * @param point\n */\n public isCursorEntered(point: Point) {\n // 是可捕获的,并且点在 tooltip dom 上\n if (this.tooltip) {\n const el: HTMLElement = this.tooltip.getContainer();\n const capture = this.tooltip.get('capture');\n\n if (el && capture) {\n const { x, y, width, height } = el.getBoundingClientRect();\n return new BBox(x, y, width, height).isPointIn(point);\n }\n }\n\n return false;\n }\n\n // 获取 tooltip 配置,因为用户可能会通过 view.tooltip() 重新配置 tooltip,所以就不做缓存,每次直接读取\n public getTooltipCfg() {\n const view = this.view;\n const option = view.getOptions().tooltip;\n const processOption = this.processCustomContent(option);\n const theme = view.getTheme();\n const defaultCfg = get(theme, ['components', 'tooltip'], {});\n const enterable = get(processOption, 'enterable', defaultCfg.enterable);\n return deepMix({}, defaultCfg, processOption, {\n capture: enterable || this.isLocked ? true : false,\n });\n }\n\n // process customContent\n protected processCustomContent(option: TooltipOption) {\n if (isBoolean(option) || !get(option, 'customContent')) {\n return option;\n }\n const currentCustomContent = option.customContent;\n const customContent = (title: string, items: any[]) => {\n const content = currentCustomContent(title, items) || '';\n return isString(content) ? '
' + content + '
' : content;\n };\n return {\n ...option,\n customContent,\n };\n }\n\n private getTitle(items) {\n const title = items[0].title || items[0].name;\n this.title = title;\n\n return title;\n }\n\n private renderTooltip() {\n const canvas = this.view.getCanvas();\n const region = {\n start: { x: 0, y: 0 },\n end: { x: canvas.get('width'), y: canvas.get('height') },\n };\n\n const cfg = this.getTooltipCfg();\n const tooltip = new HtmlTooltip({\n parent: canvas.get('el').parentNode,\n region,\n ...cfg,\n visible: false,\n crosshairs: null,\n });\n\n tooltip.init();\n this.tooltip = tooltip;\n }\n\n private renderTooltipMarkers(items, marker) {\n const tooltipMarkersGroup = this.getTooltipMarkersGroup();\n const rootView = this.view.getRootView();\n const { limitInPlot } = rootView;\n for (const item of items) {\n const { x, y } = item;\n\n // 有裁剪就剪切\n if (limitInPlot || tooltipMarkersGroup?.getClip()) {\n const { type, attrs } = getCoordinateClipCfg(rootView.getCoordinate());\n tooltipMarkersGroup?.setClip({\n type,\n attrs,\n });\n } else {\n // 清除已有的 clip\n tooltipMarkersGroup?.setClip(undefined);\n }\n\n const theme = this.view.getTheme();\n const markerDefaultCfg = get(theme, ['components', 'tooltip', 'marker'], {});\n\n const attrs = {\n fill: item.color,\n symbol: 'circle',\n shadowColor: item.color,\n ...(isFunction(marker) ? { ...markerDefaultCfg, ...marker(item) } : marker),\n x,\n y,\n };\n\n tooltipMarkersGroup.addShape('marker', {\n attrs,\n });\n }\n }\n\n private renderCrosshairs(point: Point, cfg) {\n const crosshairsType = get(cfg, ['crosshairs', 'type'], 'x'); // 默认展示 x 轴上的辅助线\n if (crosshairsType === 'x') {\n if (this.yCrosshair) {\n this.yCrosshair.hide();\n }\n this.renderXCrosshairs(point, cfg);\n } else if (crosshairsType === 'y') {\n if (this.xCrosshair) {\n this.xCrosshair.hide();\n }\n this.renderYCrosshairs(point, cfg);\n } else if (crosshairsType === 'xy') {\n this.renderXCrosshairs(point, cfg);\n this.renderYCrosshairs(point, cfg);\n }\n }\n\n // 渲染 x 轴上的 tooltip 辅助线\n private renderXCrosshairs(point: Point, tooltipCfg) {\n const coordinate = this.getViewWithGeometry(this.view).getCoordinate();\n let start;\n let end;\n if (coordinate.isRect) {\n if (coordinate.isTransposed) {\n start = {\n x: coordinate.start.x,\n y: point.y,\n };\n end = {\n x: coordinate.end.x,\n y: point.y,\n };\n } else {\n start = {\n x: point.x,\n y: coordinate.end.y,\n };\n end = {\n x: point.x,\n y: coordinate.start.y,\n };\n }\n } else {\n // 极坐标下 x 轴上的 crosshairs 表现为半径\n const angle = getAngleByPoint(coordinate, point);\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n end = polarToCartesian(center.x, center.y, radius, angle);\n start = center;\n }\n\n const cfg = deepMix(\n {\n start,\n end,\n container: this.getTooltipCrosshairsGroup(),\n },\n get(tooltipCfg, 'crosshairs', {}),\n this.getCrosshairsText('x', point, tooltipCfg)\n );\n delete cfg.type; // 与 Crosshairs 组件的 type 冲突故删除\n\n let xCrosshair = this.xCrosshair;\n if (xCrosshair) {\n xCrosshair.update(cfg);\n } else {\n xCrosshair = new Crosshair.Line(cfg);\n xCrosshair.init();\n }\n xCrosshair.render();\n xCrosshair.show();\n this.xCrosshair = xCrosshair;\n }\n\n // 渲染 y 轴上的辅助线\n private renderYCrosshairs(point: Point, tooltipCfg) {\n const coordinate = this.getViewWithGeometry(this.view).getCoordinate();\n let cfg;\n let type;\n if (coordinate.isRect) {\n let start;\n let end;\n if (coordinate.isTransposed) {\n start = {\n x: point.x,\n y: coordinate.end.y,\n };\n end = {\n x: point.x,\n y: coordinate.start.y,\n };\n } else {\n start = {\n x: coordinate.start.x,\n y: point.y,\n };\n end = {\n x: coordinate.end.x,\n y: point.y,\n };\n }\n cfg = {\n start,\n end,\n };\n type = 'Line';\n } else {\n // 极坐标下 y 轴上的 crosshairs 表现为圆弧\n cfg = {\n center: coordinate.getCenter(),\n // @ts-ignore\n radius: getDistanceToCenter(coordinate, point),\n startAngle: coordinate.startAngle,\n endAngle: coordinate.endAngle,\n };\n type = 'Circle';\n }\n\n cfg = deepMix(\n {\n container: this.getTooltipCrosshairsGroup(),\n },\n cfg,\n get(tooltipCfg, 'crosshairs', {}),\n this.getCrosshairsText('y', point, tooltipCfg)\n );\n delete cfg.type; // 与 Crosshairs 组件的 type 冲突故删除\n\n let yCrosshair = this.yCrosshair;\n if (yCrosshair) {\n // 如果坐标系发生直角坐标系与极坐标的切换操作\n if (\n (coordinate.isRect && yCrosshair.get('type') === 'circle') ||\n (!coordinate.isRect && yCrosshair.get('type') === 'line')\n ) {\n yCrosshair = new Crosshair[type](cfg);\n yCrosshair.init();\n } else {\n yCrosshair.update(cfg);\n }\n } else {\n yCrosshair = new Crosshair[type](cfg);\n yCrosshair.init();\n }\n yCrosshair.render();\n yCrosshair.show();\n this.yCrosshair = yCrosshair;\n }\n\n private getCrosshairsText(type, point: Point, tooltipCfg) {\n let textCfg = get(tooltipCfg, ['crosshairs', 'text']);\n const follow = get(tooltipCfg, ['crosshairs', 'follow']);\n const items = this.items;\n\n if (textCfg) {\n const view = this.getViewWithGeometry(this.view);\n // 需要展示文本\n const firstItem = items[0];\n const xScale = view.getXScale();\n const yScale = view.getYScales()[0];\n let xValue;\n let yValue;\n if (follow) {\n // 如果需要跟随鼠标移动,就需要将当前鼠标坐标点转换为对应的数值\n const invertPoint = this.view.getCoordinate().invert(point);\n xValue = xScale.invert(invertPoint.x); // 转换为原始值\n yValue = yScale.invert(invertPoint.y); // 转换为原始值\n } else {\n xValue = firstItem.data[xScale.field];\n yValue = firstItem.data[yScale.field];\n }\n\n const content = type === 'x' ? xValue : yValue;\n if (isFunction(textCfg)) {\n textCfg = textCfg(type, content, items, point);\n } else {\n textCfg.content = content;\n }\n\n return {\n text: textCfg,\n };\n }\n }\n\n // 获取存储 tooltipMarkers 和 crosshairs 的容器\n private getGuideGroup() {\n if (!this.guideGroup) {\n const foregroundGroup = this.view.foregroundGroup;\n this.guideGroup = foregroundGroup.addGroup({\n name: 'tooltipGuide',\n capture: false,\n });\n }\n\n return this.guideGroup;\n }\n\n // 获取 tooltipMarkers 存储的容器\n private getTooltipMarkersGroup() {\n let tooltipMarkersGroup = this.tooltipMarkersGroup;\n if (tooltipMarkersGroup && !tooltipMarkersGroup.destroyed) {\n tooltipMarkersGroup.clear();\n tooltipMarkersGroup.show();\n } else {\n tooltipMarkersGroup = this.getGuideGroup().addGroup({\n name: 'tooltipMarkersGroup',\n });\n tooltipMarkersGroup.toFront();\n this.tooltipMarkersGroup = tooltipMarkersGroup;\n }\n return tooltipMarkersGroup;\n }\n\n // 获取 tooltip crosshairs 存储的容器\n private getTooltipCrosshairsGroup() {\n let tooltipCrosshairsGroup = this.tooltipCrosshairsGroup;\n if (!tooltipCrosshairsGroup) {\n tooltipCrosshairsGroup = this.getGuideGroup().addGroup({\n name: 'tooltipCrosshairsGroup',\n capture: false,\n });\n tooltipCrosshairsGroup.toBack();\n this.tooltipCrosshairsGroup = tooltipCrosshairsGroup;\n }\n return tooltipCrosshairsGroup;\n }\n\n private findItemsFromView(view: View, point: Point) {\n if (view.getOptions().tooltip === false) {\n // 如果 view 关闭了 tooltip\n return [];\n }\n\n const tooltipCfg = this.getTooltipCfg();\n let result = findItemsFromView(view, point, tooltipCfg);\n // 递归查找,并合并结果\n for (const childView of view.views) {\n result = result.concat(this.findItemsFromView(childView, point));\n }\n\n return result;\n }\n\n // FIXME: hack 方法\n // 因为 tooltip 的交互是挂载在 Chart 上,所以当chart 上没有绘制 Geometry 的时候,就查找不到数据,并且绘图区域同子 View 的区域不同\n private getViewWithGeometry(view) {\n if (view.geometries.length) {\n return view;\n }\n\n return find(view.views, (childView) => this.getViewWithGeometry(childView));\n }\n\n /**\n * 根据用户配置的 items 配置,来进行用户自定义的处理,并返回最终的 items\n * 默认不做任何处理\n */\n private getItemsAfterProcess(originalItems: TooltipItem[]): TooltipItem[] {\n const { customItems } = this.getTooltipCfg();\n const fn = customItems ? customItems : (v) => v;\n\n return fn(originalItems);\n }\n}\n","import { IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\n/** @ignore */\ninterface AnimationMap {\n [key: string]: Animation;\n}\n\ntype Animation = (element: IGroup | IShape, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) => void;\n\nconst ANIMATIONS_MAP: AnimationMap = {};\n\n/**\n * 根据名称获取对应的动画执行函数\n * @param type 动画函数名称\n */\nexport function getAnimation(type: string) {\n return ANIMATIONS_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册动画执行函数\n * @param type 动画执行函数名称\n * @param animation 动画执行函数\n */\nexport function registerAnimation(type: string, animation: Animation) {\n ANIMATIONS_MAP[type.toLowerCase()] = animation;\n}\n","import { deepMix, get, isFunction } from '@antv/util';\nimport { FIELD_ORIGIN } from '../constant';\nimport { Coordinate, IGroup, IShape } from '../dependents';\nimport { AnimateCfg, Data, Datum, GAnimateCfg, Point } from '../interface';\nimport { AnimateExtraCfg } from './interface';\n\nimport { getAnimation } from './animation';\n\n// 默认的动画参数配置\nexport const DEFAULT_ANIMATE_CFG = {\n appear: {\n duration: 450,\n easing: 'easeQuadOut',\n }, // 初始入场动画配置\n update: {\n duration: 400,\n easing: 'easeQuadInOut',\n }, // 更新时发生变更的动画配置\n enter: {\n duration: 400,\n easing: 'easeQuadInOut',\n }, // 更新时新增元素的入场动画配置\n leave: {\n duration: 350,\n easing: 'easeQuadIn',\n }, // 更新时销毁动画配置\n};\n\n// 各个 Geometry 默认的动画执行函数\nconst GEOMETRY_ANIMATE_CFG = {\n interval: (coordinate: Coordinate) => {\n return {\n enter: {\n animation: coordinate.isRect ? (coordinate.isTransposed ? 'scale-in-x' : 'scale-in-y') : 'fade-in',\n },\n update: {\n animation: coordinate.isPolar && coordinate.isTransposed ? 'sector-path-update' : null,\n },\n leave: {\n animation: 'fade-out',\n },\n };\n },\n line: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n path: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n point: {\n appear: {\n animation: 'zoom-in',\n },\n enter: {\n animation: 'zoom-in',\n },\n leave: {\n animation: 'zoom-out',\n },\n },\n area: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n polygon: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n schema: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n edge: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n label: {\n appear: {\n animation: 'fade-in',\n delay: 450,\n },\n enter: {\n animation: 'fade-in',\n },\n update: {\n animation: 'position-update',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n};\n\n// 各个 Geometry 默认的群组出场动画\nconst GEOMETRY_GROUP_APPEAR_ANIMATION = {\n line: () => {\n return {\n animation: 'wave-in',\n };\n },\n area: () => {\n return {\n animation: 'wave-in',\n };\n },\n path: () => {\n return {\n animation: 'fade-in',\n };\n },\n interval(coordinate: Coordinate) {\n let animation;\n\n if (coordinate.isRect) {\n animation = coordinate.isTransposed ? 'grow-in-x' : 'grow-in-y';\n } else {\n animation = 'grow-in-xy';\n if (coordinate.isPolar && coordinate.isTransposed) {\n // pie chart\n animation = 'wave-in';\n }\n }\n return {\n animation,\n };\n },\n schema: (coordinate) => {\n let animation;\n if (coordinate.isRect) {\n animation = coordinate.isTransposed ? 'grow-in-x' : 'grow-in-y';\n } else {\n animation = 'grow-in-xy';\n }\n return {\n animation,\n };\n },\n polygon: () => {\n return {\n animation: 'fade-in',\n duration: 500,\n };\n },\n edge: () => {\n return {\n animation: 'fade-in',\n };\n },\n};\n\n// 解析用户的动画配置\nfunction parseAnimateConfig(animateCfg: AnimateCfg, data: Data | Datum): GAnimateCfg {\n return {\n delay: isFunction(animateCfg.delay) ? animateCfg.delay(data) : animateCfg.delay,\n easing: isFunction(animateCfg.easing) ? animateCfg.easing(data) : animateCfg.easing,\n duration: isFunction(animateCfg.duration) ? animateCfg.duration(data) : animateCfg.duration,\n callback: animateCfg.callback,\n repeat: animateCfg.repeat,\n };\n}\n\n/**\n * @ignore\n * 获取 elementName 对应的动画配置,当声明了 `animateType`,则返回 `animateType` 对应的动画配置\n * @param elementName 元素名称\n * @param coordinate 做表弟类型\n * @param animateType 可选,动画类型\n */\nexport function getDefaultAnimateCfg(elementName: string, coordinate: Coordinate, animateType?: string) {\n let animateCfg = GEOMETRY_ANIMATE_CFG[elementName];\n\n if (animateCfg) {\n if (isFunction(animateCfg)) {\n animateCfg = animateCfg(coordinate);\n }\n animateCfg = deepMix({}, DEFAULT_ANIMATE_CFG, animateCfg);\n\n if (animateType) {\n return animateCfg[animateType];\n }\n }\n return animateCfg;\n}\n\n/**\n * @ignore\n * 工具函数\n * 根据用户传入的配置为 shape 执行动画\n * @param shape 执行动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外的信息\n */\nexport function doAnimate(shape: IGroup | IShape, animateCfg: AnimateCfg, cfg: AnimateExtraCfg) {\n const data = get(shape.get('origin'), 'data', FIELD_ORIGIN);\n const animation = animateCfg.animation; // 获取动画执行函数\n const parsedAnimateCfg = parseAnimateConfig(animateCfg, data);\n if (animation) {\n // 用户声明了动画执行函数\n const animateFunction = getAnimation(animation);\n if (animateFunction) {\n animateFunction(shape, parsedAnimateCfg, cfg);\n }\n } else {\n // 没有声明,则根据 toAttrs 做差值动画\n shape.animate(cfg.toAttrs, parsedAnimateCfg);\n }\n}\n\n/**\n * @ignore\n * 执行 Geometry 群组入场动画\n * @param container 执行群组动画的图形元素\n * @param animateCfg 动画配置\n * @param geometryType geometry 类型\n * @param coordinate 坐标系对象\n * @param minYPoint y 轴最小值对应的画布坐标点\n */\nexport function doGroupAppearAnimate(\n container: IGroup,\n animateCfg: AnimateCfg,\n geometryType: string,\n coordinate: Coordinate,\n minYPoint: Point\n) {\n if (GEOMETRY_GROUP_APPEAR_ANIMATION[geometryType]) {\n const defaultCfg = GEOMETRY_GROUP_APPEAR_ANIMATION[geometryType](coordinate);\n const animation = getAnimation(get(defaultCfg, 'animation', ''));\n if (animation) {\n const cfg = {\n ...DEFAULT_ANIMATE_CFG.appear,\n ...defaultCfg,\n ...animateCfg,\n };\n container.stopAnimate(); // 先结束当前 container 动画\n animation(container, cfg, {\n coordinate,\n minYPoint,\n toAttrs: null,\n });\n }\n }\n}\n","/**\n * Name of Background Shape\n */\nexport const BACKGROUND_SHAPE = 'element-background';\n","import { deepMix, each, get, isArray, isEmpty, isEqual, isFunction, isString } from '@antv/util';\n// 暂未发包\n// @ts-ignore\nimport { propagationDelegate } from '@antv/component';\nimport { doAnimate } from '../../animate';\nimport Base from '../../base';\nimport { BBox, IGroup, IShape } from '../../dependents';\nimport { AnimateOption, Datum, ShapeFactory, ShapeInfo, StateCfg } from '../../interface';\nimport { getReplaceAttrs } from '../../util/graphics';\nimport Geometry from '../base';\nimport { GEOMETRY_LIFE_CIRCLE } from '../../constant';\nimport { BACKGROUND_SHAPE } from '../shape/constant';\n\n/** Element 构造函数传入参数类型 */\ninterface ElementCfg {\n /** 用于创建各种 shape 的工厂对象 */\n shapeFactory: ShapeFactory;\n /** shape 容器 */\n container: IGroup;\n /** element 的索引 */\n elementIndex?: number;\n /** 虚拟 group,用户可以不传入 */\n offscreenGroup?: IGroup;\n /** 是否可见 */\n visible?: boolean;\n}\n\n/**\n * Element 图形元素。\n * 定义:在 G2 中,我们会将数据通过图形语法映射成不同的图形,比如点图,数据集中的每条数据会对应一个点,柱状图每条数据对应一个柱子,线图则是一组数据对应一条折线,Element 即一条/一组数据对应的图形元素,它代表一条数据或者一个数据集,在图形层面,它可以是单个 Shape 也可以是多个 Shape,我们称之为图形元素。\n */\nexport default class Element extends Base {\n /** 用于创建各种 shape 的工厂对象 */\n public shapeFactory: ShapeFactory;\n /** shape 容器 */\n public container: IGroup;\n /** element 索引 */\n public elementIndex: number;\n /** 最后创建的图形对象 */\n public shape: IShape | IGroup;\n /** shape 的动画配置 */\n public animate: AnimateOption | boolean;\n\n // 非构造函数属性,需要外部赋值\n /** element 对应的 Geometry 实例 */\n public geometry: Geometry;\n /** 保存 shape 对应的 label */\n public labelShape: IGroup[] = [];\n\n /** 绘制的 shape 类型 */\n private shapeType: string;\n\n /** shape 绘制需要的数据 */\n private model: ShapeInfo;\n /** 原始数据 */\n private data: Datum;\n // 存储当前开启的状态\n private states: string[] = [];\n private statesStyle;\n // 虚拟 Group\n private offscreenGroup: IGroup;\n\n constructor(cfg: ElementCfg) {\n super(cfg);\n\n const { shapeFactory, container, offscreenGroup, elementIndex, visible = true } = cfg;\n this.shapeFactory = shapeFactory;\n this.container = container;\n this.offscreenGroup = offscreenGroup;\n this.visible = visible;\n this.elementIndex = elementIndex;\n }\n\n /**\n * 绘制图形。\n * @param model 绘制数据。\n * @param isUpdate 可选,是否是更新发生后的绘制。\n */\n public draw(model: ShapeInfo, isUpdate: boolean = false) {\n this.model = model;\n this.data = model.data; // 存储原始数据\n this.shapeType = this.getShapeType(model);\n\n // 绘制图形\n this.drawShape(model, isUpdate);\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 更新图形。\n * @param model 更新的绘制数据。\n */\n public update(model: ShapeInfo) {\n const { shapeFactory, shape } = this;\n if (!shape) {\n return;\n }\n\n // 更新数据\n this.model = model;\n this.data = model.data;\n this.shapeType = this.getShapeType(model);\n\n // step 1: 更新 shape 携带的信息\n this.setShapeInfo(shape, model);\n\n // step 2: 使用虚拟 Group 重新绘制 shape,然后更新当前 shape\n const offscreenGroup = this.getOffscreenGroup();\n const newShape = shapeFactory.drawShape(this.shapeType, model, offscreenGroup);\n // @ts-ignore\n newShape.cfg.data = this.data;\n // @ts-ignore\n newShape.cfg.origin = model;\n // label 需要使用\n newShape.cfg.element = this;\n\n // step 3: 同步 shape 样式\n this.syncShapeStyle(shape, newShape, this.getStates(), this.getAnimateCfg('update'));\n }\n\n /**\n * 销毁 element 实例。\n */\n public destroy() {\n const { shapeFactory, shape } = this;\n\n if (shape) {\n const animateCfg = this.getAnimateCfg('leave');\n if (animateCfg) {\n // 指定了动画配置则执行销毁动画\n doAnimate(shape, animateCfg, {\n coordinate: shapeFactory.coordinate,\n toAttrs: {\n ...shape.attr(),\n },\n });\n } else {\n // 否则直接销毁\n shape.remove(true);\n }\n }\n\n // reset\n this.states = [];\n this.shapeFactory = undefined;\n this.container = undefined;\n this.shape = undefined;\n this.animate = undefined;\n this.geometry = undefined;\n this.labelShape = [];\n this.model = undefined;\n this.data = undefined;\n this.offscreenGroup = undefined;\n this.statesStyle = undefined;\n\n super.destroy();\n }\n\n /**\n * 显示或者隐藏 element。\n * @param visible 是否可见。\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible);\n\n if (visible) {\n if (this.shape) {\n this.shape.show();\n }\n if (this.labelShape) {\n this.labelShape.forEach((label: IGroup) => {\n label.show();\n });\n }\n } else {\n if (this.shape) {\n this.shape.hide();\n }\n if (this.labelShape) {\n this.labelShape.forEach((label: IGroup) => {\n label.hide();\n });\n }\n }\n }\n\n /**\n * 设置 Element 的状态。\n *\n * 目前 Element 开放三种状态:\n * 1. active\n * 2. selected\n * 3. inactive\n *\n * 这三种状态相互独立,可以进行叠加。\n *\n * 这三种状态的样式可在 [[Theme]] 主题中或者通过 `geometry.state()` 接口进行配置。\n *\n * ```ts\n * // 激活 active 状态\n * setState('active', true);\n * ```\n *\n * @param stateName 状态名\n * @param stateStatus 是否开启状态\n */\n public setState(stateName: string, stateStatus: boolean) {\n const { states, shapeFactory, model, shape, shapeType } = this;\n\n const index = states.indexOf(stateName);\n if (stateStatus) {\n // 开启状态\n if (index > -1) {\n // 该状态已经开启,则返回\n return;\n }\n states.push(stateName);\n if (stateName === 'active' || stateName === 'selected') {\n shape?.toFront();\n }\n } else {\n if (index === -1) {\n // 关闭状态,但是状态未设置过\n return;\n }\n states.splice(index, 1);\n if (stateName === 'active' || stateName === 'selected') {\n const { sortZIndex, zIndexReversed } = this.geometry;\n const idx = zIndexReversed ? this.geometry.elements.length - this.elementIndex : this.elementIndex;\n sortZIndex ? shape.setZIndex(idx) : shape.set('zIndex', idx);\n }\n }\n\n // 使用虚拟 group 重新绘制 shape,然后对这个 shape 应用状态样式后,更新当前 shape。\n const offscreenShape = shapeFactory.drawShape(shapeType, model, this.getOffscreenGroup());\n if (states.length) {\n // 应用当前状态\n this.syncShapeStyle(shape, offscreenShape, states, null);\n } else {\n // 如果没有状态,则需要恢复至原始状态\n this.syncShapeStyle(shape, offscreenShape, ['reset'], null);\n }\n\n offscreenShape.remove(true); // 销毁,减少内存占用\n\n const eventObject = {\n state: stateName,\n stateStatus,\n element: this,\n target: this.container,\n };\n this.container.emit('statechange', eventObject);\n // @ts-ignore\n propagationDelegate(this.shape, 'statechange', eventObject);\n }\n\n /**\n * 清空状量态,恢复至初始状态。\n */\n public clearStates() {\n const states = this.states;\n\n each(states, (state) => {\n this.setState(state, false);\n });\n\n this.states = [];\n }\n\n /**\n * 查询当前 Element 上是否已设置 `stateName` 对应的状态。\n * @param stateName 状态名称。\n * @returns true 表示存在,false 表示不存在。\n */\n public hasState(stateName: string): boolean {\n return this.states.includes(stateName);\n }\n\n /**\n * 获取当前 Element 上所有的状态。\n * @returns 当前 Element 上所有的状态数组。\n */\n public getStates(): string[] {\n return this.states;\n }\n\n /**\n * 获取 Element 对应的原始数据。\n * @returns 原始数据。\n */\n public getData(): Datum {\n return this.data;\n }\n\n /**\n * 获取 Element 对应的图形绘制数据。\n * @returns 图形绘制数据。\n */\n public getModel(): ShapeInfo {\n return this.model;\n }\n\n /**\n * 返回 Element 元素整体的 bbox,包含文本及文本连线(有的话)。\n * @returns 整体包围盒。\n */\n public getBBox(): BBox {\n const { shape, labelShape } = this;\n let bbox = {\n x: 0,\n y: 0,\n minX: 0,\n minY: 0,\n maxX: 0,\n maxY: 0,\n width: 0,\n height: 0,\n };\n if (shape) {\n bbox = shape.getCanvasBBox();\n }\n if (labelShape) {\n labelShape.forEach((label: IGroup) => {\n const labelBBox = label.getCanvasBBox();\n bbox.x = Math.min(labelBBox.x, bbox.x);\n bbox.y = Math.min(labelBBox.y, bbox.y);\n bbox.minX = Math.min(labelBBox.minX, bbox.minX);\n bbox.minY = Math.min(labelBBox.minY, bbox.minY);\n bbox.maxX = Math.max(labelBBox.maxX, bbox.maxX);\n bbox.maxY = Math.max(labelBBox.maxY, bbox.maxY);\n });\n }\n\n bbox.width = bbox.maxX - bbox.minX;\n bbox.height = bbox.maxY - bbox.minY;\n\n return bbox;\n }\n\n private getStatesStyle() {\n if (!this.statesStyle) {\n const { shapeType, geometry, shapeFactory } = this;\n const stateOption = geometry.stateOption;\n const defaultShapeType = shapeFactory.defaultShapeType;\n const stateTheme = shapeFactory.theme[shapeType] || shapeFactory.theme[defaultShapeType];\n this.statesStyle = deepMix({}, stateTheme, stateOption);\n }\n\n return this.statesStyle;\n }\n\n // 从主题中获取对应状态量的样式\n private getStateStyle(stateName: string, shapeKey?: string): StateCfg {\n const statesStyle = this.getStatesStyle();\n const stateCfg = get(statesStyle, [stateName, 'style'], {});\n const shapeStyle = stateCfg[shapeKey] || stateCfg;\n if (isFunction(shapeStyle)) {\n return shapeStyle(this);\n }\n\n return shapeStyle;\n }\n\n // 获取动画配置\n private getAnimateCfg(animateType: string) {\n const animate = this.animate;\n if (animate) {\n const cfg = animate[animateType];\n\n if (cfg) {\n // 增加动画的回调函数,如果外部传入了,则先执行外部,然后发射 geometry 的 animate 事件\n return {\n ...cfg,\n callback: () => {\n isFunction(cfg.callback) && cfg.callback();\n this.geometry?.emit(GEOMETRY_LIFE_CIRCLE.AFTER_DRAW_ANIMATE);\n },\n };\n }\n return cfg;\n }\n\n return null;\n }\n\n // 绘制图形\n private drawShape(model: ShapeInfo, isUpdate: boolean = false) {\n const { shapeFactory, container, shapeType } = this;\n\n // 自定义 shape 有可能返回空 shape\n this.shape = shapeFactory.drawShape(shapeType, model, container);\n\n if (this.shape) {\n this.setShapeInfo(this.shape, model); // 存储绘图数据\n // @ts-ignore\n const name = this.shape.cfg.name;\n // 附加 element 的 name, name 现在支持数组了,很好用了\n if (!name) {\n // 这个地方如果用户添加了 name, 则附加 name ,否则就添加自己的 name\n // @ts-ignore\n this.shape.cfg.name = ['element', this.shapeFactory.geometryType];\n } else if (isString(name)) {\n // @ts-ignore\n this.shape.cfg.name = ['element', name];\n }\n // 执行入场动画\n const animateType = isUpdate ? 'enter' : 'appear';\n const animateCfg = this.getAnimateCfg(animateType);\n if (animateCfg) {\n // 开始执行动画的生命周期\n this.geometry?.emit(GEOMETRY_LIFE_CIRCLE.BEFORE_DRAW_ANIMATE);\n\n doAnimate(this.shape, animateCfg, {\n coordinate: shapeFactory.coordinate,\n toAttrs: {\n ...this.shape.attr(),\n },\n });\n }\n }\n }\n\n // 获取虚拟 Group\n private getOffscreenGroup() {\n if (!this.offscreenGroup) {\n const GroupCtor = this.container.getGroupBase(); // 获取分组的构造函数\n this.offscreenGroup = new GroupCtor({});\n }\n\n return this.offscreenGroup;\n }\n\n // 设置 shape 上需要携带的信息\n private setShapeInfo(shape: IShape | IGroup, data: ShapeInfo) {\n // @ts-ignore\n shape.cfg.origin = data;\n // @ts-ignore\n shape.cfg.element = this;\n if (shape.isGroup()) {\n const children = shape.get('children');\n children.forEach((child) => {\n this.setShapeInfo(child, data);\n });\n }\n }\n\n // 更新当前 shape 的样式\n private syncShapeStyle(\n sourceShape: IGroup | IShape,\n targetShape: IGroup | IShape,\n states: string[] = [],\n animateCfg,\n index: number = 0\n ) {\n if (!sourceShape || !targetShape) {\n return;\n }\n // 所有的 shape 都需要同步 clip\n const clip = sourceShape.get('clipShape');\n const newClip = targetShape.get('clipShape');\n\n this.syncShapeStyle(clip, newClip, states, animateCfg);\n\n if (sourceShape.isGroup()) {\n const children = sourceShape.get('children');\n const newChildren = targetShape.get('children');\n for (let i = 0; i < children.length; i++) {\n this.syncShapeStyle(children[i], newChildren[i], states, animateCfg, index + i);\n }\n } else {\n if (!isEmpty(states) && !isEqual(states, ['reset'])) {\n let name = sourceShape.get('name');\n if (isArray(name)) {\n // 会附加 element 的 name\n name = name[1];\n }\n\n each(states, (state) => {\n // background shape 不进行状态样式设置\n if (targetShape.get('name') !== BACKGROUND_SHAPE) {\n const style = this.getStateStyle(state, name || index); // 如果用户没有设置 name,则默认根据索引值\n targetShape.attr(style);\n }\n });\n }\n const newAttrs = getReplaceAttrs(sourceShape as IShape, targetShape as IShape);\n\n if (this.animate) {\n if (animateCfg) {\n this.geometry?.emit(GEOMETRY_LIFE_CIRCLE.BEFORE_DRAW_ANIMATE);\n // 需要进行动画\n doAnimate(sourceShape, animateCfg, {\n coordinate: this.shapeFactory.coordinate,\n toAttrs: newAttrs,\n shapeModel: this.model,\n });\n } else if (!isEmpty(states)) {\n sourceShape.stopAnimate();\n sourceShape.animate(newAttrs, {\n duration: 300,\n });\n } else {\n sourceShape.attr(newAttrs);\n }\n } else {\n sourceShape.attr(newAttrs);\n }\n }\n }\n\n private getShapeType(model: ShapeInfo) {\n const shape = get(model, 'shape');\n return isArray(shape) ? shape[0] : shape;\n }\n}\n","import { BBox, IGroup, IShape } from '../../dependents';\nimport { LooseObject } from '../../interface';\nimport { GeometryLabelConstructor } from './base';\nimport { LabelItem } from './interface';\n\n/**\n * label 布局函数定义\n * @param items 存储每个 label 的详细信息\n * @param labels 所有的 labels 图形实例\n * @param shapes 所有 label 对应的图形元素实例\n * @param region 画布区域\n * @param cfg 用于存储各个布局函数开放给用户的配置数据\n */\ntype GeometryLabelsLayoutFn = (\n items: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox,\n cfg?: LooseObject\n) => void;\n\nconst GEOMETRY_LABELS_MAP: Record = {};\nconst GEOMETRY_LABELS_LAYOUT_MAP: Record = {};\n\n/**\n * 获取 `type` 对应的 [[GeometryLabel]] 类\n * @param type\n * @returns\n */\nexport function getGeometryLabel(type: string): GeometryLabelConstructor {\n return GEOMETRY_LABELS_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册定义的 GeometryLabel 类\n * @param type GeometryLabel 类型名称\n * @param ctor GeometryLabel 类\n */\nexport function registerGeometryLabel(type: string, ctor: GeometryLabelConstructor) {\n GEOMETRY_LABELS_MAP[type.toLowerCase()] = ctor;\n}\n\n/**\n * 获取 `type` 对应的 [[GeometryLabelsLayoutFn]] label 布局函数\n * @param type 布局函数名称\n * @returns\n */\nexport function getGeometryLabelLayout(type: string): GeometryLabelsLayoutFn {\n return GEOMETRY_LABELS_LAYOUT_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册定义的 label 布局函数\n * @param type label 布局函数名称\n * @param layoutFn label 布局函数\n */\nexport function registerGeometryLabelLayout(type: string, layoutFn: GeometryLabelsLayoutFn) {\n GEOMETRY_LABELS_LAYOUT_MAP[type.toLowerCase()] = layoutFn;\n}\n","import { LooseObject } from '@antv/g-svg';\nimport { parsePathString } from '@antv/path-util';\nimport { deepMix, get, upperFirst } from '@antv/util';\nimport { IGroup, IShape, PathCommand } from '../../dependents';\nimport {\n Point,\n RegisterShape,\n RegisterShapeFactory,\n Shape,\n ShapeFactory,\n ShapeInfo,\n ShapeMarkerAttrs,\n ShapeMarkerCfg,\n ShapePoint,\n} from '../../interface';\n\nimport { convertNormalPath, convertPolarPath } from './util/path';\n\n/** ShapeFactory 基类 */\nconst ShapeFactoryBase = {\n /** 坐标系对象 */\n coordinate: null,\n /** 默认绘制的 Shape 类型 */\n defaultShapeType: null,\n /** 主题样式 */\n theme: null,\n /**\n * 获取 shape 绘制需要的关键点\n * @param shapeType shape 类型\n * @param shapePoint 每条数据映射后的坐标点以及 size 数值\n * @returns 图形关键点信息\n */\n getShapePoints(shapeType: string, shapePoint: ShapePoint) {\n const shape = this.getShape(shapeType);\n if (shape.getPoints) {\n return shape.getPoints(shapePoint);\n }\n\n return this.getDefaultPoints(shapePoint);\n },\n /**\n * 根据 shape 类型获取具体的 shape 实例\n * @param shapeType string shape 的类型\n * @returns\n */\n getShape(shapeType: string): Shape {\n const shape = this[shapeType] || this[this.defaultShapeType];\n shape.coordinate = this.coordinate;\n\n return shape;\n },\n /**\n * 获取 shape 的默认关键点\n * @override\n */\n getDefaultPoints() {\n return [];\n },\n /**\n * 获取 shape 的默认绘制样式 (内置的 shapeFactory 均有注册默认样式)\n */\n getDefaultStyle(geometryTheme: LooseObject): LooseObject {\n return get(geometryTheme, [this.defaultShapeType, 'default', 'style'], {});\n },\n /**\n * 获取 shape 对应的缩略图配置信息。\n * @param shapeType shape 类型\n * @param color 颜色\n * @param isInPolar 是否在极坐标系下\n * @returns 返回缩略图 marker 配置。\n */\n getMarker(shapeType: string, markerCfg: ShapeMarkerCfg): ShapeMarkerAttrs {\n let shape = this.getShape(shapeType);\n\n if (!shape.getMarker) {\n const defaultShapeType = this.defaultShapeType;\n shape = this.getShape(defaultShapeType);\n }\n\n const theme = this.theme;\n const shapeStyle = get(theme, [shapeType, 'default'], {});\n const markerStyle = shape.getMarker(markerCfg);\n\n return deepMix({}, shapeStyle, markerStyle);\n },\n /**\n * 绘制 shape\n * @override\n * @param shapeType 绘制的 shape 类型\n * @param cfg 绘制 shape 需要的信息\n * @param element Element 实例\n * @returns\n */\n drawShape(shapeType: string, cfg: ShapeInfo, container: IGroup): IShape | IGroup {\n const shape = this.getShape(shapeType);\n return shape.draw(cfg, container);\n },\n};\n\n/** Shape 基类 */\nconst ShapeBase = {\n /** 坐标系对象 */\n coordinate: null,\n /**\n * 将归一化的 path 转换成坐标系下的 path\n * @param path 归一化的路径\n * @returns\n */\n parsePath(path: string): PathCommand[] {\n const coordinate = this.coordinate;\n let parsedPath = parsePathString(path);\n if (coordinate.isPolar) {\n parsedPath = convertPolarPath(coordinate, parsedPath);\n } else {\n parsedPath = convertNormalPath(coordinate, parsedPath);\n }\n return parsedPath;\n },\n /**\n * 将归一化的坐标转换成画布坐标\n * @param point 归一化的坐标点数据\n * @returns\n */\n parsePoint(point: Point): Point {\n const coordinate = this.coordinate;\n return coordinate.convert(point);\n },\n /**\n * 0~1 points 转 画布 points\n * @param points 节点集合\n * @returns\n */\n parsePoints(points: Point[]): Point[] {\n const coordinate = this.coordinate;\n return points.map((point) => {\n return coordinate.convert(point);\n });\n },\n /**\n * 绘制 shape\n * @override\n */\n draw(cfg: ShapeInfo, container: IGroup) {},\n};\n\nconst ShapeFactoryMap = {};\n\n/**\n * 注册 ShapeFactory。\n * @param factoryName ShapeFactory 名称,对应 Geometry 几何标记名称。\n * @param cfg 注册 ShapeFactory 需要覆写定义的属性。\n * @returns 返回 ShapeFactory 对象。\n */\nexport function registerShapeFactory(factoryName: string, cfg: RegisterShapeFactory): ShapeFactory {\n const className = upperFirst(factoryName);\n const geomObj = {\n ...ShapeFactoryBase,\n ...cfg,\n geometryType: factoryName,\n };\n ShapeFactoryMap[className] = geomObj;\n return geomObj;\n}\n\n/**\n * 注册 Shape。\n * @param factoryName 对应的 ShapeFactory 名称。\n * @param shapeType 注册的 shape 名称。\n * @param cfg 注册 Shape 需要覆写定义的属性。\n * @returns shape 返回注册的 shape 对象。\n */\nexport function registerShape(factoryName: string, shapeType: string, cfg: RegisterShape): Shape {\n const className = upperFirst(factoryName);\n const factory = ShapeFactoryMap[className];\n const shapeObj = {\n ...ShapeBase,\n ...cfg,\n };\n factory[shapeType] = shapeObj;\n return shapeObj;\n}\n\n/**\n * 获取 factoryName 对应的 shapeFactory\n * @param factoryName\n * @returns shape factory\n */\nexport function getShapeFactory(factoryName: string): ShapeFactory {\n const className = upperFirst(factoryName);\n return ShapeFactoryMap[className];\n}\n","import { isEqual, some } from '@antv/util';\nimport { ShapeInfo } from '../../interface';\n\n/**\n * @ignore\n * Determines whether model is change\n * @param currentModel\n * @param preModel\n * @returns\n */\nexport function isModelChange(currentModel: ShapeInfo, preModel: ShapeInfo) {\n return some(\n ['color', 'shape', 'size', 'x', 'y', 'isInCircle', 'data', 'style', 'defaultStyle', 'points', 'mappingData'],\n (key: string) => {\n return !isEqual(currentModel[key], preModel[key]);\n }\n );\n}\n","import { isArray } from '@antv/util';\n\n/** @ignore */\nexport function parseFields(field: string | string[]): string[] {\n if (isArray(field)) {\n return field;\n }\n\n return field.split('*');\n}\n","/**\n * 对比当前元素和之前的元素,返回 added, updated, removed\n * @param keyItem 之前的元素的,按照 key-item 的 object 的形式存储\n * @param keys 现在的元素,按照 array 的形式存储\n * @returns 由 added, updated, removed array 构成的 object\n */\nexport function diff(keyItem: Record, keys: string[]) {\n const added = [];\n const updated = [];\n const removed = [];\n const keyIncluded = new Map();\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (keyItem[key]) updated.push(key);\n else added.push(key);\n keyIncluded.set(key, true);\n }\n\n Object.keys(keyItem).forEach((key) => {\n if (!keyIncluded.has(key)) removed.push(key);\n });\n\n return {\n added,\n updated,\n removed,\n };\n}\n","import { Adjust, getAdjust as getAdjustClass } from '@antv/adjust';\nimport { Attribute, getAttribute as getAttributeClass } from '@antv/attr';\nimport {\n clone,\n deepMix,\n each,\n flatten,\n get,\n isArray,\n isEmpty,\n isEqual,\n isFunction,\n isNil,\n isNumber,\n isObject,\n isPlainObject,\n isString,\n set,\n} from '@antv/util';\nimport { doGroupAppearAnimate, getDefaultAnimateCfg } from '../animate';\nimport Base from '../base';\nimport { FIELD_ORIGIN, GEOMETRY_LIFE_CIRCLE, GROUP_ATTRS } from '../constant';\nimport { BBox, Coordinate, IGroup, IShape, Scale } from '../dependents';\nimport {\n AdjustOption,\n AdjustType,\n AnimateOption,\n AttributeOption,\n ColorAttrCallback,\n Data,\n Datum,\n GeometryLabelCfg,\n GeometryTooltipOption,\n LabelCallback,\n LabelOption,\n LooseObject,\n MappingDatum,\n ScaleOption,\n ShapeAttrCallback,\n ShapeFactory,\n ShapeInfo,\n ShapeMarkerCfg,\n ShapeMarkerAttrs,\n ShapePoint,\n SizeAttrCallback,\n StateOption,\n StyleCallback,\n StyleOption,\n TooltipCallback,\n CustomOption,\n} from '../interface';\nimport { uniq } from '../util/helper';\nimport Element from './element';\nimport { getGeometryLabel } from './label';\nimport GeometryLabel from './label/base';\nimport { getShapeFactory } from './shape/base';\nimport { group } from './util/group-data';\nimport { isModelChange } from './util/is-model-change';\nimport { parseFields } from './util/parse-fields';\nimport { diff } from './util/diff';\nimport { inferScaleType } from '../util/scale';\nimport { getXDimensionLength } from '../util/coordinate';\n\n/** @ignore */\ninterface AttributeInstanceCfg {\n fields?: string[];\n callback?: (...args) => any;\n values?: string[] | number[];\n scales?: Scale[];\n}\ninterface DimValuesMapType {\n [dim: string]: number[];\n}\n/** @ignore */\ninterface AdjustInstanceCfg {\n type: AdjustType;\n adjustNames?: string[];\n xField?: string;\n yField?: string;\n\n dodgeBy?: string;\n marginRatio?: number;\n dodgeRatio?: number;\n\n size?: number;\n height?: number;\n reverseOrder?: boolean;\n\n /** 像素级柱间宽度,调整offset */\n intervalPadding?: number;\n dodgePadding?: number;\n /** x维度长度,计算归一化padding使用 */\n xDimensionLength?: number;\n /** 分组数,计算offset */\n groupNum?: number;\n /** 用户配置宽度 size */\n defaultSize?: number;\n /** 最大最小宽度约束 */\n maxColumnWidth?: number;\n minColumnWidth?: number;\n /** 柱宽比例 */\n columnWidthRatio?: number;\n /** 用户自定义的dimValuesMap */\n dimValuesMap?: DimValuesMapType;\n}\n\n/** geometry.init() 传入参数 */\nexport interface InitCfg {\n /** 坐标系 */\n coordinate?: Coordinate;\n /** 数据 */\n data?: Data;\n /** 主题对象 */\n theme?: LooseObject;\n /** 列定义 */\n scaleDefs?: Record;\n /** 因为数据使用的引用,所以需要有一个标识位标识数据是否发生了更新 */\n isDataChanged?: boolean;\n isCoordinateChanged?: boolean;\n}\n\n/** Geometry 构造函数参数 */\nexport interface GeometryCfg {\n /** Geometry shape 的容器。 */\n container: IGroup;\n /** 绘制的坐标系对象。 */\n coordinate?: Coordinate;\n /** 绘制数据。 */\n data?: Data;\n /** 需要的 scales。 */\n scales?: Record;\n /** 列定义 */\n scaleDefs?: Record;\n /** Geometry labels 的容器 */\n labelsContainer?: IGroup;\n /** 是否对数据进行排序 */\n sortable?: boolean;\n /** elements 的 zIndex 默认按顺序提升,通过 zIndexReversed 可以反序,从而数据越前,层级越高 */\n zIndexReversed?: boolean;\n /** 是否需要对 zIndex 进行 sort。因为耗时长,由具体场景自行决定 */\n sortZIndex?: boolean;\n /** 延迟渲染 Geometry 数据标签. 设置为 true 时,会在浏览器空闲时期被调用, 也可以指定具体 timeout 时间 */\n useDeferredLabel?: boolean | number;\n /** 是否可见 */\n visible?: boolean;\n /** 主题配置 */\n theme?: LooseObject;\n\n /** 组间距 */\n intervalPadding?: number;\n /** 组内间距 */\n dodgePadding?: number;\n /** 柱状图最大宽度 */\n maxColumnWidth?: number;\n /** 柱状图最小宽度 */\n minColumnWidth?: number;\n /** 默认宽度占比,interval类型和schema类型通用 */\n columnWidthRatio?: number;\n /** 玫瑰图占比 */\n roseWidthRatio?: number;\n /** 多层饼图/环图占比 */\n multiplePieWidthRatio?: number;\n}\n\n/**\n * Geometry 几何标记基类,主要负责数据到图形属性的映射以及绘制逻辑。\n */\nexport default class Geometry extends Base {\n /** Geometry 几何标记类型。 */\n public readonly type: string = 'base';\n /** ShapeFactory 对应的类型。 */\n public readonly shapeType: string;\n\n // 在创建 Geometry 实例时可以传入的属性\n /** Coordinate 坐标系实例。 */\n public coordinate: Coordinate;\n /** 用户绘制数据。 */\n public data: Data;\n /** 图形绘制容器。 */\n public readonly container: IGroup;\n /** label 绘制容器。 */\n public readonly labelsContainer: IGroup;\n /** 是否对数据进行排序,默认为 false。 */\n public sortable: boolean;\n /** 当前 Geometry 实例主题。 */\n public theme: LooseObject;\n /** 存储 geometry 需要的 scales,需要外部传入。 */\n public scales: Record;\n /** scale 定义,需要外部传入。 */\n public scaleDefs: Record;\n /** 画布区域,用于 label 布局。 */\n public canvasRegion: BBox;\n\n // 内部产生的属性\n /** Attribute map */\n public attributes: Record = {};\n /** Element map */\n public elements: Element[] = [];\n /**\n * 存储处理后的数据,\n * + init() 及 updateData() 逻辑后, 结构为 Data[];\n * + paint() 逻辑后,结构为 MappingDatum[][]。\n */\n public dataArray: MappingDatum[][];\n /** 存储 tooltip 配置信息。 */\n public tooltipOption: GeometryTooltipOption | boolean;\n /** 存储 label 配置信息。 */\n public labelOption: LabelOption | false;\n /** 状态量相关的配置项 */\n public stateOption: StateOption;\n /** 使用 key-value 结构存储 Element,key 为每个 Element 实例对应的唯一 ID */\n public elementsMap: Record = {};\n /** animate 配置项 */\n public animateOption: AnimateOption | boolean = true;\n /** 图形属性映射配置 */\n protected attributeOption: Record = {};\n /** adjust 配置项 */\n protected adjustOption: AdjustOption[];\n /** style 配置项 */\n protected styleOption: StyleOption;\n /** custom 自定义的配置项 */\n protected customOption: CustomOption;\n /** 每个 Geometry 对应的 Shape 工厂实例,用于创建各个 Shape */\n protected shapeFactory: ShapeFactory;\n /** 存储上一次渲染时的 element 映射表,用于更新逻辑 */\n protected lastElementsMap: Record = {};\n /** 是否生成多个点来绘制图形。 */\n protected generatePoints: boolean = false;\n /** 存储发生图形属性映射前的数据 */\n protected beforeMappingData: Data[] = null;\n /** 存储每个 shape 的默认 size,用于 Interval、Schema 几何标记 */\n protected defaultSize: number;\n\n // 用户通过 geometry 构造函数设置的主题\n private userTheme: LooseObject;\n private adjusts: Record = {};\n private lastAttributeOption;\n private idFields: string[] = [];\n private geometryLabel: GeometryLabel;\n\n // 柱状图间距相关配置\n /** 组间距 */\n protected intervalPadding: number;\n /** 组内间距 */\n protected dodgePadding: number;\n /** 柱状图最大宽度 */\n protected maxColumnWidth: number;\n /** 柱状图最小宽度 */\n protected minColumnWidth: number;\n /** 一般柱状图宽度占比 */\n protected columnWidthRatio: number;\n /** 玫瑰图占比 */\n protected roseWidthRatio: number;\n /** 多层饼图/环图占比 */\n protected multiplePieWidthRatio: number;\n /** elements 的 zIndex 默认按顺序提升,通过 zIndexReversed 可以反序,从而数据越前,层级越高 */\n public zIndexReversed?: boolean;\n /** 是否需要对 zIndex 进行 sort。因为耗时长,由具体场景自行决定 */\n public sortZIndex?: boolean;\n protected useDeferredLabel?: null | number;\n\n /** 虚拟 Group,用于图形更新 */\n private offscreenGroup: IGroup;\n private groupScales: Scale[];\n private hasSorted: boolean = false;\n protected isCoordinateChanged: boolean = false;\n\n /**\n * 创建 Geometry 实例。\n * @param cfg\n */\n constructor(cfg: GeometryCfg) {\n super(cfg);\n\n const {\n container,\n labelsContainer,\n coordinate,\n data,\n sortable = false,\n visible = true,\n theme,\n scales = {},\n scaleDefs = {},\n // 柱状图间隔与宽度相关配置\n intervalPadding,\n dodgePadding,\n maxColumnWidth,\n minColumnWidth,\n columnWidthRatio,\n roseWidthRatio,\n multiplePieWidthRatio,\n zIndexReversed,\n sortZIndex,\n useDeferredLabel,\n } = cfg;\n\n this.container = container;\n this.labelsContainer = labelsContainer;\n this.coordinate = coordinate;\n this.data = data;\n this.sortable = sortable;\n this.visible = visible;\n this.userTheme = theme;\n this.scales = scales;\n this.scaleDefs = scaleDefs;\n // 柱状图间隔与宽度相关配置\n this.intervalPadding = intervalPadding;\n this.dodgePadding = dodgePadding;\n this.maxColumnWidth = maxColumnWidth;\n this.minColumnWidth = minColumnWidth;\n this.columnWidthRatio = columnWidthRatio;\n this.roseWidthRatio = roseWidthRatio;\n this.multiplePieWidthRatio = multiplePieWidthRatio;\n this.zIndexReversed = zIndexReversed;\n this.sortZIndex = sortZIndex;\n this.useDeferredLabel = useDeferredLabel ? (typeof useDeferredLabel === 'number' ? useDeferredLabel : Infinity) : null;\n }\n\n /**\n * 配置 position 通道映射规则。\n *\n * @example\n * ```typescript\n * // 数据结构: [{ x: 'A', y: 10, color: 'red' }]\n * geometry.position('x*y');\n * geometry.position([ 'x', 'y' ]);\n * geometry.position({\n * fields: [ 'x', 'y' ],\n * });\n * ```\n *\n * @param cfg 映射规则\n * @returns\n */\n public position(cfg: string | string[] | AttributeOption): Geometry {\n let positionCfg = cfg;\n if (!isPlainObject(cfg)) {\n // 字符串字段或者数组字段\n positionCfg = {\n fields: parseFields(cfg),\n };\n }\n\n const fields = get(positionCfg, 'fields');\n if (fields.length === 1) {\n // 默认填充一维 1*xx\n fields.unshift('1');\n set(positionCfg, 'fields', fields);\n }\n set(this.attributeOption, 'position', positionCfg);\n\n return this;\n }\n\n /**\n * 配置 color 通道映射规则。\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.color({\n * fields: [ 'x' ],\n * values: [ '#1890ff', '#5AD8A6' ],\n * });\n * ```\n *\n * @param field 映射规则\n * @returns\n */\n public color(field: AttributeOption): Geometry;\n /**\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 使用 '#1890ff' 颜色渲染图形\n * geometry.color('#1890ff');\n *\n * // 根据 x 字段的数据值进行颜色的映射,这时候 G2 会在内部调用默认的回调函数,读取默认提供的颜色进行数据值到颜色值的映射。\n * geometry.color('x');\n *\n * // 将 'x' 字段的数据值映射至指定的颜色值 colors(可以是字符串也可以是数组),此时用于通常映射分类数据\n * geometry.color('x', [ '#1890ff', '#5AD8A6' ]);\n *\n * // 使用回调函数进行颜色值的自定义;可以使用多个字段使用、*号连接\n * geometry.color('x', (xVal) => {\n * if (xVal === 'a') {\n * return 'red';\n * }\n * return 'blue';\n * });\n *\n * // 指定颜色的渐变路径,用于映射连续的数据\n * geometry.color('x', '#BAE7FF-#1890FF-#0050B3');\n * ```\n *\n * @param field 参与颜色映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, color 映射规则。\n * @returns\n */\n public color(field: string, cfg?: string | string[] | ColorAttrCallback): Geometry;\n public color(field: AttributeOption | string, cfg?: string | string[] | ColorAttrCallback): Geometry {\n this.createAttrOption('color', field, cfg);\n\n return this;\n }\n\n /**\n * 配置 shape 通道映射规则。\n *\n * @example\n *\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.shape({\n * fields: [ 'x' ],\n * });\n * ```\n *\n * @param field 映射规则配置。\n * @returns\n */\n public shape(field: AttributeOption): Geometry;\n /**\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 指定常量,将所有数据值映射到固定的 shape\n * geometry.shape('circle');\n *\n * // 将指定的字段映射到内置的 shapes 数组中\n * geometry.shape('x');\n *\n * // 将指定的字段映射到指定的 shapes 数组中\n * geometry.shape('x', [ 'circle', 'diamond', 'square' ]);\n *\n * // 使用回调函数获取 shape,用于个性化的 shape 定制,可以根据单个或者多个字段确定\n * geometry.shape('x', (xVal) => {\n * if (xVal === 'a') {\n * return 'circle';\n * }\n * return 'diamond';\n * });\n * ```\n *\n * @param field 参与 shape 映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, shape 映射规则。\n * @returns\n */\n public shape(field: string, cfg?: string[] | ShapeAttrCallback): Geometry;\n public shape(field: AttributeOption | string, cfg?: string[] | ShapeAttrCallback): Geometry {\n this.createAttrOption('shape', field, cfg);\n\n return this;\n }\n\n /**\n * 配置 size 通道映射规则。\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.size({\n * values: [ 10 ],\n * })\n * ```\n *\n * @param field 映射规则。\n * @returns\n */\n public size(field: AttributeOption): Geometry;\n /**\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 直接指定像素大小\n * geometry.size(10);\n *\n * // 指定映射到 size 的字段,使用内置的默认大小范围为 [1, 10]\n * geometry.size('x');\n *\n * // 指定映射到 size 字段外,还提供了 size 的最大值和最小值范围\n * geometry.size('x', [ 5, 30 ]);\n *\n * // 使用回调函数映射 size,用于个性化的 size 定制,可以使用多个字段进行映射\n * geometry.size('x', (xVal) => {\n * if (xVal === 'a') {\n * return 10;\n * }\n * return 5;\n * });\n * ```\n *\n * @param field 参与 size 映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, size 映射规则\n * @returns\n */\n public size(field: number | string, cfg?: [number, number] | SizeAttrCallback): Geometry;\n public size(field: AttributeOption | number | string, cfg?: [number, number] | SizeAttrCallback): Geometry {\n this.createAttrOption('size', field, cfg);\n\n return this;\n }\n\n /**\n * 设置数据调整方式。G2 目前内置了四种类型:\n * 1. dodge\n * 2. stack\n * 3. symmetric\n * 4. jitter\n *\n *\n * **Tip**\n * + 对于 'dodge' 类型,可以额外进行如下属性的配置:\n * ```typescript\n * geometry.adjust('dodge', {\n * marginRatio: 0, // 取 0 到 1 范围的值(相对于每个柱子宽度),用于控制一个分组中柱子之间的间距\n * dodgeBy: 'x', // 该属性只对 'dodge' 类型生效,声明以哪个数据字段为分组依据\n * });\n * ```\n *\n * + 对于 'stack' 类型,可以额外进行如下属性的配置:\n * ```typescript\n * geometry.adjust('stack', {\n * reverseOrder: false, // 用于控制是否对数据进行反序操作\n * });\n * ```\n *\n * @example\n * ```typescript\n * geometry.adjust('stack');\n *\n * geometry.adjust({\n * type: 'stack',\n * reverseOrder: false,\n * });\n *\n * // 组合使用 adjust\n * geometry.adjust([ 'stack', 'dodge' ]);\n *\n * geometry.adjust([\n * { type: 'stack' },\n * { type: 'dodge', dodgeBy: 'x' },\n * ]);\n * ```\n *\n * @param adjustCfg 数据调整配置\n * @returns\n */\n public adjust(adjustCfg: string | string[] | AdjustOption | AdjustOption[]): Geometry {\n let adjusts: any = adjustCfg;\n if (isString(adjustCfg) || isPlainObject(adjustCfg)) {\n adjusts = [adjustCfg];\n }\n each(adjusts, (adjust, index) => {\n if (!isObject(adjust)) {\n adjusts[index] = { type: adjust };\n }\n });\n\n this.adjustOption = adjusts;\n return this;\n }\n\n /**\n * 图形样式配置。\n *\n * @example\n * ```typescript\n * // 配置图形样式\n * style({\n * lineWidth: 2,\n * stroke: '#1890ff',\n * });\n *\n * // 根据具体的数据进行详细配置\n * style({\n * fields: [ 'x', 'y' ], // 数据字段\n * callback: (xVal, yVal) => {\n * const style = { lineWidth: 2, stroke: '#1890ff' };\n * if (xVal === 'a') {\n * style.lineDash = [ 2, 2 ];\n * }\n * return style;\n * },\n * });\n * ```\n *\n * @param field 配置样式属性或者样式规则。\n * @returns\n */\n public style(field: StyleOption | LooseObject): Geometry;\n /**\n * @example\n * ```typescript\n * style('x*y', (xVal, yVal) => {\n * const style = { lineWidth: 2, stroke: '#1890ff' };\n * if (xVal === 'a') {\n * style.lineDash = [ 2, 2 ];\n * }\n * return style;\n * });\n * ```\n *\n * @param field 数据字段或者样式配置规则。\n * @param styleFunc Optional, 样式配置回调函数。\n * @returns\n */\n public style(field: string, styleFunc: StyleCallback): Geometry;\n public style(field: StyleOption | LooseObject | string, styleFunc?: StyleCallback): Geometry {\n if (isString(field)) {\n const fields = parseFields(field);\n this.styleOption = {\n fields,\n callback: styleFunc,\n };\n } else {\n const { fields, callback, cfg } = field as StyleOption;\n if (fields || callback || cfg) {\n this.styleOption = field;\n } else {\n this.styleOption = {\n cfg: field,\n };\n }\n }\n\n return this;\n }\n\n /**\n * 配置 Geometry 显示的 tooltip 内容。\n *\n * `tooltip(false)` 代表关闭 tooltip。\n * `tooltip(true)` 代表开启 tooltip。\n *\n * Geometry 默认允许 tooltip 展示,我们可以使用以下方法对 tooltip 的展示内容进行配置:\n *\n * @example\n * ```typescript\n * // data: [{x: 'a', y: 10}]\n * tooltip({\n * fields: [ 'x' ],\n * });\n * ```\n * ![](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*268uQ50if60AAAAAAAAAAABkARQnAQ)\n *\n * ```typescript\n * tooltip({\n * fields: [ 'x', 'y' ],\n * });\n * ```\n * ![](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*A_ujSa8QhtcAAAAAAAAAAABkARQnAQ)\n *\n * tooltip() 方法同样支持数据映射及回调用法:\n *\n * @example\n * ```typescript\n * chart.tooltip({\n * itemTpl: '
  • {x}: {y}
  • ',\n * });\n *\n * chart.line()\n * .position('x*y')\n * .tooltip({\n * fields: [ 'x', 'y' ],\n * callback: (x, y) => {\n * return {\n * x,\n * y,\n * };\n * },\n * });\n * ```\n *\n * 其返回的值必须为对象,该值中的属性同 chart.tooltip() 的 itemTpl 模板相对应,返回的变量可用于 itemTpl 的字符串模板。\n *\n * @param field tooltip 配置信息。\n * @returns\n */\n public tooltip(field: GeometryTooltipOption | boolean): Geometry;\n /**\n * @example\n * ```typescript\n * // data: [{x: 'a', y: 10}]\n *\n * // 等同于 tooltip({ fields: [ 'x' ] })\n * tooltip('x');\n *\n * // 等同于 tooltip({ fields: [ 'x', 'y' ] })\n * tooltip('x*y');\n *\n * // 等同于 tooltip({ fields: [ 'x', 'y' ], callback: (x, y) => { x, y } })\n * tooltip('x*y', (x, y) => {\n * return {\n * x,\n * y,\n * };\n * });\n * ```\n *\n * @param field 参与映射的字段。\n * @param cfg Optional, 回调函数\n * @returns\n */\n public tooltip(field: string, cfg?: TooltipCallback): Geometry;\n public tooltip(field: GeometryTooltipOption | boolean | string, cfg?: TooltipCallback): Geometry {\n if (isString(field)) {\n const fields = parseFields(field);\n this.tooltipOption = {\n fields,\n callback: cfg,\n };\n } else {\n this.tooltipOption = field;\n }\n\n return this;\n }\n\n /**\n * Geometry 动画配置。\n *\n * + `animate(false)` 关闭动画\n * + `animate(true)` 开启动画,默认开启。\n *\n * 我们将动画分为四个场景:\n * 1. appear: 图表第一次加载时的入场动画;\n * 2. enter: 图表绘制完成,发生更新后,产生的新图形的进场动画;\n * 3. update: 图表绘制完成,数据发生变更后,有状态变更的图形的更新动画;\n * 4. leave: 图表绘制完成,数据发生变更后,被销毁图形的销毁动画。\n *\n * @example\n * ```typescript\n * animate({\n * enter: {\n * duration: 1000, // enter 动画执行时间\n * },\n * leave: false, // 关闭 leave 销毁动画\n * });\n * ```\n *\n * @param cfg 动画配置\n * @returns\n */\n public animate(cfg: AnimateOption | boolean): Geometry {\n this.animateOption = cfg;\n return this;\n }\n\n /**\n * Geometry label 配置。\n *\n * @example\n * ```ts\n * // data: [ {x: 1, y: 2, z: 'a'}, {x: 2, y: 2, z: 'b'} ]\n * // 在每个图形上显示 z 字段对应的数值\n * label({\n * fields: [ 'z' ]\n * });\n *\n * label(false); // 不展示 label\n *\n * // 在每个图形上显示 x 字段对应的数值,同时配置文本颜色为红色\n * label('x', {\n * style: {\n * fill: 'red',\n * },\n * })\n *\n * // 以 type 类型的 label 渲染每个图形上显示 x 字段对应的数值,同时格式化文本内容\n * label('x', (xValue) => {\n * return {\n * content: xValue + '%',\n * };\n * }, {\n * type: 'base' // 声明 label 类型\n * })\n * ```\n *\n * @param field\n * @returns label\n */\n public label(field: LabelOption | false | string): Geometry;\n public label(field: string, secondParam: GeometryLabelCfg | LabelCallback): Geometry;\n public label(field: string, secondParam: LabelCallback, thirdParam: GeometryLabelCfg): Geometry;\n public label(\n field: string | LabelOption | false,\n secondParam?: GeometryLabelCfg | LabelCallback,\n thirdParam?: GeometryLabelCfg\n ): Geometry {\n if (isString(field)) {\n const labelOption: LabelOption = {};\n const fields = parseFields(field);\n labelOption.fields = fields;\n if (isFunction(secondParam)) {\n labelOption.callback = secondParam;\n } else if (isPlainObject(secondParam)) {\n labelOption.cfg = secondParam;\n }\n\n if (thirdParam) {\n labelOption.cfg = thirdParam;\n }\n this.labelOption = labelOption;\n } else {\n this.labelOption = field;\n }\n\n return this;\n }\n\n /**\n * 设置状态对应的样式。\n *\n * @example\n * ```ts\n * chart.interval().state({\n * selected: {\n * animate: { duration: 100, easing: 'easeLinear' },\n * style: {\n * lineWidth: 2,\n * stroke: '#000',\n * },\n * },\n * });\n * ```\n *\n * 如果图形 shape 是由多个 shape 组成,即为一个 G.Group 对象,那么针对 group 中的每个 shape,我们需要使用下列方式进行状态样式设置:\n * 如果我们为 group 中的每个 shape 设置了 'name' 属性(shape.set('name', 'xx')),则以 'name' 作为 key,否则默认以索引值(即 shape 的 添加顺序)为 key。\n *\n * ```ts\n * chart.interval().shape('groupShape').state({\n * selected: {\n * style: {\n * 0: { lineWidth: 2 },\n * 1: { fillOpacity: 1 },\n * }\n * }\n * });\n * ```\n *\n * @param cfg 状态样式\n */\n public state(cfg: StateOption) {\n this.stateOption = cfg;\n return this;\n }\n\n /**\n * 用于向 shape 中传入自定义的数据。目前可能仅仅可能用于在自定义 shape 的时候,像自定义 shape 中传入自定义的数据,方便实现自定义 shape 的配置能力。\n *\n * @example\n * ```ts\n * chart.interval().customInfo({ yourData: 'hello, g2!' });\n * ```\n *\n * 然后在自定义 shape 的时候,可以拿到这个信息。\n *\n * ```ts\n * registerShape('interval', 'your-shape', {\n * draw(shapeInfo, container) {\n * const { customInfo } = shapeInfo;\n * console.log(customInfo); // will log { yourData: 'hello, g2!' }.\n * }\n * });\n * ```\n *\n * @param cfg\n */\n public customInfo(cfg: any) {\n this.customOption = cfg;\n return this;\n }\n\n /**\n * 初始化 Geomtry 实例:\n * 创建 [[Attribute]] and [[Scale]] 实例,进行数据处理,包括分组、数值化以及数据调整。\n */\n public init(cfg: InitCfg = {}) {\n this.setCfg(cfg);\n this.initAttributes(); // 创建图形属性\n\n // 数据加工:分组 -> 数字化 -> adjust\n this.processData(this.data);\n\n // 调整 scale\n this.adjustScale();\n }\n\n /**\n * Geometry 更新。\n * @param [cfg] 更新的配置\n */\n public update(cfg: InitCfg = {}) {\n const { data, isDataChanged, isCoordinateChanged } = cfg;\n const { attributeOption, lastAttributeOption } = this;\n\n if (!isEqual(attributeOption, lastAttributeOption)) {\n // 映射发生改变,则重新创建图形属性\n this.init(cfg);\n } else if (data && (isDataChanged || !isEqual(data, this.data))) {\n // 数据发生变化\n this.setCfg(cfg);\n this.initAttributes(); // 创建图形属性\n this.processData(data); // 数据加工:分组 -> 数字化 -> adjust\n } else {\n // 有可能 coordinate 变化\n this.setCfg(cfg);\n }\n\n // 调整 scale\n this.adjustScale();\n this.isCoordinateChanged = isCoordinateChanged;\n }\n\n /**\n * 将原始数据映射至图形空间,同时创建图形对象。\n */\n public paint(isUpdate: boolean = false) {\n if (this.animateOption) {\n this.animateOption = deepMix({}, getDefaultAnimateCfg(this.type, this.coordinate), this.animateOption);\n }\n\n this.defaultSize = undefined;\n this.elementsMap = {};\n this.elements = [];\n const offscreenGroup = this.getOffscreenGroup();\n offscreenGroup.clear();\n\n const beforeMappingData = this.beforeMappingData;\n const dataArray = this.beforeMapping(beforeMappingData);\n\n this.dataArray = new Array(dataArray.length);\n for (let i = 0; i < dataArray.length; i++) {\n const data = dataArray[i];\n this.dataArray[i] = this.mapping(data);\n }\n this.updateElements(this.dataArray, isUpdate);\n this.lastElementsMap = this.elementsMap;\n\n if (this.canDoGroupAnimation(isUpdate)) {\n // 如果用户没有配置 appear.animation,就默认走整体动画\n const container = this.container;\n const type = this.type;\n const coordinate = this.coordinate;\n const animateCfg = get(this.animateOption, 'appear');\n const yScale = this.getYScale();\n const yMinPoint = coordinate.convert({\n x: 0,\n y: yScale.scale(this.getYMinValue()),\n });\n doGroupAppearAnimate(container, animateCfg, type, coordinate, yMinPoint);\n }\n\n // 添加 label\n if (this.labelOption) {\n const deferred = this.useDeferredLabel;\n const callback = (() => this.renderLabels(flatten(this.dataArray) as unknown as MappingDatum[], isUpdate)).bind(this);\n if (typeof deferred === 'number') {\n // Use `requestIdleCallback` to render labels in idle time (like react fiber)\n const timeout = (typeof deferred === 'number' && deferred !== Infinity) ? deferred : 0;\n if (!window.requestIdleCallback) {\n setTimeout(callback, timeout);\n } else {\n const options = timeout && timeout !== Infinity ? { timeout } : undefined;\n window.requestIdleCallback(callback, options);\n }\n } else {\n callback();\n }\n }\n\n // 缓存,用于更新\n this.lastAttributeOption = {\n ...this.attributeOption,\n };\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 清空当前 Geometry,配置项仍保留,但是内部创建的对象全部清空。\n * @override\n */\n public clear() {\n const { container, geometryLabel, offscreenGroup } = this;\n if (container) {\n container.clear();\n }\n\n if (geometryLabel) {\n geometryLabel.clear();\n }\n\n if (offscreenGroup) {\n offscreenGroup.clear();\n }\n\n // 属性恢复至出厂状态\n this.scaleDefs = undefined;\n this.attributes = {};\n this.scales = {};\n this.elementsMap = {};\n this.lastElementsMap = {};\n this.elements = [];\n this.adjusts = {};\n this.dataArray = null;\n this.beforeMappingData = null;\n this.lastAttributeOption = undefined;\n this.defaultSize = undefined;\n this.idFields = [];\n this.groupScales = undefined;\n this.hasSorted = false;\n this.isCoordinateChanged = false;\n }\n\n /**\n * 销毁 Geometry 实例。\n */\n public destroy() {\n this.clear();\n const container = this.container;\n container.remove(true);\n\n if (this.offscreenGroup) {\n this.offscreenGroup.remove(true);\n this.offscreenGroup = null;\n }\n\n if (this.geometryLabel) {\n this.geometryLabel.destroy();\n this.geometryLabel = null;\n }\n this.theme = undefined;\n this.shapeFactory = undefined;\n\n super.destroy();\n }\n\n /**\n * 获取决定分组的图形属性对应的 scale 实例。\n * @returns\n */\n public getGroupScales(): Scale[] {\n return this.groupScales;\n }\n\n /**\n * 根据名字获取图形属性实例。\n */\n public getAttribute(name: string): Attribute {\n return this.attributes[name];\n }\n\n /** 获取 x 轴对应的 scale 实例。 */\n public getXScale(): Scale {\n return this.getAttribute('position').scales[0];\n }\n\n /** 获取 y 轴对应的 scale 实例。 */\n public getYScale(): Scale {\n return this.getAttribute('position').scales[1];\n }\n\n /**\n * 获取决定分组的图形属性实例。\n */\n public getGroupAttributes(): Attribute[] {\n const rst = [];\n each(this.attributes, (attr: Attribute) => {\n if (GROUP_ATTRS.includes(attr.type)) {\n rst.push(attr);\n }\n });\n return rst;\n }\n\n /** 获取图形属性默认的映射值。 */\n public getDefaultValue(attrName: string) {\n let value: any;\n const attr = this.getAttribute(attrName);\n if (attr && isEmpty(attr.scales)) {\n // 获取映射至常量的值\n value = attr.values[0];\n }\n return value;\n }\n\n /**\n * 获取该数据发生图形映射后对应的 Attribute 图形空间数据。\n * @param attr Attribute 图形属性实例。\n * @param obj 需要进行映射的原始数据。\n * @returns\n */\n public getAttributeValues(attr: Attribute, obj: Datum) {\n const params = [];\n const scales = attr.scales;\n for (let index = 0, length = scales.length; index < length; index++) {\n const scale = scales[index];\n const field = scale.field;\n if (scale.isIdentity) {\n params.push(scale.values);\n } else {\n params.push(obj[field]);\n }\n }\n\n return attr.mapping(...params);\n }\n\n /**\n * 获取对应的 adjust 实例\n * @param adjustType\n * @returns\n */\n public getAdjust(adjustType: string) {\n return this.adjusts[adjustType];\n }\n\n /**\n * 获得 coordinate 实例\n * @returns\n */\n public getCoordinate() {\n return this.coordinate;\n }\n\n public getData() {\n return this.data;\n }\n\n /**\n * 获取 shape 对应的 marker 样式。\n * @param shapeName shape 具体名字\n * @param cfg marker 信息\n * @returns\n */\n public getShapeMarker(shapeName: string, cfg: ShapeMarkerCfg): ShapeMarkerAttrs {\n const shapeFactory = this.getShapeFactory();\n return shapeFactory.getMarker(shapeName, cfg);\n }\n\n /**\n * 根据一定的规则查找 Geometry 的 Elements。\n *\n * ```typescript\n * getElementsBy((element) => {\n * const data = element.getData();\n *\n * return data.a === 'a';\n * });\n * ```\n *\n * @param condition 定义查找规则的回调函数。\n * @returns\n */\n public getElementsBy(condition: (element: Element) => boolean): Element[] {\n return this.elements.filter((element) => condition(element));\n }\n\n /**\n * 获取 Geometry 的所有 Elements。\n *\n * ```typescript\n * getElements();\n * ```\n */\n public getElements() {\n return this.elements;\n }\n\n /**\n * 获取数据对应的唯一 id。\n * @param data Element 对应的绘制数据\n * @returns\n */\n public getElementId(data: MappingDatum | MappingDatum[]) {\n data = isArray(data) ? data[0] : data;\n const originData = data[FIELD_ORIGIN];\n\n // 如果用户声明了使用哪些字段作为 id 值\n if (this.idFields.length) {\n let elementId = originData[this.idFields[0]];\n for (let index = 1; index < this.idFields.length; index++) {\n elementId += '-' + originData[this.idFields[index]];\n }\n\n return elementId;\n }\n\n const type = this.type;\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xField = xScale.field || 'x';\n const yField = yScale.field || 'y';\n const yVal = originData[yField];\n let xVal;\n if (xScale.type === 'identity') {\n xVal = xScale.values[0];\n } else {\n xVal = originData[xField];\n }\n\n let id: string;\n if (type === 'interval' || type === 'schema') {\n id = `${xVal}`;\n } else if (type === 'line' || type === 'area' || type === 'path') {\n id = type;\n } else {\n id = `${xVal}-${yVal}`;\n }\n\n const groupScales = this.groupScales;\n\n for (let index = 0, length = groupScales.length; index < length; index++) {\n const groupScale = groupScales[index];\n const field = groupScale.field;\n id = `${id}-${originData[field]}`;\n }\n\n // 用户在进行 dodge 类型的 adjust 调整的时候设置了 dodgeBy 属性\n const dodgeAdjust = this.getAdjust('dodge');\n if (dodgeAdjust) {\n const dodgeBy = dodgeAdjust.dodgeBy;\n if (dodgeBy) {\n id = `${id}-${originData[dodgeBy]}`;\n }\n }\n\n if (this.getAdjust('jitter')) {\n id = `${id}-${data.x}-${data.y}`;\n }\n\n return id;\n }\n\n /**\n * 获取所有需要创建 scale 的字段名称。\n */\n public getScaleFields(): string[] {\n const fields = [];\n const tmpMap = new Map();\n const { attributeOption, labelOption, tooltipOption } = this;\n // 获取图形属性上的 fields\n for (const attributeType in attributeOption) {\n if (attributeOption.hasOwnProperty(attributeType)) {\n const eachOpt = attributeOption[attributeType];\n if (eachOpt.fields) {\n uniq(eachOpt.fields, fields, tmpMap);\n } else if (eachOpt.values) {\n // 考虑 size(10), shape('circle') 等场景\n uniq(eachOpt.values, fields, tmpMap);\n }\n }\n }\n // 获取 label 上的字段\n if (labelOption && labelOption.fields) {\n uniq(labelOption.fields, fields, tmpMap);\n }\n\n // 获取 tooltip 上的字段\n if (isObject(tooltipOption) && tooltipOption.fields) {\n uniq(tooltipOption.fields, fields, tmpMap);\n }\n\n return fields;\n }\n\n /**\n * 显示或者隐藏 geometry。\n * @param visible\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible);\n const elements = this.elements;\n for (let index = 0, length = elements.length; index < length; index++) {\n const element = elements[index];\n element.changeVisible(visible);\n }\n if (visible) {\n if (this.container) {\n this.container.show();\n }\n if (this.labelsContainer) {\n this.labelsContainer.show();\n }\n } else {\n if (this.container) {\n this.container.hide();\n }\n if (this.labelsContainer) {\n this.labelsContainer.hide();\n }\n }\n }\n\n /**\n * 获得所有的字段\n */\n public getFields() {\n const uniqMap = new Map();\n const fields = [];\n\n Object.values(this.attributeOption).forEach((cfg) => {\n const fs = cfg?.fields || [];\n fs.forEach((f) => {\n if (!uniqMap.has(f)) {\n fields.push(f);\n }\n uniqMap.set(f, true);\n });\n }, []);\n\n return fields;\n }\n\n /**\n * 获取当前配置中的所有分组 & 分类的字段。\n * @return fields string[]\n */\n public getGroupFields(): string[] {\n const groupFields = [];\n const tmpMap = new Map(); // 用于去重过滤\n for (let index = 0, length = GROUP_ATTRS.length; index < length; index++) {\n const attributeName = GROUP_ATTRS[index];\n const cfg = this.attributeOption[attributeName];\n if (cfg && cfg.fields) {\n uniq(cfg.fields, groupFields, tmpMap);\n }\n }\n\n return groupFields;\n }\n\n /**\n * 获得图形的 x y 字段。\n */\n public getXYFields() {\n const [x, y] = this.attributeOption.position.fields;\n return [x, y];\n }\n\n /**\n * x 字段\n * @returns\n */\n public getXField(): string {\n return get(this.getXYFields(), [0]);\n }\n\n /**\n * y 字段\n * @returns\n */\n public getYField(): string {\n return get(this.getXYFields(), [1]);\n }\n\n /**\n * 获取该 Geometry 下所有生成的 shapes。\n * @returns shapes\n */\n public getShapes(): (IShape | IGroup)[] {\n return this.elements.map((element: Element) => element.shape);\n }\n\n /**\n * 获取虚拟 Group。\n * @returns\n */\n public getOffscreenGroup() {\n if (!this.offscreenGroup) {\n const GroupCtor = this.container.getGroupBase(); // 获取分组的构造函数\n this.offscreenGroup = new GroupCtor({});\n }\n return this.offscreenGroup;\n }\n\n // 对数据进行排序\n public sort(mappingArray: Data[]) {\n if (!this.hasSorted) {\n // 未发生过排序\n const xScale = this.getXScale();\n const xField = xScale.field;\n for (let index = 0; index < mappingArray.length; index++) {\n const itemArr = mappingArray[index];\n itemArr.sort((obj1: Datum, obj2: Datum) => {\n return xScale.translate(obj1[FIELD_ORIGIN][xField]) - xScale.translate(obj2[FIELD_ORIGIN][xField]);\n });\n }\n }\n\n this.hasSorted = true;\n }\n\n /**\n * 调整度量范围。主要针对发生层叠以及一些特殊需求的 Geometry,比如 Interval 下的柱状图 Y 轴默认从 0 开始。\n */\n protected adjustScale() {\n const yScale = this.getYScale();\n // 如果数据发生过 stack adjust,需要调整下 yScale 的数据范围\n if (yScale && this.getAdjust('stack')) {\n this.updateStackRange(yScale, this.beforeMappingData);\n }\n }\n\n /**\n * 获取当前 Geometry 对应的 Shape 工厂实例。\n */\n protected getShapeFactory() {\n const shapeType = this.shapeType;\n if (!getShapeFactory(shapeType)) {\n return;\n }\n if (!this.shapeFactory) {\n this.shapeFactory = clone(getShapeFactory(shapeType)); // 防止多个 view 共享一个 shapeFactory 实例,导致 coordinate 被篡改\n }\n // 因为这里缓存了 shapeFactory,但是外部可能会变更 coordinate,导致无法重新设置到 shapeFactory 中\n this.shapeFactory.coordinate = this.coordinate;\n // theme 原因同上\n this.shapeFactory.theme = this.theme.geometries[shapeType] || {};\n\n return this.shapeFactory;\n }\n\n /**\n * 获取每个 Shape 对应的关键点数据。\n * @param obj 经过分组 -> 数字化 -> adjust 调整后的数据记录\n * @returns\n */\n protected createShapePointsCfg(obj: Datum): S {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const x = this.normalizeValues(obj[xScale.field], xScale);\n let y; // 存在没有 y 的情况\n\n if (yScale) {\n y = this.normalizeValues(obj[yScale.field], yScale);\n } else {\n y = obj.y ? obj.y : 0.1;\n }\n\n return {\n x,\n y,\n y0: yScale ? yScale.scale(this.getYMinValue()) : undefined,\n } as S;\n }\n\n /**\n * 创建 Element 实例。\n * @param mappingDatum Element 对应的绘制数据\n * @param [isUpdate] 是否处于更新阶段\n * @returns element 返回创建的 Element 实例\n */\n protected createElement(mappingDatum: MappingDatum, index: number, isUpdate: boolean = false): Element {\n const { container } = this;\n\n const shapeCfg = this.getDrawCfg(mappingDatum); // 获取绘制图形的配置信息\n const shapeFactory = this.getShapeFactory();\n\n const element = new Element({\n shapeFactory,\n container,\n offscreenGroup: this.getOffscreenGroup(),\n elementIndex: index,\n });\n element.animate = this.animateOption;\n element.geometry = this;\n element.draw(shapeCfg, isUpdate); // 绘制\n\n return element;\n }\n\n /**\n * 获取每条数据对应的图形绘制数据。\n * @param mappingDatum 映射后的数据\n * @returns draw cfg\n */\n protected getDrawCfg(mappingDatum: MappingDatum): ShapeInfo {\n const originData = mappingDatum[FIELD_ORIGIN]; // 原始数据\n const cfg: ShapeInfo = {\n mappingData: mappingDatum, // 映射后的数据\n data: originData, // 原始数据\n x: mappingDatum.x,\n y: mappingDatum.y,\n color: mappingDatum.color,\n size: mappingDatum.size,\n isInCircle: this.coordinate.isPolar,\n customInfo: this.customOption,\n };\n\n let shapeName = mappingDatum.shape;\n if (!shapeName && this.getShapeFactory()) {\n shapeName = this.getShapeFactory().defaultShapeType;\n }\n cfg.shape = shapeName;\n // 获取默认样式\n const theme = this.theme.geometries[this.shapeType];\n cfg.defaultStyle = get(theme, [shapeName, 'default'], {}).style;\n if (!cfg.defaultStyle && this.getShapeFactory()) {\n cfg.defaultStyle = this.getShapeFactory().getDefaultStyle(theme);\n }\n\n const styleOption = this.styleOption;\n if (styleOption) {\n cfg.style = this.getStyleCfg(styleOption, originData);\n }\n if (this.generatePoints) {\n cfg.points = mappingDatum.points;\n cfg.nextPoints = mappingDatum.nextPoints;\n }\n\n return cfg;\n }\n\n protected updateElements(mappingDataArray: MappingDatum[][], isUpdate: boolean = false): void {\n const keyDatum = new Map();\n const keys: string[] = [];\n\n // 用来保持 diff 元素之后 added, updated 的相对顺序\n const keyIndex = new Map();\n let index = 0;\n\n // 获得更新数据所有的 keys\n // 将更新的数据用 key 索引\n for (let i = 0; i < mappingDataArray.length; i++) {\n const mappingData = mappingDataArray[i];\n for (let j = 0; j < mappingData.length; j++) {\n const mappingDatum = mappingData[j];\n const key = this.getElementId(mappingDatum);\n const finalKey = keyDatum.has(key) ? `${key}-${i}-${j}` : key;\n keys.push(finalKey);\n keyDatum.set(finalKey, mappingDatum);\n keyIndex.set(finalKey, index);\n index++;\n }\n }\n\n this.elements = new Array(index);\n\n const { added, updated, removed } = diff(this.lastElementsMap, keys);\n\n // 新建 element\n for (const key of added) {\n const mappingDatum = keyDatum.get(key);\n const i = keyIndex.get(key);\n const element = this.createElement(mappingDatum, i, isUpdate);\n this.elements[i] = element;\n this.elementsMap[key] = element;\n if (element.shape) {\n element.shape.set('zIndex', this.zIndexReversed ? this.elements.length - i : i);\n }\n }\n\n // 更新 element\n for (const key of updated) {\n const element = this.lastElementsMap[key];\n const mappingDatum = keyDatum.get(key);\n const currentShapeCfg = this.getDrawCfg(mappingDatum);\n const preShapeCfg = element.getModel();\n const i = keyIndex.get(key);\n if (this.isCoordinateChanged || isModelChange(currentShapeCfg, preShapeCfg)) {\n element.animate = this.animateOption;\n // 通过绘制数据的变更来判断是否需要更新,因为用户有可能会修改图形属性映射\n element.update(currentShapeCfg); // 更新对应的 element\n }\n this.elements[i] = element;\n this.elementsMap[key] = element;\n if (element.shape) {\n element.shape.set('zIndex', this.zIndexReversed ? this.elements.length - i : i);\n }\n }\n\n // 全部 setZIndex 之后,再执行 sort\n if (this.container) {\n this.container.sort();\n }\n\n // 销毁被删除的 elements\n for (const key of removed) {\n const element = this.lastElementsMap[key];\n // 更新动画配置,用户有可能在更新之前有对动画进行配置操作\n element.animate = this.animateOption;\n element.destroy();\n }\n }\n\n /**\n * 获取渲染的 label 类型。\n */\n protected getLabelType(): string {\n const { labelOption, coordinate, type } = this;\n const { type: coordinateType, isTransposed } = coordinate;\n let labelType = get(labelOption, ['cfg', 'type']);\n if (!labelType) {\n // 用户未定义,则进行默认的逻辑\n if (coordinateType === 'polar') {\n // 极坐标下使用通用的极坐标文本,转置则使用饼图\n labelType = isTransposed ? 'pie' : 'polar';\n } else if (coordinateType === 'theta') {\n // theta 坐标系下使用饼图文本\n labelType = 'pie';\n } else if (type === 'interval' || type === 'polygon') {\n labelType = 'interval';\n } else {\n labelType = 'base';\n }\n }\n\n return labelType;\n }\n\n /**\n * 获取 Y 轴上的最小值。\n */\n protected getYMinValue(): number {\n const yScale = this.getYScale();\n const { min, max } = yScale;\n let value: number;\n\n if (min >= 0) {\n value = min;\n } else if (max <= 0) {\n // 当值全位于负区间时,需要保证 ymin 在区域内,不可为 0\n value = max;\n } else {\n value = 0;\n }\n return value;\n }\n\n // 创建图形属性相关的配置项\n protected createAttrOption(attrName: string, field: AttributeOption | string | number, cfg?) {\n if (isNil(field) || isObject(field)) {\n if (isObject(field) && isEqual(Object.keys(field), ['values'])) {\n // shape({ values: [ 'funnel' ] })\n set(this.attributeOption, attrName, {\n fields: field.values,\n });\n } else {\n set(this.attributeOption, attrName, field);\n }\n } else {\n const attrCfg: AttributeOption = {};\n if (isNumber(field)) {\n // size(3)\n attrCfg.values = [field];\n } else {\n attrCfg.fields = parseFields(field);\n }\n\n if (cfg) {\n if (isFunction(cfg)) {\n attrCfg.callback = cfg;\n } else {\n attrCfg.values = cfg;\n }\n }\n\n set(this.attributeOption, attrName, attrCfg);\n }\n }\n\n protected initAttributes() {\n const { attributes, attributeOption, theme, shapeType } = this;\n this.groupScales = [];\n const tmpMap = {};\n\n // 遍历每一个 attrOption,各自创建 Attribute 实例\n for (const attrType in attributeOption) {\n if (attributeOption.hasOwnProperty(attrType)) {\n const option: AttributeOption = attributeOption[attrType];\n if (!option) {\n return;\n }\n const attrCfg: AttributeInstanceCfg = {\n ...option,\n };\n const { callback, values, fields = [] } = attrCfg;\n\n // 获取每一个字段对应的 scale\n const scales = fields.map((field) => {\n const scale = this.scales[field];\n if (!tmpMap[field] && GROUP_ATTRS.includes(attrType)) {\n const inferedScaleType = inferScaleType(scale, get(this.scaleDefs, field), attrType, this.type);\n if (inferedScaleType === 'cat') {\n this.groupScales.push(scale);\n tmpMap[field] = true;\n }\n }\n return scale;\n });\n\n attrCfg.scales = scales;\n\n if (attrType !== 'position' && scales.length === 1 && scales[0].type === 'identity') {\n // 用户在图形通道上声明了常量字段 color('red'), size(5)\n attrCfg.values = scales[0].values;\n } else if (!callback && !values) {\n // 用户没有指定任何规则,则使用默认的映射规则\n if (attrType === 'size') {\n attrCfg.values = theme.sizes;\n } else if (attrType === 'shape') {\n attrCfg.values = theme.shapes[shapeType] || [];\n } else if (attrType === 'color') {\n if (scales.length) {\n // 根据数值个数使用对应的色板\n attrCfg.values = scales[0].values.length <= 10 ? theme.colors10 : theme.colors20;\n } else {\n attrCfg.values = theme.colors10;\n }\n }\n }\n const AttributeCtor = getAttributeClass(attrType);\n attributes[attrType] = new AttributeCtor(attrCfg);\n }\n }\n }\n\n // 处理数据:分组 -> 数字化 -> adjust 调整\n private processData(data: Data) {\n this.hasSorted = false;\n const { scales } = this.getAttribute('position');\n const categoryScales = scales.filter((scale: Scale) => scale.isCategory);\n\n const groupedArray = this.groupData(data); // 数据分组\n const beforeAdjust = [];\n for (let i = 0, len = groupedArray.length; i < len; i++) {\n const subData = groupedArray[i];\n const arr = [];\n for (let j = 0, subLen = subData.length; j < subLen; j++) {\n const originData = subData[j];\n const item = {};\n // tslint:disable-next-line: forin\n for (const k in originData) {\n item[k] = originData[k];\n }\n item[FIELD_ORIGIN] = originData;\n\n // 将分类数据翻译成数据, 仅对位置相关的度量进行数字化处理\n for (const scale of categoryScales) {\n const field = scale.field;\n item[field] = scale.translate(item[field]);\n }\n arr.push(item);\n }\n beforeAdjust.push(arr);\n }\n\n const dataArray = this.adjustData(beforeAdjust); // 进行 adjust 数据调整\n this.beforeMappingData = dataArray;\n\n return dataArray;\n }\n\n // 调整数据\n private adjustData(dataArray: Data[]): Data[] {\n const adjustOption = this.adjustOption;\n const { intervalPadding, dodgePadding, theme } = this;\n // 兼容theme配置\n const maxColumnWidth = this.maxColumnWidth || theme.maxColumnWidth;\n const minColumnWidth = this.minColumnWidth || theme.minColumnWidth;\n const columnWidthRatio = this.columnWidthRatio || theme.columnWidthRatio;\n let result = dataArray;\n\n if (adjustOption) {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xField = xScale.field;\n const yField = yScale ? yScale.field : null;\n const xDimensionLength = getXDimensionLength(this.coordinate);\n const groupNum = xScale.values.length;\n // 传入size计算相关参数,默认宽度、最大最小宽度约束\n const sizeAttr = this.getAttribute('size');\n let defaultSize;\n if (sizeAttr) {\n defaultSize = sizeAttr.values[0];\n }\n for (let i = 0, len = adjustOption.length; i < len; i++) {\n const adjust = adjustOption[i];\n const adjustCfg: AdjustInstanceCfg = {\n xField,\n yField,\n intervalPadding,\n dodgePadding,\n xDimensionLength,\n groupNum,\n defaultSize,\n maxColumnWidth,\n minColumnWidth,\n columnWidthRatio,\n ...adjust,\n };\n const type = adjust.type;\n if (type === 'dodge') {\n const adjustNames = [];\n if (xScale.isCategory || xScale.type === 'identity') {\n adjustNames.push('x');\n } else if (!yScale) {\n adjustNames.push('y');\n } else {\n throw new Error('dodge is not support linear attribute, please use category attribute!');\n }\n adjustCfg.adjustNames = adjustNames;\n // 每个分组内每条柱子的宽度占比,用户不可指定,用户需要通过 columnWidthRatio 指定\n // 兼容theme配置\n adjustCfg.dodgeRatio = columnWidthRatio;\n } else if (type === 'stack') {\n const coordinate = this.coordinate;\n if (!yScale) {\n // 一维的情况下获取高度和默认size\n adjustCfg.height = coordinate.getHeight();\n const size = this.getDefaultValue('size') || 3;\n adjustCfg.size = size;\n }\n // 不进行 transpose 时,用户又没有设置这个参数时,默认从上向下\n if (!coordinate.isTransposed && isNil(adjustCfg.reverseOrder)) {\n adjustCfg.reverseOrder = true;\n }\n }\n const adjustCtor = getAdjustClass(type);\n adjustCfg.dimValuesMap = {};\n //生成dimValuesMap\n if (xScale && xScale.values) {\n adjustCfg.dimValuesMap[xScale.field] = xScale.values.map((v) => xScale.translate(v));\n }\n const adjustInstance = new adjustCtor(adjustCfg);\n\n result = adjustInstance.process(result);\n\n this.adjusts[type] = adjustInstance;\n }\n }\n\n return result;\n }\n\n // 对数据进行分组\n private groupData(data: Data): Data[] {\n const groupScales = this.getGroupScales();\n const scaleDefs = this.scaleDefs;\n const appendConditions = {};\n const groupFields = [];\n for (let index = 0; index < groupScales.length; index++) {\n const scale = groupScales[index];\n const field = scale.field;\n groupFields.push(field);\n if (get(scaleDefs, [field, 'values'])) {\n // 用户通过 view.scale() 接口指定了 values 属性\n appendConditions[field] = scaleDefs[field].values;\n }\n }\n\n return group(data, groupFields, appendConditions);\n }\n\n // 更新发生层叠后的数据对应的度量范围\n private updateStackRange(scale: Scale, dataArray: Data[]) {\n const mergeArray = flatten(dataArray);\n const field = scale.field;\n let min = scale.min;\n let max = scale.max;\n for (let index = 0; index < mergeArray.length; index++) {\n const obj = mergeArray[index];\n const tmpMin = Math.min.apply(null, obj[field]);\n const tmpMax = Math.max.apply(null, obj[field]);\n if (tmpMin < min) {\n min = tmpMin;\n }\n if (tmpMax > max) {\n max = tmpMax;\n }\n }\n const scaleDefs = this.scaleDefs;\n const cfg: LooseObject = {};\n if (min < scale.min && !get(scaleDefs, [field, 'min'])) {\n // 用户如果在列定义中定义了 min,则以用户定义的为准\n cfg.min = min;\n }\n if (max > scale.max && !get(scaleDefs, [field, 'max'])) {\n // 用户如果在列定义中定义了 max\n cfg.max = max;\n }\n\n scale.change(cfg);\n }\n\n // 将数据映射至图形空间前的操作:排序以及关键点的生成\n private beforeMapping(beforeMappingData: Data[]) {\n // 当初加 clone 是因为 points 的引用关系,导致更新失败,可是现在貌似复现不出来了,所以暂时不进行 clone\n // const source = clone(beforeMappingData);\n const source = beforeMappingData;\n if (this.sortable) {\n this.sort(source);\n }\n if (this.generatePoints) {\n // 需要生成关键点\n for (let index = 0, length = source.length; index < length; index++) {\n const currentData = source[index];\n this.generateShapePoints(currentData);\n const nextData = source[index + 1];\n if (nextData) {\n this.generateShapePoints(nextData);\n currentData[0].nextPoints = nextData[0].points;\n }\n }\n }\n\n return source;\n }\n\n // 生成 shape 的关键点\n private generateShapePoints(data: Data) {\n const shapeFactory = this.getShapeFactory();\n const shapeAttr = this.getAttribute('shape');\n for (let index = 0; index < data.length; index++) {\n const obj = data[index];\n const cfg = this.createShapePointsCfg(obj);\n const shape = shapeAttr ? this.getAttributeValues(shapeAttr, obj) : null;\n const points = shapeFactory.getShapePoints(shape, cfg);\n obj.points = points;\n }\n }\n\n // 将数据归一化\n private normalizeValues(values, scale) {\n let rst = [];\n if (isArray(values)) {\n for (let index = 0; index < values.length; index++) {\n const value = values[index];\n rst.push(scale.scale(value));\n }\n } else {\n rst = scale.scale(values);\n }\n return rst;\n }\n\n // 将数据映射至图形空间\n private mapping(data: Data): MappingDatum[] {\n const attributes = this.attributes;\n const mappingData = [];\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const newRecord: MappingDatum = {\n _origin: record[FIELD_ORIGIN],\n points: record.points,\n nextPoints: record.nextPoints,\n };\n for (const k in attributes) {\n if (attributes.hasOwnProperty(k)) {\n const attr = attributes[k];\n const names = attr.names;\n const values = this.getAttributeValues(attr, record);\n if (names.length > 1) {\n // position 之类的生成多个字段的属性\n for (let j = 0; j < values.length; j += 1) {\n const val = values[j];\n const name = names[j];\n newRecord[name] = isArray(val) && val.length === 1 ? val[0] : val; // 只有一个值时返回第一个属性值\n }\n } else {\n // values.length === 1 的判断是以下情况,获取用户设置的图形属性值\n // shape('a', ['dot', 'dash']), color('a', ['red', 'yellow'])\n newRecord[names[0]] = values.length === 1 ? values[0] : values;\n }\n }\n }\n\n this.convertPoint(newRecord); // 将 x、y 转换成画布坐标\n mappingData.push(newRecord);\n }\n\n return mappingData;\n }\n\n // 将归一化的坐标值转换成画布坐标\n private convertPoint(mappingRecord: MappingDatum) {\n const { x, y } = mappingRecord;\n\n let rstX;\n let rstY;\n let obj;\n const coordinate = this.coordinate;\n if (isArray(x) && isArray(y)) {\n rstX = [];\n rstY = [];\n for (let i = 0, j = 0, xLen = x.length, yLen = y.length; i < xLen && j < yLen; i += 1, j += 1) {\n obj = coordinate.convert({\n x: x[i],\n y: y[j],\n });\n rstX.push(obj.x);\n rstY.push(obj.y);\n }\n } else if (isArray(y)) {\n rstY = [];\n for (let index = 0; index < y.length; index++) {\n const yVal = y[index];\n obj = coordinate.convert({\n x: x as number,\n y: yVal,\n });\n if (rstX && rstX !== obj.x) {\n if (!isArray(rstX)) {\n rstX = [rstX];\n }\n rstX.push(obj.x);\n } else {\n rstX = obj.x;\n }\n rstY.push(obj.y);\n }\n } else if (isArray(x)) {\n rstX = [];\n for (let index = 0; index < x.length; index++) {\n const xVal = x[index];\n obj = coordinate.convert({\n x: xVal,\n y,\n });\n if (rstY && rstY !== obj.y) {\n if (!isArray(rstY)) {\n rstY = [rstY];\n }\n rstY.push(obj.y);\n } else {\n rstY = obj.y;\n }\n rstX.push(obj.x);\n }\n } else {\n const point = coordinate.convert({\n x,\n y,\n });\n rstX = point.x;\n rstY = point.y;\n }\n mappingRecord.x = rstX;\n mappingRecord.y = rstY;\n }\n\n // 获取 style 配置\n private getStyleCfg(styleOption: StyleOption, originData: Datum) {\n const { fields = [], callback, cfg } = styleOption;\n if (cfg) {\n // 用户直接配置样式属性\n return cfg;\n }\n\n const params = fields.map((field) => {\n return originData[field];\n });\n\n return callback(...params);\n }\n\n private setCfg(cfg: InitCfg) {\n const { coordinate, data, theme, scaleDefs } = cfg;\n if (coordinate) {\n this.coordinate = coordinate;\n }\n if (data) {\n this.data = data;\n }\n if (scaleDefs) {\n this.scaleDefs = scaleDefs;\n this.idFields = [];\n each(scaleDefs, (scaleDef, field) => {\n if (scaleDef && scaleDef.key) {\n this.idFields.push(field);\n }\n });\n }\n if (theme) {\n this.theme = this.userTheme ? deepMix({}, theme, this.userTheme) : theme; // 支持 geometry 层级的主题设置\n }\n }\n\n private async renderLabels(mappingArray: MappingDatum[], isUpdate: boolean = false) {\n let geometryLabel = this.geometryLabel;\n\n this.emit(GEOMETRY_LIFE_CIRCLE.BEFORE_RENDER_LABEL);\n\n if (!geometryLabel) {\n // 初次创建\n const labelType = this.getLabelType();\n const GeometryLabelsCtor = getGeometryLabel(labelType);\n geometryLabel = new GeometryLabelsCtor(this);\n this.geometryLabel = geometryLabel;\n }\n await geometryLabel.render(mappingArray, isUpdate);\n\n // 将 label 同 element 进行关联\n const labelsMap = geometryLabel.labelsRenderer.shapesMap;\n // Store labels for every element.\n const elementLabels = new Map>();\n each(labelsMap, (labelGroup: IGroup, labelGroupId: string) => {\n const labelChildren = labelGroup.getChildren() || [];\n for (let j = 0; j < labelChildren.length; j++) {\n const labelShape = labelChildren[j];\n const element = this.elementsMap[labelShape.get('elementId') || labelGroupId.split(' ')[0]];\n if (element) {\n labelShape.cfg.name = ['element', 'label'];\n labelShape.cfg.element = element;\n const labels = elementLabels.get(element) || new Set();\n labels.add(labelGroup);\n elementLabels.set(element, labels);\n }\n }\n });\n for (const [element, labels] of elementLabels.entries()) {\n element.labelShape = [...labels];\n }\n\n this.emit(GEOMETRY_LIFE_CIRCLE.AFTER_RENDER_LABEL);\n }\n /**\n * 是否需要进行群组入场动画\n * 规则:\n * 1. 如果发生更新,则不进行\n * 2. 如果用户关闭 geometry 动画,则不进行\n * 3. 如果用户关闭了 appear 动画,则不进行\n * 4. 如果用户配置了 appear.animation,则不进行\n */\n private canDoGroupAnimation(isUpdate: boolean) {\n return (\n !isUpdate &&\n this.animateOption &&\n (get(this.animateOption, 'appear') === undefined ||\n (get(this.animateOption, 'appear') && get(this.animateOption, ['appear', 'animation']) === undefined))\n );\n }\n}\n","import { groupToMap } from '@antv/util';\nimport { Data } from '../../interface';\n\n/** @ignore */\nexport function group(data: Data, fields: string[], appendConditions: Record = {}) {\n if (!fields) {\n return [data];\n }\n const groups = groupToMap(data, fields);\n const array = [];\n if (fields.length === 1 && appendConditions[fields[0]]) {\n const values = appendConditions[fields[0]];\n for (const value of values) {\n const arr = groups[`_${value}`];\n if (arr) {\n // 可能存在用户设置 values ,但是数据中没有对应的字段,则这时候 arr 就为 null\n array.push(arr);\n }\n }\n } else {\n for (const k in groups) {\n if (groups.hasOwnProperty(k)) {\n const eachGroup = groups[k];\n array.push(eachGroup);\n }\n }\n }\n\n return array;\n}\n","import { ext } from '@antv/matrix-util';\nimport { IElement, IGroup, IShape } from '../dependents';\n\nconst transform: (m: number[], actions: any[][]) => number[] = ext.transform;\n\nexport { transform };\n\n/**\n * 对元素进行平移操作。\n * @param element 进行变换的元素\n * @param x x 方向位移\n * @param y y 方向位移\n */\nexport function translate(element: IGroup | IShape, x: number, y: number) {\n const matrix = transform(element.getMatrix(), [['t', x, y]]);\n element.setMatrix(matrix);\n}\n\n/**\n * 获取元素旋转矩阵 (以元素的左上角为旋转点)\n * @param element 进行变换的元素\n * @param rotateRadian 旋转弧度\n */\nexport function getRotateMatrix(element: IElement, rotateRadian: number) {\n const { x, y } = element.attr();\n const matrix = transform(element.getMatrix(), [\n ['t', -x, -y],\n ['r', rotateRadian],\n ['t', x, y],\n ]);\n return matrix;\n}\n\n/**\n * 对元素进行旋转操作。\n * @param element 进行变换的元素\n * @param rotateRadian 旋转弧度\n */\nexport function rotate(element: IGroup | IShape, rotateRadian: number) {\n const matrix = getRotateMatrix(element, rotateRadian);\n element.setMatrix(matrix);\n}\n\n/**\n * 获取元矩阵。\n * @returns identity matrix\n */\nexport function getIdentityMatrix(): number[] {\n return [1, 0, 0, 0, 1, 0, 0, 0, 1];\n}\n\n/**\n * 围绕图形中心点进行缩放\n * @param element 进行缩放的图形元素\n * @param ratio 缩放比例\n */\nexport function zoom(element: IGroup | IShape, ratio: number) {\n const bbox = element.getBBox();\n const x = (bbox.minX + bbox.maxX) / 2;\n const y = (bbox.minY + bbox.maxY) / 2;\n element.applyToMatrix([x, y, 1]);\n\n const matrix = transform(element.getMatrix(), [\n ['t', -x, -y],\n ['s', ratio, ratio],\n ['t', x, y],\n ]);\n element.setMatrix(matrix);\n}\n","/**\n * @file utils of label\n */\n\nimport { isNil, isNumber, some } from '@antv/util';\nimport { IElement, IGroup, BBox } from '../../../dependents';\nimport { rotate } from '../../../util/transform';\n\n/**\n * 查找 Label Group 中的文本 shape 对象\n * @param label\n */\nexport function findLabelTextShape(label: IGroup): IElement {\n return label.find((el) => el.get('type') === 'text');\n}\n\n/**\n * 获取标签背景信息: box (无旋转) + rotation (旋转角度)\n */\nexport function getLabelBackgroundInfo(\n labelGroup: IGroup,\n labelItem: { rotate?: number;[key: string]: any },\n padding: number | number[] = [0, 0, 0, 0]\n): { x: number; y: number; width: number; height: number; rotation: number } {\n const content = labelGroup && labelGroup.getChildren()[0];\n if (content) {\n const labelShape = content.clone();\n\n // revert rotate\n if (labelItem?.rotate) {\n rotate(labelShape as IGroup, -labelItem.rotate);\n }\n\n // use `getCanvasBBox`, because if Shape is been translated, `getBBox` is not the actual box position\n const { x, y, width, height } = labelShape.getCanvasBBox();\n\n labelShape.destroy();\n\n let boxPadding = padding;\n if (isNil(boxPadding)) {\n boxPadding = [2, 2, 2, 2];\n } else if (isNumber(boxPadding)) {\n boxPadding = new Array(4).fill(boxPadding);\n }\n\n return {\n x: x - boxPadding[3],\n y: y - boxPadding[0],\n width: width + boxPadding[1] + boxPadding[3],\n height: height + boxPadding[0] + boxPadding[2],\n rotation: labelItem?.rotate || 0,\n };\n }\n\n return { x: 0, y: 0, width: 0, height: 0, rotation: 0 };\n}\n\n/**\n * 计算两个矩形之间的堆叠区域面积\n */\nexport function getOverlapArea(a: BBox, b: BBox, margin = 0) {\n const xOverlap = Math.max(\n 0,\n Math.min(a.x + a.width + margin, b.x + b.width + margin) - Math.max(a.x - margin, b.x - margin)\n );\n const yOverlap = Math.max(\n 0,\n Math.min(a.y + a.height + margin, b.y + b.height + margin) - Math.max(a.y - margin, b.y - margin)\n );\n\n return xOverlap * yOverlap;\n}\n\n/** 检测是否和已布局的堆叠 */\nexport function checkShapeOverlap(cur: IElement, dones: IElement[]) {\n const box = cur.getBBox();\n return some(dones, (done) => {\n const target = done.getBBox();\n return getOverlapArea(box, target, 2) > 0;\n });\n}\n","import { deepMix, each, get, isArray, isNull } from '@antv/util';\nimport { BBox, Coordinate, IGroup, IShape } from '../dependents';\nimport { LabelItem } from '../geometry/label/interface';\nimport { AnimateOption, GeometryLabelLayoutCfg } from '../interface';\nimport { doAnimate } from '../animate';\nimport { getGeometryLabelLayout } from '../geometry/label';\nimport { getLabelBackgroundInfo } from '../geometry/label/util';\nimport { polarToCartesian } from '../util/graphics';\nimport { rotate, translate } from '../util/transform';\nimport { FIELD_ORIGIN } from '../constant';\nimport { updateLabel } from './update-label';\n\n/**\n * Labels 实例创建时,传入构造函数的参数定义\n */\nexport interface LabelsGroupCfg {\n /** label 容器 */\n container: IGroup;\n /** label 布局配置 */\n layout?: GeometryLabelLayoutCfg | GeometryLabelLayoutCfg[];\n}\n\n/**\n * Geometry labels 渲染组件\n */\nexport default class Labels {\n /** 用于指定 labels 布局的类型 */\n public layout: GeometryLabelLayoutCfg | GeometryLabelLayoutCfg[];\n /** 图形容器 */\n public container: IGroup;\n /** 动画配置 */\n public animate: AnimateOption | false;\n /** label 绘制的区域 */\n public region: BBox;\n\n /** 存储当前 shape 的映射表,键值为 shape id */\n public shapesMap: Record = {};\n\n constructor(cfg: LabelsGroupCfg) {\n const { layout, container } = cfg;\n\n this.layout = layout;\n this.container = container;\n }\n /**\n * 渲染文本\n */\n public async render(items: LabelItem[], shapes: Record, isUpdate: boolean = false) {\n const shapesMap = {};\n const offscreenGroup = this.createOffscreenGroup(); // 创建虚拟分组\n if (items.length) {\n // 如果 items 空的话就不进行绘制调整操作\n // step 1: 在虚拟 group 中创建 shapes\n for (const item of items) {\n if (item) {\n shapesMap[item.id] = this.renderLabel(item, offscreenGroup);\n }\n }\n // [todo] Move layout into Worker.\n // step 2: 根据布局,调整 labels\n await this.doLayout(items, shapes, shapesMap);\n\n // step 3.1: 绘制 labelLine\n this.renderLabelLine(items, shapesMap);\n // step 3.2: 绘制 labelBackground\n this.renderLabelBackground(items, shapesMap);\n // step 4: 根据用户设置的偏移量调整 label\n this.adjustLabel(items, shapesMap);\n }\n\n // 进行添加、更新、销毁操作\n const lastShapesMap = this.shapesMap;\n each(shapesMap, (shape, id) => {\n if (shape.destroyed) {\n // label 在布局调整环节被删除了(doLayout)\n delete shapesMap[id];\n } else {\n if (lastShapesMap[id]) {\n // 图形发生更新\n const data = shape.get('data');\n const origin = shape.get('origin');\n const coordinate = shape.get('coordinate');\n const currentAnimateCfg = shape.get('animateCfg');\n\n const currentShape = lastShapesMap[id]; // 已经在渲染树上的 shape\n updateLabel(currentShape, shapesMap[id], {\n data,\n origin,\n animateCfg: currentAnimateCfg,\n coordinate,\n });\n\n shapesMap[id] = currentShape; // 保存引用\n } else {\n // 新生成的 shape\n // If container has been destroyed, no need to render labels.\n if (this.container.destroyed) return;\n this.container.add(shape);\n const animateCfg = get(shape.get('animateCfg'), isUpdate ? 'enter' : 'appear');\n if (animateCfg) {\n doAnimate(shape, animateCfg, {\n toAttrs: {\n ...shape.attr(),\n },\n coordinate: shape.get('coordinate'),\n });\n }\n }\n delete lastShapesMap[id];\n }\n });\n\n // 移除\n each(lastShapesMap, (deleteShape) => {\n const animateCfg = get(deleteShape.get('animateCfg'), 'leave');\n if (animateCfg) {\n doAnimate(deleteShape, animateCfg, {\n toAttrs: null,\n coordinate: deleteShape.get('coordinate'),\n });\n } else {\n deleteShape.remove(true); // 移除\n }\n });\n\n this.shapesMap = shapesMap;\n offscreenGroup.destroy();\n }\n\n /** 清除当前 labels */\n public clear() {\n this.container.clear();\n this.shapesMap = {};\n }\n\n /** 销毁 */\n public destroy() {\n this.container.destroy();\n this.shapesMap = null;\n }\n\n private renderLabel(cfg: LabelItem, container: IGroup): IGroup {\n const { id, elementId, data, mappingData, coordinate, animate, content, capture } = cfg;\n const shapeAppendCfg = {\n id,\n elementId,\n capture,\n data,\n origin: {\n ...mappingData,\n data: mappingData[FIELD_ORIGIN],\n },\n coordinate,\n };\n const labelGroup = container.addGroup({\n name: 'label',\n // 如果 this.animate === false 或者 cfg.animate === false/null 则不进行动画,否则进行动画配置的合并\n animateCfg:\n this.animate === false || animate === null || animate === false ? false : deepMix({}, this.animate, animate),\n ...shapeAppendCfg,\n });\n let labelShape;\n if ((content.isGroup && content.isGroup()) || (content.isShape && content.isShape())) {\n // 如果 content 是 Group 或者 Shape,根据 textAlign 调整位置后,直接将其加入 labelGroup\n const { width, height } = content.getCanvasBBox();\n const textAlign = get(cfg, 'textAlign', 'left');\n\n let x = cfg.x;\n const y = cfg.y - height / 2;\n\n if (textAlign === 'center') {\n x = x - width / 2;\n } else if (textAlign === 'right' || textAlign === 'end') {\n x = x - width;\n }\n\n translate(content, x, y); // 将 label 平移至 x, y 指定的位置\n labelShape = content;\n labelGroup.add(content);\n } else {\n const fill = get(cfg, ['style', 'fill']);\n labelShape = labelGroup.addShape('text', {\n attrs: {\n x: cfg.x,\n y: cfg.y,\n textAlign: cfg.textAlign,\n textBaseline: get(cfg, 'textBaseline', 'middle'),\n text: cfg.content,\n ...cfg.style,\n fill: isNull(fill) ? cfg.color : fill,\n },\n ...shapeAppendCfg,\n });\n }\n\n if (cfg.rotate) {\n rotate(labelShape, cfg.rotate);\n }\n return labelGroup;\n }\n\n // 根据type对label布局\n private async doLayout(items: LabelItem[], shapes: Record, shapesMap: Record) {\n if (this.layout) {\n const layouts = isArray(this.layout) ? this.layout : [this.layout];\n await Promise.all(layouts.map((layout: GeometryLabelLayoutCfg) => {\n const layoutFn = getGeometryLabelLayout(get(layout, 'type', ''));\n if (!layoutFn) return;\n\n const labelShapes = [];\n const geometryShapes = [];\n each(shapesMap, (labelShape, id) => {\n labelShapes.push(labelShape);\n geometryShapes.push(shapes[labelShape.get('elementId')]);\n });\n // [todo] Refactor more layout into Worker.\n return layoutFn(items, labelShapes, geometryShapes, this.region, layout.cfg);\n }));\n }\n }\n\n private renderLabelLine(labelItems: LabelItem[], shapesMap) {\n each(labelItems, (labelItem) => {\n const coordinate: Coordinate = get(labelItem, 'coordinate');\n if (!labelItem || !coordinate) {\n return;\n }\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n if (!labelItem.labelLine) {\n // labelLine: null | false,关闭 label 对应的 labelLine\n return;\n }\n const labelLineCfg = get(labelItem, 'labelLine', {});\n const id = labelItem.id;\n let path = labelLineCfg.path;\n if (!path) {\n const start = polarToCartesian(center.x, center.y, radius, labelItem.angle);\n path = [\n ['M', start.x, start.y],\n ['L', labelItem.x, labelItem.y],\n ];\n }\n const labelGroup = shapesMap[id];\n if (!labelGroup.destroyed) {\n labelGroup.addShape('path', {\n capture: false, // labelLine 默认不参与事件捕获\n attrs: {\n path,\n stroke: labelItem.color ? labelItem.color : get(labelItem, ['style', 'fill'], '#000'),\n fill: null,\n ...labelLineCfg.style,\n },\n id,\n origin: labelItem.mappingData,\n data: labelItem.data,\n coordinate: labelItem.coordinate,\n });\n }\n });\n }\n\n /**\n * 绘制标签背景\n * @param labelItems\n */\n private renderLabelBackground(labelItems: LabelItem[], shapesMap) {\n each(labelItems, (labelItem) => {\n const coordinate: Coordinate = get(labelItem, 'coordinate');\n const background: LabelItem['background'] = get(labelItem, 'background');\n if (!background || !coordinate) {\n return;\n }\n\n const id = labelItem.id;\n const labelGroup = shapesMap[id];\n if (!labelGroup.destroyed) {\n const labelContentShape = labelGroup.getChildren()[0];\n if (labelContentShape) {\n const { rotation, ...box } = getLabelBackgroundInfo(labelGroup, labelItem, background.padding);\n const backgroundShape = labelGroup.addShape('rect', {\n attrs: {\n ...box,\n ...(background.style || {}),\n },\n id,\n origin: labelItem.mappingData,\n data: labelItem.data,\n coordinate: labelItem.coordinate,\n });\n backgroundShape.setZIndex(-1);\n\n if (rotation) {\n const matrix = labelContentShape.getMatrix();\n backgroundShape.setMatrix(matrix);\n }\n }\n }\n });\n }\n\n private createOffscreenGroup() {\n const container = this.container;\n const GroupClass = container.getGroupBase(); // 获取分组的构造函数\n const newGroup = new GroupClass({});\n return newGroup;\n }\n\n private adjustLabel(items: LabelItem[], shapesMap) {\n each(items, (item) => {\n if (item) {\n const id = item.id;\n const labelGroup = shapesMap[id];\n if (!labelGroup.destroyed) {\n // fix: 如果说开发者的 label content 是一个 group,此处的偏移无法对 整个 content group 生效;场景类似 饼图 spider label 是一个含 2 个 textShape 的 gorup\n const labelShapes = labelGroup.findAll((ele) => ele.get('type') !== 'path');\n each(labelShapes, (labelShape) => {\n if (labelShape) {\n if (item.offsetX) {\n labelShape.attr('x', labelShape.attr('x') + item.offsetX);\n }\n if (item.offsetY) {\n labelShape.attr('y', labelShape.attr('y') + item.offsetY);\n }\n }\n });\n }\n }\n });\n }\n}\n","import { Coordinate } from '@antv/coord';\nimport { IGroup, IShape } from '@antv/g-base';\nimport { each, get } from '@antv/util';\nimport { doAnimate } from '../animate';\nimport { getReplaceAttrs } from '../util/graphics';\n\n/** label 的必要配置 */\ntype Cfg = {\n data: any;\n origin: any;\n animateCfg: any;\n coordinate: Coordinate;\n};\n\n/**\n * @desc 更新 label (目前没有根据 id 索引,还是会存在一点小问题的,只能根据 idx 索引)\n * @done shape 属性更新\n * @done shape delete\n * @done shape append\n *\n * @param fromShape old labelShape\n * @param toShape new labelShape\n * @param cfg\n */\nexport function updateLabel(fromShape: IGroup, toShape: IGroup, cfg: Cfg): void {\n const { data, origin, animateCfg, coordinate } = cfg;\n const updateAnimateCfg = get(animateCfg, 'update');\n\n fromShape.set('data', data);\n fromShape.set('origin', origin);\n fromShape.set('animateCfg', animateCfg);\n fromShape.set('coordinate', coordinate);\n fromShape.set('visible', toShape.get('visible'));\n\n (fromShape.getChildren() || []).forEach((fromChild, idx) => {\n const toChild = toShape.getChildByIndex(idx) as IShape;\n if (!toChild) {\n fromShape.removeChild(fromChild);\n fromChild.remove(true);\n } else {\n fromChild.set('data', data);\n fromChild.set('origin', origin);\n fromChild.set('animateCfg', animateCfg);\n fromChild.set('coordinate', coordinate);\n\n const newAttrs = getReplaceAttrs(fromChild as IShape, toChild);\n if (updateAnimateCfg) {\n doAnimate(fromChild as IShape, updateAnimateCfg, {\n toAttrs: newAttrs,\n coordinate,\n });\n } else {\n fromChild.attr(newAttrs);\n }\n if (toChild.isGroup()) {\n updateLabel(fromChild as any, toChild as any, cfg);\n }\n }\n });\n\n // append\n each(toShape.getChildren(), (child, idx) => {\n if (idx >= fromShape.getCount()) {\n if (!child.destroyed) {\n fromShape.add(child);\n }\n }\n });\n}\n","import { deepMix, each, get, isArray, isFunction, isNil, isNumber, isString, isUndefined } from '@antv/util';\n\nimport { FIELD_ORIGIN } from '../../constant';\nimport { Scale } from '../../dependents';\nimport { Datum, LabelOption, MappingDatum, Point } from '../../interface';\nimport { LabelCfg, LabelItem, LabelPointCfg, TextAlign } from './interface';\n\nimport { getDefaultAnimateCfg } from '../../animate';\nimport { getPolygonCentroid } from '../../util/graphics';\n\nimport Labels from '../../component/labels';\nimport Geometry from '../base';\nimport Element from '../element';\n\nexport type GeometryLabelConstructor = new (cfg: any) => GeometryLabel;\n\nfunction avg(arr: number[]) {\n let sum = 0;\n each(arr, (value: number) => {\n sum += value;\n });\n return sum / arr.length;\n}\n\n/**\n * Geometry Label 基类,用于生成 Geometry 下所有 label 的配置项信息\n */\nexport default class GeometryLabel {\n /** geometry 实例 */\n public readonly geometry: Geometry;\n public labelsRenderer: Labels;\n /** 默认的布局 */\n public defaultLayout: string;\n\n constructor(geometry: Geometry) {\n this.geometry = geometry;\n }\n\n public getLabelItems(mapppingArray: MappingDatum[]): LabelItem[] {\n const items = [];\n const labelCfgs = this.getLabelCfgs(mapppingArray);\n // 获取 label 相关的 x,y 的值,获取具体的 x, y,防止存在数组\n each(mapppingArray, (mappingData: MappingDatum, index: number) => {\n const labelCfg = labelCfgs[index];\n if (!labelCfg || isNil(mappingData.x) || isNil(mappingData.y)) {\n items.push(null);\n return;\n }\n\n const labelContent = !isArray(labelCfg.content) ? [labelCfg.content] : labelCfg.content;\n labelCfg.content = labelContent;\n const total = labelContent.length;\n each(labelContent, (content, subIndex) => {\n if (isNil(content) || content === '') {\n items.push(null);\n return;\n }\n\n const item = {\n ...labelCfg,\n ...this.getLabelPoint(labelCfg, mappingData, subIndex),\n };\n if (!item.textAlign) {\n item.textAlign = this.getLabelAlign(item, subIndex, total);\n }\n\n if (item.offset <= 0) {\n item.labelLine = null;\n }\n\n items.push(item);\n });\n });\n return items;\n }\n\n public async render(mappingArray: MappingDatum[], isUpdate: boolean = false) {\n const labelItems = this.getLabelItems(mappingArray);\n const labelsRenderer = this.getLabelsRenderer();\n const shapes = this.getGeometryShapes();\n // 渲染文本\n await labelsRenderer.render(labelItems, shapes, isUpdate);\n }\n\n public clear() {\n const labelsRenderer = this.labelsRenderer;\n if (labelsRenderer) {\n labelsRenderer.clear();\n }\n }\n\n public destroy() {\n const labelsRenderer = this.labelsRenderer;\n if (labelsRenderer) {\n labelsRenderer.destroy();\n }\n this.labelsRenderer = null;\n }\n\n // geometry 更新之后,对应的 Coordinate 也会更新,为了获取到最新鲜的 Coordinate,故使用方法获取\n public getCoordinate() {\n return this.geometry.coordinate;\n }\n\n /**\n * 获取 label 的默认配置\n */\n protected getDefaultLabelCfg(offset?: number, position?: string) {\n const geometry = this.geometry;\n const { type, theme } = geometry;\n\n if (\n type === 'polygon' ||\n (type === 'interval' && position === 'middle') ||\n (offset < 0 && !['line', 'point', 'path'].includes(type))\n ) {\n // polygon 或者 (interval 且 middle) 或者 offset 小于 0 时,文本展示在图形内部,将其颜色设置为 白色\n return get(theme, 'innerLabels', {});\n }\n\n return get(theme, 'labels', {});\n }\n\n /**\n * 获取当前 label 的最终配置\n * @param labelCfg\n */\n protected getThemedLabelCfg(labelCfg: LabelCfg) {\n const geometry = this.geometry;\n const defaultLabelCfg = this.getDefaultLabelCfg();\n const { type, theme } = geometry;\n let themedLabelCfg;\n\n if (type === 'polygon' || (labelCfg.offset < 0 && !['line', 'point', 'path'].includes(type))) {\n // polygon 或者 offset 小于 0 时,文本展示在图形内部,将其颜色设置为 白色\n themedLabelCfg = deepMix({}, defaultLabelCfg, theme.innerLabels, labelCfg);\n } else {\n themedLabelCfg = deepMix({}, defaultLabelCfg, theme.labels, labelCfg);\n }\n\n return themedLabelCfg;\n }\n\n /**\n * 设置 label 位置\n * @param labelPointCfg\n * @param mappingData\n * @param index\n * @param position\n */\n protected setLabelPosition(\n labelPointCfg: LabelPointCfg,\n mappingData: MappingDatum,\n index: number,\n position: string\n ) {}\n\n /**\n * @desc 获取 label offset\n */\n protected getLabelOffset(offset: number | string): number {\n const coordinate = this.getCoordinate();\n const vector = this.getOffsetVector(offset);\n return coordinate.isTransposed ? vector[0] : vector[1];\n }\n\n /**\n * 获取每个 label 的偏移量 (矢量)\n * @param labelCfg\n * @param index\n * @param total\n * @return {Point} offsetPoint\n */\n protected getLabelOffsetPoint(labelCfg: LabelCfg, index: number, total: number): Point {\n const offset = labelCfg.offset;\n const coordinate = this.getCoordinate();\n const transposed = coordinate.isTransposed;\n const dim = transposed ? 'x' : 'y';\n const factor = transposed ? 1 : -1; // y 方向上越大,像素的坐标越小,所以transposed时将系数变成\n const offsetPoint = {\n x: 0,\n y: 0,\n };\n if (index > 0 || total === 1) {\n // 判断是否小于0\n offsetPoint[dim] = offset * factor;\n } else {\n offsetPoint[dim] = offset * factor * -1;\n }\n return offsetPoint;\n }\n\n /**\n * 获取每个 label 的位置\n * @param labelCfg\n * @param mappingData\n * @param index\n * @returns label point\n */\n protected getLabelPoint(labelCfg: LabelCfg, mappingData: MappingDatum, index: number): LabelPointCfg {\n const coordinate = this.getCoordinate();\n const total = labelCfg.content.length;\n\n function getDimValue(value: number | number[], idx: number, isAvg = false) {\n let v = value;\n if (isArray(v)) {\n if (labelCfg.content.length === 1) {\n if (isAvg) {\n v = avg(v);\n } else {\n // 如果仅一个 label,多个 y, 取最后一个 y\n if (v.length <= 2) {\n v = v[(value as number[]).length - 1];\n } else {\n v = avg(v);\n }\n }\n } else {\n v = v[idx];\n }\n }\n return v;\n }\n\n const label = {\n content: labelCfg.content[index],\n x: 0,\n y: 0,\n start: { x: 0, y: 0 },\n color: '#fff',\n };\n const shape = isArray(mappingData.shape) ? mappingData.shape[0] : mappingData.shape;\n const isFunnel = shape === 'funnel' || shape === 'pyramid';\n\n // 多边形场景,多用于地图\n if (this.geometry.type === 'polygon') {\n const centroid = getPolygonCentroid(mappingData.x, mappingData.y);\n label.x = centroid[0];\n label.y = centroid[1];\n } else if (this.geometry.type === 'interval' && !isFunnel) {\n // 对直方图的label X 方向的位置居中\n label.x = getDimValue(mappingData.x, index, true);\n label.y = getDimValue(mappingData.y, index);\n } else {\n label.x = getDimValue(mappingData.x, index);\n label.y = getDimValue(mappingData.y, index);\n }\n\n // 处理漏斗图文本位置\n if (isFunnel) {\n const nextPoints = get(mappingData, 'nextPoints');\n const points = get(mappingData, 'points');\n if (nextPoints) {\n // 非漏斗图底部\n const point1 = coordinate.convert(points[1] as Point);\n const point2 = coordinate.convert(nextPoints[1] as Point);\n label.x = (point1.x + point2.x) / 2;\n label.y = (point1.y + point2.y) / 2;\n } else if (shape === 'pyramid') {\n const point1 = coordinate.convert(points[1] as Point);\n const point2 = coordinate.convert(points[2] as Point);\n label.x = (point1.x + point2.x) / 2;\n label.y = (point1.y + point2.y) / 2;\n }\n }\n\n if (labelCfg.position) {\n // 如果 label 支持 position 属性\n this.setLabelPosition(label, mappingData, index, labelCfg.position);\n }\n const offsetPoint = this.getLabelOffsetPoint(labelCfg, index, total);\n label.start = { x: label.x, y: label.y };\n label.x += offsetPoint.x;\n label.y += offsetPoint.y;\n label.color = mappingData.color;\n return label;\n }\n\n /**\n * 获取文本的对齐方式\n * @param item\n * @param index\n * @param total\n * @returns\n */\n protected getLabelAlign(item: LabelItem, index: number, total: number): TextAlign {\n let align: TextAlign = 'center';\n const coordinate = this.getCoordinate();\n if (coordinate.isTransposed) {\n const offset = item.offset;\n if (offset < 0) {\n align = 'right';\n } else if (offset === 0) {\n align = 'center';\n } else {\n align = 'left';\n }\n if (total > 1 && index === 0) {\n if (align === 'right') {\n align = 'left';\n } else if (align === 'left') {\n align = 'right';\n }\n }\n }\n return align;\n }\n\n /**\n * 获取每一个 label 的唯一 id\n * @param mappingData label 对应的图形的绘制数据\n */\n protected getLabelId(mappingData: MappingDatum) {\n const geometry = this.geometry;\n const type = geometry.type;\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n const origin = mappingData[FIELD_ORIGIN]; // 原始数据\n\n let labelId = geometry.getElementId(mappingData);\n if (type === 'line' || type === 'area') {\n // 折线图以及区域图,一条线会对应一组数据,即多个 labels,为了区分这些 labels,需要在 line id 的前提下加上 x 字段值\n labelId += ` ${origin[xScale.field]}`;\n } else if (type === 'path') {\n // path 路径图,无序,有可能存在相同 x 不同 y 的情况,需要通过 x y 来确定唯一 id\n labelId += ` ${origin[xScale.field]}-${origin[yScale.field]}`;\n }\n\n return labelId;\n }\n\n // 获取 labels 组件\n private getLabelsRenderer() {\n const { labelsContainer, labelOption, canvasRegion, animateOption } = this.geometry;\n const coordinate = this.geometry.coordinate;\n\n let labelsRenderer = this.labelsRenderer;\n if (!labelsRenderer) {\n labelsRenderer = new Labels({\n container: labelsContainer,\n layout: get(labelOption, ['cfg', 'layout'], {\n type: this.defaultLayout,\n }),\n });\n this.labelsRenderer = labelsRenderer;\n }\n labelsRenderer.region = canvasRegion;\n // 设置动画配置,如果 geometry 的动画关闭了,那么 label 的动画也会关闭\n labelsRenderer.animate = animateOption ? getDefaultAnimateCfg('label', coordinate) : false;\n\n return labelsRenderer;\n }\n\n private getLabelCfgs(mapppingArray: MappingDatum[]): LabelCfg[] {\n const geometry = this.geometry;\n const { labelOption, scales, coordinate } = geometry;\n const { fields, callback, cfg } = labelOption as LabelOption;\n const labelScales = fields.map((field: string) => {\n return scales[field];\n });\n\n const labelCfgs: LabelCfg[] = [];\n each(mapppingArray, (mappingData: MappingDatum, index: number) => {\n const origin = mappingData[FIELD_ORIGIN]; // 原始数据\n const originText = this.getLabelText(origin, labelScales);\n let callbackCfg;\n if (callback) {\n // 当同时配置了 callback 和 cfg 时,以 callback 为准\n const originValues = fields.map((field: string) => origin[field]);\n callbackCfg = callback(...originValues);\n if (isNil(callbackCfg)) {\n labelCfgs.push(null);\n return;\n }\n }\n\n let labelCfg = {\n id: this.getLabelId(mappingData), // 进行 ID 标记\n elementId: this.geometry.getElementId(mappingData), // label 对应 Element 的 ID\n data: origin, // 存储原始数据\n mappingData, // 存储映射后的数据,\n coordinate, // 坐标系\n ...cfg,\n ...callbackCfg,\n };\n\n if (isFunction(labelCfg.position)) {\n labelCfg.position = labelCfg.position(origin, mappingData, index);\n }\n\n const offset = this.getLabelOffset(labelCfg.offset || 0);\n // defaultCfg 需要判断 innerLabels & labels\n const defaultLabelCfg = this.getDefaultLabelCfg(offset, labelCfg.position);\n // labelCfg priority: defaultCfg < cfg < callbackCfg\n labelCfg = deepMix({}, defaultLabelCfg, labelCfg);\n // 获取最终的 offset\n labelCfg.offset = this.getLabelOffset(labelCfg.offset || 0);\n\n const content = labelCfg.content;\n if (isFunction(content)) {\n labelCfg.content = content(origin, mappingData, index);\n } else if (isUndefined(content)) {\n // 用户未配置 content,则默认为映射的第一个字段的值\n labelCfg.content = originText[0];\n }\n\n labelCfgs.push(labelCfg);\n });\n\n return labelCfgs;\n }\n\n private getLabelText(origin: Datum, scales: Scale[]) {\n const labelTexts = [];\n each(scales, (scale: Scale) => {\n let value = origin[scale.field];\n if (isArray(value)) {\n value = value.map((subVal) => {\n return scale.getText(subVal);\n });\n } else {\n value = scale.getText(value);\n }\n\n if (isNil(value) || value === '') {\n labelTexts.push(null);\n } else {\n labelTexts.push(value);\n }\n });\n return labelTexts;\n }\n\n private getOffsetVector(offset: number | string = 0) {\n const coordinate = this.getCoordinate();\n let actualOffset = 0;\n if (isNumber(offset)) {\n actualOffset = offset;\n }\n // 如果 x,y 翻转,则偏移 x,否则偏移 y\n return coordinate.isTransposed ? coordinate.applyMatrix(actualOffset, 0) : coordinate.applyMatrix(0, actualOffset);\n }\n\n private getGeometryShapes() {\n const geometry = this.geometry;\n const shapes = {};\n each(geometry.elementsMap, (element: Element, id: string) => {\n shapes[id] = element.shape;\n });\n // 因为有可能 shape 还在进行动画,导致 shape.getBBox() 获取到的值不是最终态,所以需要从 offscreenGroup 获取\n each(geometry.getOffscreenGroup().getChildren(), (child) => {\n const id = geometry.getElementId(child.get('origin').mappingData);\n shapes[id] = child;\n });\n\n return shapes;\n }\n}\n","import { Attribute } from '../dependents';\n\n/**\n * @ignore\n * get the mapping value by attribute, if mapping value is nil, return def\n * @param attr\n * @param value\n * @param def\n * @returns get mapping value\n */\nexport function getMappingValue(attr: Attribute, value: any, def: string): string {\n if (!attr) {\n return def;\n }\n\n let r;\n // 多参数映射,阻止程序报错\n if (attr.callback && attr.callback.length > 1) {\n const restArgs = Array(attr.callback.length - 1).fill('');\n r = attr.mapping(value, ...restArgs).join('');\n } else {\n r = attr.mapping(value).join('');\n }\n\n return r || def;\n}\n","/** @ignore */\nexport const MarkerSymbols = {\n hexagon: (x: number, y: number, r: number) => {\n const diffX = (r / 2) * Math.sqrt(3);\n return [\n ['M', x, y - r],\n ['L', x + diffX, y - r / 2],\n ['L', x + diffX, y + r / 2],\n ['L', x, y + r],\n ['L', x - diffX, y + r / 2],\n ['L', x - diffX, y - r / 2],\n ['Z'],\n ];\n },\n bowtie: (x: number, y: number, r: number) => {\n const diffY = r - 1.5;\n return [['M', x - r, y - diffY], ['L', x + r, y + diffY], ['L', x + r, y - diffY], ['L', x - r, y + diffY], ['Z']];\n },\n cross: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y - r],\n ['L', x + r, y + r],\n ['M', x + r, y - r],\n ['L', x - r, y + r],\n ];\n },\n tick: (x: number, y: number, r: number) => {\n return [\n ['M', x - r / 2, y - r],\n ['L', x + r / 2, y - r],\n ['M', x, y - r],\n ['L', x, y + r],\n ['M', x - r / 2, y + r],\n ['L', x + r / 2, y + r],\n ];\n },\n plus: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n hyphen: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n line: (x: number, y: number, r: number) => {\n return [\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n};\n","import { LegendMarkerCfg } from '@antv/component';\nimport { deepMix, isString, each, get, isFunction } from '@antv/util';\nimport View from '../chart/view';\nimport { DIRECTION } from '../constant';\nimport { Attribute, ShapeAttrs, Tick } from '../dependents';\nimport Geometry from '../geometry/base';\nimport { LegendCfg, LegendItem, MarkerCfg } from '../interface';\nimport { getMappingValue } from './attr';\nimport { omit } from './helper';\nimport { MarkerSymbols } from './marker';\n\n/** 线条形 marker symbol */\nconst STROKES_SYMBOLS = ['line', 'cross', 'tick', 'plus', 'hyphen'];\n\n/**\n * 处理用户配置的 marker style\n * @param markerStyle\n * @param userMarker.style\n * @returns {ShapeAttrs} newStyle\n */\nfunction handleUserMarkerStyle(markerStyle: ShapeAttrs, style: MarkerCfg['style']): ShapeAttrs {\n if (isFunction(style)) {\n return style(markerStyle);\n }\n return deepMix({}, markerStyle, style);\n}\n\n/**\n * 根据 marker 是否为线条形 symbol, 来调整下样式\n * @param symbol\n * @param style\n * @param color\n */\nfunction adpatorMarkerStyle(marker: LegendMarkerCfg, color: string): void {\n const symbol = marker.symbol;\n if (isString(symbol) && STROKES_SYMBOLS.indexOf(symbol) !== -1) {\n const markerStyle = get(marker, 'style', {});\n const lineWidth = get(markerStyle, 'lineWidth', 1);\n const stroke = markerStyle.stroke || markerStyle.fill || color;\n marker.style = deepMix({}, marker.style, { lineWidth, stroke, fill: null });\n }\n}\n\n/**\n * 设置 marker 的 symbol,将 字符串的 symbol 转换为真正的绘制命令\n * @param marker\n */\nfunction setMarkerSymbol(marker: LegendMarkerCfg): void {\n const symbol = marker.symbol;\n if (isString(symbol) && MarkerSymbols[symbol]) {\n marker.symbol = MarkerSymbols[symbol];\n }\n}\n\n/**\n * @ignore\n * get the legend layout from direction\n * @param direction\n * @returns layout 'horizontal' | 'vertical'\n */\nexport function getLegendLayout(direction: DIRECTION): 'vertical' | 'horizontal' {\n return direction.startsWith(DIRECTION.LEFT) || direction.startsWith(DIRECTION.RIGHT) ? 'vertical' : 'horizontal';\n}\n\n/** item of @antv/component legend */\ntype ComponentLegendItem = Omit & {\n marker: any;\n};\n\n/**\n * @ignore\n * get the legend items\n * @param view\n * @param geometry\n * @param attr\n * @param themeMarker\n * @param markerCfg\n * @returns legend items\n */\nexport function getLegendItems(\n view: View,\n geometry: Geometry,\n attr: Attribute,\n themeMarker: object,\n userMarker: LegendCfg['marker']\n): ComponentLegendItem[] {\n const scale = attr.getScale(attr.type);\n if (scale.isCategory) {\n const field = scale.field;\n const colorAttr = geometry.getAttribute('color');\n const shapeAttr = geometry.getAttribute('shape');\n const defaultColor = view.getTheme().defaultColor;\n const isInPolar = geometry.coordinate.isPolar;\n\n return scale.getTicks().map((tick: Tick, index: number) => {\n const { text, value: scaleValue } = tick;\n const name = text;\n const value = scale.invert(scaleValue);\n\n // 通过过滤图例项的数据,来看是否 unchecked\n let unchecked = view.filterFieldData(field, [{ [field]: value }]).length === 0;\n each(view.views, (subView) => {\n if (!subView.filterFieldData(field, [{ [field]: value }]).length) {\n unchecked = true;\n }\n });\n\n // @ts-ignore\n const color = getMappingValue(colorAttr, value, defaultColor);\n const shape = getMappingValue(shapeAttr, value, 'point');\n let marker = geometry.getShapeMarker(shape, {\n color,\n isInPolar,\n });\n\n let markerCfg = userMarker;\n if (isFunction(markerCfg)) {\n markerCfg = markerCfg(name, index, { name, value, ...deepMix({}, themeMarker, marker) });\n }\n\n // the marker configure order should be ensure\n marker = deepMix({}, themeMarker, marker, omit({ ...markerCfg }, ['style']));\n adpatorMarkerStyle(marker, color);\n if (markerCfg && markerCfg.style) {\n // handle user's style settings\n marker.style = handleUserMarkerStyle(marker.style, markerCfg.style);\n }\n setMarkerSymbol(marker);\n\n return { id: value, name, value, marker, unchecked };\n });\n }\n return [];\n}\n\n/**\n *\n * @ignore\n * custom legend 的 items 获取\n * @param themeMarker\n * @param userMarker\n * @param customItems\n */\nexport function getCustomLegendItems(themeMarker: object, userMarker: object, customItems: LegendItem[]) {\n // 如果有自定义的 item,那么就直接使用,并合并主题的 marker 配置\n return customItems.map((item: LegendItem, index: number) => {\n let markerCfg = userMarker;\n if (isFunction(markerCfg)) {\n markerCfg = markerCfg(item.name, index, deepMix({}, themeMarker, item));\n }\n\n const itemMarker = isFunction(item.marker)\n ? item.marker(item.name, index, deepMix({}, themeMarker, item))\n : item.marker;\n\n const marker = deepMix({}, themeMarker, markerCfg, itemMarker);\n setMarkerSymbol(marker);\n\n item.marker = marker;\n return item;\n });\n}\n\n/**\n * get the legend cfg from theme, will mix the common cfg of legend theme\n *\n * @param theme view theme object\n * @param direction legend direction\n * @returns legend theme cfg\n */\nexport function getLegendThemeCfg(theme: object, direction: string): object {\n const legendTheme = get(theme, ['components', 'legend'], {});\n return deepMix({}, get(legendTheme, ['common'], {}), deepMix({}, get(legendTheme, [direction], {})));\n}\n","import { isArray } from '@antv/util';\nimport { PathCommand } from '../../../dependents';\nimport { Point, RangePoint, ShapeVertices } from '../../../interface';\nimport { getSplinePath } from './path';\n\nfunction isValueEmpty(value) {\n if (value) {\n return false;\n }\n return value === null || value === undefined || isNaN(value);\n}\n\nfunction isYNil(point: Point[] | RangePoint) {\n if (isArray(point)) {\n // 特殊处理 area 的关键点数据,其关键点结构为 [{x: 0, y: 1}, {x: 0, y: 2}]\n return isValueEmpty(point[1].y);\n }\n const value = point.y;\n return isArray(value) ? isValueEmpty(value[0]) : isValueEmpty(value);\n}\n\n/**\n * @ignore\n * 分割数据,用于处理在一组点数据中,y 对应的数值存在 null/undefined/NaN 的情况\n * 应用于折线图、区域图以及路径图\n *\n * ```typescript\n * // return [[{x: 1, y: 2}, {x: 3, y: 3}]]\n * getPathPoints([{x: 1, y: 2}, {x: 2, y: null}, {x: 3, y: 3}], true);\n * // return [[{x: 1, y: 2}], [{x: 3, y: 3}]]\n * getPathPoints([{x: 1, y: 2}, {x: 2, y: null}, {x: 3, y: 3}], false);\n * // return [[[{ x: 1, y: 10 }, { x: 2, y: 2 }], [{ x: 9, y: 34 }, { x: 1, y: 1 }]]]\n * getPathPoints([\n * [{ x: 1, y: 10 }, { x: 2, y: 2 }],\n * [{ x: 4, y: 2 }, { x: 8, y: NaN }],\n * [{ x: 9, y: 34 }, { x: 1, y: 1 }],\n * ], true);\n * ```\n *\n * @param points 要进行处理点集合\n * @param connectNulls 是否连接空值数据\n * @param showSinglePoint 是否展示孤立点\n * @returns 返回处理后的点集合\n */\nexport function getPathPoints(points: ShapeVertices, connectNulls: boolean = false, showSinglePoint: boolean = true) {\n if (!points.length || (points.length === 1 && !showSinglePoint)) {\n // 空或者只有一个点并配置不展示时\n return [];\n }\n\n if (connectNulls) {\n // 即 y 值为空的场景\n const filtered = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (!isYNil(point)) {\n filtered.push(point);\n }\n }\n return [filtered];\n }\n\n const result = [];\n let tmp = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (isYNil(point)) {\n if (tmp.length) {\n if (!(tmp.length === 1 && !showSinglePoint)) {\n // 如果前段数据只有一个字段并且不需要展示时则不加入\n result.push(tmp);\n }\n tmp = [];\n }\n } else {\n tmp.push(point);\n }\n }\n\n if (tmp.length) {\n result.push(tmp);\n }\n return result;\n}\n\n/**\n * 获取小提琴图的边界 path\n * @param points\n * @returns\n */\nexport function getViolinPath(points: ShapeVertices): PathCommand[] {\n const path = [];\n for (let i = 0; i < points.length; i++) {\n const point = points[i] as Point;\n if (point) {\n const action = i === 0 ? 'M' : 'L';\n path.push([action, point.x, point.y]);\n }\n }\n const first = points[0] as Point;\n if (first) {\n path.push(['L', first.x, first.y]);\n path.push(['z']);\n }\n return path;\n}\n\n/**\n * 获取小提琴图 平滑的边界 path\n * @param points\n * @returns\n */\nexport function getSmoothViolinPath(points: ShapeVertices): PathCommand[] {\n const half = points.length / 2;\n const leftPoints = [];\n const rightPoints = [];\n for (let i = 0; i < points.length; i++) {\n if (i < half) {\n leftPoints.push(points[i]);\n } else {\n rightPoints.push(points[i]);\n }\n }\n const leftPath = getSplinePath(leftPoints, false);\n const rightPath = getSplinePath(rightPoints, false);\n if (rightPoints.length) {\n leftPath.push(['L', rightPoints[0].x, rightPoints[0].y]);\n }\n rightPath.shift();\n const path = leftPath.concat(rightPath);\n if (leftPoints.length) {\n path.push(['L', leftPoints[0].x, leftPoints[0].y]);\n }\n path.push(['z']);\n return path;\n}\n","import { deepMix, isNil, get } from '@antv/util';\nimport { ShapeInfo } from '../../../interface';\n\n/**\n * @ignore\n * 获取 Shape 的图形属性\n * @param cfg\n * @param isStroke 是否需要描边\n * @param isFill 是否需要填充\n * @param [sizeName] 可选,表示图形大小的属性,lineWidth 或者 r\n * @returns\n */\nexport function getStyle(cfg: ShapeInfo, isStroke: boolean, isFill: boolean, sizeName: string = '') {\n const { style = {}, defaultStyle, color, size } = cfg;\n const attrs = {\n ...defaultStyle,\n ...style,\n };\n if (color) {\n if (isStroke) {\n if (!style.stroke) {\n // 如果用户在 style() 中配置了 stroke,则以用户配置的为准\n attrs.stroke = color;\n }\n }\n\n if (isFill) {\n if (!style.fill) {\n // 如果用户在 style() 中配置了 fill\n attrs.fill = color;\n }\n }\n }\n if (sizeName && isNil(style[sizeName]) && !isNil(size)) {\n // 如果用户在 style() 中配置了 lineWidth 或者 r 属性\n attrs[sizeName] = size;\n }\n\n return attrs;\n}\n\n/**\n * 获取 矩形背景 的样式\n * @param cfg\n */\nexport function getBackgroundRectStyle(cfg?: ShapeInfo) {\n return deepMix(\n {},\n {\n // 默认背景色,copy from active-region\n fill: '#CCD6EC',\n fillOpacity: 0.3,\n },\n get(cfg, ['background', 'style'])\n );\n}\n","import { isArray } from '@antv/util';\nimport { Point, RangePoint } from '../../../interface';\n\n/**\n * @ignore\n * 拆分点数据\n * @example\n * // result: [{x: 20, y: 20}, {x: 20, y: 30}]\n * splitPoints({x: 20,y: [20, 30]});\n * @example\n * // result: [{x: 20, y: 20}, {x: 30, y: 30}]\n * splitPoints({x: [20, 30],y: [20, 30]});\n * @param obj\n */\nexport function splitPoints(obj: RangePoint): Point[] {\n // y 有可能是数组,对应原始数据中 y 为一个区间数据,如 [19, 30],为了统一也将 x 转换为数组\n const x = obj.x;\n const y = isArray(obj.y) ? obj.y : [obj.y];\n\n return y.map((eachY, index) => {\n return {\n x: isArray(x) ? x[index] : x,\n y: eachY,\n };\n });\n}\n","import { ShapeMarkerCfg } from '../../../interface';\n\nconst LineSymbols = {\n line: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n dot: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n dash: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n smooth: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['A', r / 2, r / 2, 0, 1, 1, x, y],\n ['A', r / 2, r / 2, 0, 1, 0, x + r, y],\n ];\n },\n hv: (x: number, y: number, r: number) => {\n return [\n ['M', x - r - 1, y - 2.5],\n ['L', x, y - 2.5],\n ['L', x, y + 2.5],\n ['L', x + r + 1, y + 2.5],\n ];\n },\n vh: (x: number, y: number, r: number) => {\n return [\n ['M', x - r - 1, y + 2.5],\n ['L', x, y + 2.5],\n ['L', x, y - 2.5],\n ['L', x + r + 1, y - 2.5],\n ];\n },\n hvh: (x: number, y: number, r: number) => {\n return [\n ['M', x - (r + 1), y + 2.5],\n ['L', x - r / 2, y + 2.5],\n ['L', x - r / 2, y - 2.5],\n ['L', x + r / 2, y - 2.5],\n ['L', x + r / 2, y + 2.5],\n ['L', x + r + 1, y + 2.5],\n ];\n },\n vhv: (x: number, y: number) => {\n // 宽 13px,高 8px\n return [\n ['M', x - 5, y + 2.5],\n ['L', x - 5, y],\n ['L', x, y],\n ['L', x, y - 3],\n ['L', x, y + 3],\n ['L', x + 6.5, y + 3],\n ];\n },\n};\n\n/**\n * Gets line marker\n * @ignore\n * @param markerCfg\n * @param shapeType\n * @returns 返回 Line 的 marker 配置\n */\nexport function getLineMarker(markerCfg: ShapeMarkerCfg, shapeType: string) {\n const { color } = markerCfg;\n return {\n symbol: LineSymbols[shapeType],\n style: {\n lineWidth: 2,\n r: 6,\n stroke: color,\n },\n };\n}\n","import { each, isArray } from '@antv/util';\nimport { IGroup, ShapeAttrs } from '../../../dependents';\nimport { Point, Position, RangePoint, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath, getSplinePath } from '../util/path';\nimport { splitPoints } from '../util/split-points';\nimport { getLineMarker } from './util';\n\nfunction getShapeAttrs(cfg: ShapeInfo, smooth?: boolean, constraint?: Position[]) {\n const { isStack, connectNulls, isInCircle, showSinglePoint } = cfg;\n const shapeAttrs = getStyle(cfg, true, false, 'lineWidth');\n\n const points = getPathPoints(cfg.points, connectNulls, showSinglePoint); // 根据 connectNulls 值处理 points\n let path = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const eachLinePoints = points[i];\n path = path.concat(getPath(eachLinePoints, isInCircle, isStack, smooth, constraint, shapeAttrs));\n }\n shapeAttrs.path = path;\n\n return shapeAttrs;\n}\n\n// 单条 path\nfunction getSinglePath(\n points: Point[],\n isInCircle: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n if (points.length === 1) {\n // 只有一个点时\n return [\n ['M', points[0].x, points[0].y - style.lineWidth / 2],\n ['L', points[0].x, points[0].y],\n ['L', points[0].x, points[0].y + style.lineWidth / 2],\n ];\n }\n\n let path;\n if (!smooth) {\n path = getLinePath(points, false);\n if (isInCircle) {\n path.push(['Z']);\n }\n } else {\n // 直角坐标系下绘制曲线时限制最大值、最小值\n if (isInCircle && points.length) {\n points.push({ x: points[0].x, y: points[0].y });\n }\n path = getSplinePath(points, false, constraint);\n }\n\n return path;\n}\n\nfunction getRangePath(\n points: RangePoint[],\n isInCircle: boolean,\n isStack?: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n const topPoints = [];\n const bottomPoints = [];\n each(points, (point: RangePoint) => {\n const result = splitPoints(point);\n topPoints.push(result[1]); // 上边\n bottomPoints.push(result[0]); // 底边\n });\n\n const topPath = getSinglePath(topPoints, isInCircle, smooth, constraint, style);\n const bottomPath = getSinglePath(bottomPoints, isInCircle, smooth, constraint, style);\n if (isStack) {\n return topPath;\n }\n return topPath.concat(bottomPath);\n}\n\n/**\n * 获取折线图 path\n */\nexport function getPath(\n points: Point[] | RangePoint[],\n isInCircle: boolean,\n isStack?: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n if (points.length) {\n const first = points[0];\n\n return isArray(first.y)\n ? getRangePath(points as RangePoint[], isInCircle, isStack, smooth, constraint, style)\n : getSinglePath(points as Point[], isInCircle, smooth, constraint, style);\n }\n return [];\n}\n\nconst LineShapeFactory = registerShapeFactory('line', {\n defaultShapeType: 'line',\n});\n\n// 这里因为代码公用,所以直接全部注册\n// 'line' 默认折线;'dot' 点线 ···;'dash' 断线 - - -\neach(['line', 'dot', 'dash', 'smooth'], (shapeType) => {\n registerShape('line', shapeType, {\n draw(cfg: ShapeInfo, container: IGroup) {\n const smooth = shapeType === 'smooth';\n let constraint;\n if (smooth) {\n const { start, end } = this.coordinate;\n constraint = [\n [start.x, end.y],\n [end.x, start.y],\n ];\n }\n\n const attrs = getShapeAttrs(cfg, smooth, constraint);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'line',\n capture: !smooth,\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return getLineMarker(markerCfg, shapeType);\n },\n });\n});\n\nexport default LineShapeFactory;\n","/* G2 的一个壳子,不包含 Geometry,由开发者自己定义和引入 */\n\nexport const VERSION = '4.2.10';\n\n// 核心基类导出\nexport { Chart, View, Event } from './chart'; // Chart, View 类\nexport { Controller as ComponentController } from './chart/controller/base'; // G2 组件基类\nexport { default as TooltipController } from './chart/controller/tooltip'; // G2 tooltip 组件基类\nexport { default as Geometry } from './geometry/base'; // Geometry 基类\nexport { default as Element } from './geometry/element'; // Element 类\nexport { default as GeometryLabel } from './geometry/label/base'; // Geometry Label 基类\nexport { Interaction, Action } from './interaction'; // Interaction, Action 基类\nexport { Facet } from './facet'; // Facet 基类\nexport { default as InteractionAction } from './interaction/action/base'; // Interaction Action 基类\n\n// 注册 ComponentController\nexport { registerComponentController } from './chart';\n\n// 注册 Geometry\nexport { registerGeometry } from './chart';\n\n// 注册 Geometry Shape\nexport { registerShape, registerShapeFactory, getShapeFactory } from './geometry/shape/base';\n\n// 注册 Geometry label 以及 Geometry Label 布局函数\nexport {\n registerGeometryLabel,\n registerGeometryLabelLayout,\n getGeometryLabel,\n getGeometryLabelLayout,\n} from './geometry/label';\n\n// 注册 interaction\nexport { getInteraction, registerInteraction, registerAction, getActionClass } from './interaction';\n\n// 注册 facet\nexport { getFacet, registerFacet } from './facet';\n\n// 注册主题\nexport { getTheme, registerTheme } from './theme';\n\n// G engine 管理相关\nexport { registerEngine, getEngine } from './engine';\n\n// 注册动画函数\nexport { registerAnimation, getAnimation } from './animate/animation';\n\nexport { LAYER, DIRECTION } from './constant';\n\n// 因为 typescript 部分版本不支持 export * as 语法。\nimport * as Types from './interface';\nexport type { Types };\n\nexport { IGroup, ShapeAttrs, Coordinate, Scale, ScaleConfig } from './dependents';\n\n// 一些工具方法导出\nimport { getMappingValue } from './util/attr';\nimport { getLegendItems } from './util/legend';\nimport { getAngle, getSectorPath, polarToCartesian } from './util/graphics';\nimport { rotate, transform, translate, zoom } from './util/transform';\nimport { getTooltipItems } from './util/tooltip';\nimport { getDelegationObject } from './interaction/action/util';\nimport { getPathPoints } from './geometry/shape/util/get-path-points';\nimport { getPath } from './geometry/shape/line';\n\nexport const Util = {\n getLegendItems,\n translate,\n rotate,\n zoom,\n transform,\n getAngle,\n getSectorPath,\n polarToCartesian,\n getDelegationObject,\n getTooltipItems,\n getMappingValue,\n // shape 的一些操作方法\n getPath,\n getPathPoints,\n};\n","import { StyleSheetCfg } from '../../interface';\n\nconst WHITE_COLORS = {\n 100: '#000',\n 95: '#0D0D0D',\n 85: '#262626',\n 65: '#595959',\n 45: '#8C8C8C',\n 25: '#BFBFBF',\n 15: '#D9D9D9',\n 6: '#F0F0F0',\n};\n\nconst BLACK_COLORS = {\n 100: '#FFFFFF',\n 95: '#F2F2F2',\n 85: '#D9D9D9',\n 65: '#A6A6A6',\n 45: '#737373',\n 25: '#404040',\n 15: '#262626',\n 6: '#0F0F0F',\n};\n\nconst QUALITATIVE_10 = [\n '#5B8FF9',\n '#5AD8A6',\n '#5D7092',\n '#F6BD16',\n '#E86452',\n '#6DC8EC',\n '#945FB9',\n '#FF9845',\n '#1E9493',\n '#FF99C3',\n];\n\nconst QUALITATIVE_20 = [\n '#5B8FF9',\n '#CDDDFD',\n '#5AD8A6',\n '#CDF3E4',\n '#5D7092',\n '#CED4DE',\n '#F6BD16',\n '#FCEBB9',\n '#E86452',\n '#F8D0CB',\n '#6DC8EC',\n '#D3EEF9',\n '#945FB9',\n '#DECFEA',\n '#FF9845',\n '#FFE0C7',\n '#1E9493',\n '#BBDEDE',\n '#FF99C3',\n '#FFE0ED',\n];\n\n/** 单色顺序色板 */\nconst SINGLE_SEQUENCE = [\n '#B8E1FF',\n '#9AC5FF',\n '#7DAAFF',\n '#5B8FF9',\n '#3D76DD',\n '#085EC0',\n '#0047A5',\n '#00318A',\n '#001D70',\n];\n\nexport const createDarkStyleSheet = (cfg: StyleSheetCfg = {}) => {\n const { paletteQualitative10 = QUALITATIVE_10, paletteQualitative20 = QUALITATIVE_20 } = cfg;\n const { brandColor = paletteQualitative10[0] } = cfg;\n\n const token = {\n /** 图表背景色 */\n backgroundColor: '#141414',\n /** 主题色 */\n brandColor,\n /** 图表辅助色 */\n subColor: 'rgba(255,255,255,0.05)',\n /** 分类色板 1,在数据量小于等于 10 时使用 */\n paletteQualitative10,\n /** 分类色板 2,在数据量大于 10 时使用 */\n paletteQualitative20,\n /** 语义色 */\n paletteSemanticRed: '#F4664A',\n /** 语义色 */\n paletteSemanticGreen: '#30BF78',\n /** 语义色 */\n paletteSemanticYellow: '#FAAD14',\n /** (单色)顺序色板 */\n paletteSequence: SINGLE_SEQUENCE,\n /** 字体 */\n fontFamily: `\"Segoe UI\", Roboto, \"Helvetica Neue\", Arial,\n \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\",\n \"Noto Color Emoji\"`,\n\n // -------------------- 坐标轴 --------------------\n /** 坐标轴线颜色 */\n axisLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴线粗细 */\n axisLineBorder: 1,\n /** 坐标轴线 lineDash 设置 */\n axisLineDash: null,\n\n /** 坐标轴标题颜色 */\n axisTitleTextFillColor: BLACK_COLORS[65],\n /** 坐标轴标题文本字体大小 */\n axisTitleTextFontSize: 12,\n /** 坐标轴标题文本行高 */\n axisTitleTextLineHeight: 12,\n /** 坐标轴标题文本字体粗细 */\n axisTitleTextFontWeight: 'normal',\n /** 坐标轴标题距离坐标轴文本的间距 */\n axisTitleSpacing: 12,\n /** 坐标轴标题详细说明icon颜色 */\n axisDescriptionIconFillColor: WHITE_COLORS[85],\n\n /** 坐标轴刻度线颜色 */\n axisTickLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴刻度线长度 */\n axisTickLineLength: 4,\n /** 坐标轴刻度线粗细 */\n axisTickLineBorder: 1,\n\n /** 坐标轴次刻度线颜色 */\n axisSubTickLineBorderColor: BLACK_COLORS[15],\n /** 坐标轴次刻度线长度 */\n axisSubTickLineLength: 2,\n /** 坐标轴次刻度线粗细 */\n axisSubTickLineBorder: 1,\n\n /** 坐标轴刻度文本颜色 */\n axisLabelFillColor: BLACK_COLORS[45],\n /** 坐标轴刻度文本字体大小 */\n axisLabelFontSize: 12,\n /** 坐标轴刻度文本行高 */\n axisLabelLineHeight: 12,\n /** 坐标轴刻度文本字体粗细 */\n axisLabelFontWeight: 'normal',\n /** 坐标轴刻度文本距离坐标轴线的间距 */\n axisLabelOffset: 8,\n\n /** 坐标轴网格线颜色 */\n axisGridBorderColor: BLACK_COLORS[15],\n /** 坐标轴网格线粗细 */\n axisGridBorder: 1,\n /** 坐标轴网格线虚线设置 */\n axisGridLineDash: null,\n\n // -------------------- 图例 --------------------\n /** 图例标题颜色 */\n legendTitleTextFillColor: BLACK_COLORS[45],\n /** 图例标题文本字体大小 */\n legendTitleTextFontSize: 12,\n /** 图例标题文本行高 */\n legendTitleTextLineHeight: 21,\n /** 图例标题文本字体粗细 */\n legendTitleTextFontWeight: 'normal',\n\n /** 图例 marker 颜色 */\n legendMarkerColor: QUALITATIVE_10[0],\n /** 图例 marker 距离图例文本的间距 */\n legendMarkerSpacing: 8,\n /** 图例 marker 默认半径大小 */\n legendMarkerSize: 4,\n /** 图例 'circle' marker 半径 */\n legendCircleMarkerSize: 4,\n /** 图例 'square' marker 半径 */\n legendSquareMarkerSize: 4,\n /** 图例 'line' marker 半径 */\n legendLineMarkerSize: 5,\n\n /** 图例项文本颜色 */\n legendItemNameFillColor: BLACK_COLORS[65],\n /** 图例项文本字体大小 */\n legendItemNameFontSize: 12,\n /** 图例项文本行高 */\n legendItemNameLineHeight: 12,\n /** 图例项粗细 */\n legendItemNameFontWeight: 'normal',\n /** 图例项之间的水平间距 */\n legendItemSpacing: 24,\n /** 图例项垂直方向的间隔 */\n legendItemMarginBottom: 12,\n /** 图例与图表绘图区域的偏移距离 */\n legendSpacing: 16,\n /** 图例与图表绘图区域的偏移距离 */\n legendPadding: [8, 8, 8, 8],\n /** 水平布局的图例与绘图区域偏移距离 */\n legendHorizontalPadding: [8, 0, 8, 0],\n /** 垂直布局的图例与绘图区域偏移距离 */\n legendVerticalPadding: [0, 8, 0, 8],\n\n // 图例分页器\n /** 图例分页器 marker 大小 */\n legendPageNavigatorMarkerSize: 12,\n /** 图例分页器 marker 填充色 */\n legendPageNavigatorMarkerInactiveFillColor: BLACK_COLORS[45],\n /** 图例分页器 marker 填充色透明度 */\n legendPageNavigatorMarkerInactiveFillOpacity: 0.45,\n /** 图例分页器 marker 激活状态填充色 */\n legendPageNavigatorMarkerFillColor: BLACK_COLORS[45],\n /** 图例分页器 marker 激活状态填充色透明度 */\n legendPageNavigatorMarkerFillOpacity: 1,\n /** 图例分页器文本颜色 */\n legendPageNavigatorTextFillColor: BLACK_COLORS[65],\n /** 图例分页器文本字体大小 */\n legendPageNavigatorTextFontSize: 12,\n\n /** 连续图例滑块填充色 */\n sliderRailFillColor: BLACK_COLORS[15],\n /** 连续图例滑块边框粗细 */\n sliderRailBorder: 0,\n /** 连续图例滑块边框颜色 */\n sliderRailBorderColor: null,\n /** 连续图例滑块宽度 */\n sliderRailWidth: 100,\n /** 连续图例滑块高度 */\n sliderRailHeight: 12,\n\n /** 连续图例文本颜色 */\n sliderLabelTextFillColor: BLACK_COLORS[45],\n /** 连续图例文本字体大小 */\n sliderLabelTextFontSize: 12,\n /** 连续图例文本行高 */\n sliderLabelTextLineHeight: 12,\n /** 连续图例文本字体粗细 */\n sliderLabelTextFontWeight: 'normal',\n\n /** 连续图例滑块颜色 */\n sliderHandlerFillColor: WHITE_COLORS[6],\n /** 连续图例滑块宽度 */\n sliderHandlerWidth: 10,\n /** 连续图例滑块高度 */\n sliderHandlerHeight: 14,\n /** 连续图例滑块边框粗细 */\n sliderHandlerBorder: 1,\n /** 连续图例滑块边框颜色 */\n sliderHandlerBorderColor: WHITE_COLORS[25],\n\n // -------------------- Annotation,图形标注 --------------------\n /** arc 图形标注描边颜色 */\n annotationArcBorderColor: BLACK_COLORS[15],\n /** arc 图形标注粗细 */\n annotationArcBorder: 1,\n\n /** line 图形标注颜色 */\n annotationLineBorderColor: BLACK_COLORS[25],\n /** line 图形标注粗细 */\n annotationLineBorder: 1,\n /** lube 图形标注的虚线间隔 */\n annotationLineDash: null,\n\n /** text 图形标注文本颜色 */\n annotationTextFillColor: BLACK_COLORS[65],\n /** text 图形标注文本字体大小 */\n annotationTextFontSize: 12,\n /** text 图形标注文本行高 */\n annotationTextLineHeight: 12,\n /** text 图形标注文本字体粗细 */\n annotationTextFontWeight: 'normal',\n /** text 图形标注文本边框颜色 */\n annotationTextBorderColor: null,\n /** text 图形标注文本边框粗细 */\n annotationTextBorder: 0,\n\n /** region 图形标注填充颜色 */\n annotationRegionFillColor: BLACK_COLORS[100],\n /** region 图形标注填充颜色透明色 */\n annotationRegionFillOpacity: 0.06,\n /** region 图形标注描边粗细 */\n annotationRegionBorder: 0,\n /** region 图形标注描边颜色 */\n annotationRegionBorderColor: null,\n\n /** dataMarker 图形标注线的长度 */\n annotationDataMarkerLineLength: 16,\n\n // -------------------- Tooltip --------------------\n /** tooltip crosshairs 辅助线颜色 */\n tooltipCrosshairsBorderColor: BLACK_COLORS[25],\n /** tooltip crosshairs 辅助线粗细 */\n tooltipCrosshairsBorder: 1,\n /** tooltip crosshairs 辅助线虚线间隔 */\n tooltipCrosshairsLineDash: null,\n\n /** tooltip 内容框背景色 */\n tooltipContainerFillColor: '#1f1f1f',\n tooltipContainerFillOpacity: 0.95,\n /** tooltip 内容框阴影 */\n tooltipContainerShadow: '0px 2px 4px rgba(0,0,0,.5)',\n /** tooltip 内容框圆角 */\n tooltipContainerBorderRadius: 3,\n\n /** tooltip 文本颜色 */\n tooltipTextFillColor: BLACK_COLORS[65],\n /** tooltip 文本字体大小 */\n tooltipTextFontSize: 12,\n /** tooltip 文本行高 */\n tooltipTextLineHeight: 12,\n /** tooltip 文本字体粗细 */\n tooltipTextFontWeight: 'bold',\n\n // -------------------- Geometry labels --------------------\n /** Geometry label 文本颜色 */\n labelFillColor: BLACK_COLORS[65],\n labelFillColorDark: '#2c3542',\n labelFillColorLight: '#ffffff',\n /** Geometry label 文本字体大小 */\n labelFontSize: 12,\n /** Geometry label 文本行高 */\n labelLineHeight: 12,\n /** Geometry label 文本字体粗细 */\n labelFontWeight: 'normal',\n /** Geometry label 文本描边颜色 */\n labelBorderColor: null,\n /** Geometry label 文本描边粗细 */\n labelBorder: 0,\n\n /** Geometry innerLabel 文本颜色 */\n innerLabelFillColor: WHITE_COLORS[100],\n /** Geometry innerLabel 文本字体大小 */\n innerLabelFontSize: 12,\n /** Geometry innerLabel 文本行高 */\n innerLabelLineHeight: 12,\n /** Geometry innerLabel 文本字体粗细 */\n innerLabelFontWeight: 'normal',\n /** Geometry innerLabel 文本描边颜色 */\n innerLabelBorderColor: null,\n /** Geometry innerLabel 文本描边粗细 */\n innerLabelBorder: 0,\n\n /** Geometry label 文本颜色 */\n overflowLabelFillColor: BLACK_COLORS[65],\n overflowLabelFillColorDark: '#2c3542',\n overflowLabelFillColorLight: '#ffffff',\n /** Geometry label 文本字体大小 */\n overflowLabelFontSize: 12,\n /** Geometry label 文本行高 */\n overflowLabelLineHeight: 12,\n /** Geometry label 文本字体粗细 */\n overflowLabelFontWeight: 'normal',\n /** Geometry label 文本描边颜色 */\n overflowLabelBorderColor: WHITE_COLORS[100],\n /** Geometry label 文本描边粗细 */\n overflowLabelBorder: 1,\n\n /** Geometry label 文本连接线粗细 */\n labelLineBorder: 1,\n /** Geometry label 文本连接线颜色 */\n labelLineBorderColor: BLACK_COLORS[25],\n\n // -------------------- Slider 组件样式--------------------\n /** slider 滑道高度 */\n cSliderRailHieght: 16,\n /** slider 滑道背景色 */\n cSliderBackgroundFillColor: '#416180',\n /** slider 滑道背景色透明度 */\n cSliderBackgroundFillOpacity: 0.05,\n /** slider 滑道前景色 */\n cSliderForegroundFillColor: '#5B8FF9',\n /** slider 滑道前景色透明度 */\n cSliderForegroundFillOpacity: 0.15,\n // slider handlerStyle 手柄样式\n /** slider 手柄高度 */\n cSliderHandlerHeight: 24,\n /** Slider 手柄宽度 */\n cSliderHandlerWidth: 10,\n /** Slider 手柄背景色 */\n cSliderHandlerFillColor: '#F7F7F7',\n /** Slider 手柄背景色透明度 */\n cSliderHandlerFillOpacity: 1,\n /** Slider 手柄高亮背景色 */\n cSliderHandlerHighlightFillColor: '#FFF',\n /** Slider 手柄边框色 */\n cSliderHandlerBorderColor: '#BFBFBF',\n /** Slider 手柄边框粗细 */\n cSliderHandlerBorder: 1,\n /** Slider 手柄边框圆角 */\n cSliderHandlerBorderRadius: 2,\n // slider textStyle 字体标签样式\n /** Slider 字体标签颜色 */\n cSliderTextFillColor: '#fff',\n /** Slider 字体标签透明度 */\n cSliderTextFillOpacity: 0.45,\n /** Slider 字体标签大小 */\n cSliderTextFontSize: 12,\n /** Slider 字体标签行高 */\n cSliderTextLineHeight: 12,\n /** Slider 字体标签字重 */\n cSliderTextFontWeight: 'normal',\n /** Slider 字体标签描边色 */\n cSliderTextBorderColor: null,\n /** Slider 字体标签描边粗细 */\n cSliderTextBorder: 0,\n\n // -------------------- Scrollbar 组件样式--------------------\n /** 滚动条 滚道填充色 */\n scrollbarTrackFillColor: 'rgba(255,255,255,0.65)',\n /** 滚动条 滑块填充色 */\n scrollbarThumbFillColor: 'rgba(0,0,0,0.35)',\n /** 滚动条 滑块高亮填充色 */\n scrollbarThumbHighlightFillColor: 'rgba(0,0,0,0.45)',\n\n // -------------------- Geometry 图形样式--------------------\n /** 点图填充颜色 */\n pointFillColor: QUALITATIVE_10[0],\n /** 点图填充颜色透明度 */\n pointFillOpacity: 0.95,\n /** 点图大小 */\n pointSize: 4,\n /** 点图描边粗细 */\n pointBorder: 1,\n /** 点图描边颜色 */\n pointBorderColor: WHITE_COLORS[100],\n /** 点图描边透明度 */\n pointBorderOpacity: 1,\n\n /** 点图 active 状态下描边颜色 */\n pointActiveBorderColor: BLACK_COLORS[100],\n\n /** 点图 selected 状态下描边粗细 */\n pointSelectedBorder: 2,\n /** 点图 selected 状态下描边颜色 */\n pointSelectedBorderColor: BLACK_COLORS[100],\n\n /** 点图 inactive 状态下填充颜色透明度 */\n pointInactiveFillOpacity: 0.3,\n /** 点图 inactive 状态下描边透明度 */\n pointInactiveBorderOpacity: 0.3,\n\n /** 空心点图大小 */\n hollowPointSize: 4,\n /** 空心点图描边粗细 */\n hollowPointBorder: 1,\n /** 空心点图描边颜色 */\n hollowPointBorderColor: QUALITATIVE_10[0],\n /** 空心点图描边透明度 */\n hollowPointBorderOpacity: 0.95,\n hollowPointFillColor: WHITE_COLORS[100],\n\n /** 空心点图 active 状态下描边粗细 */\n hollowPointActiveBorder: 1,\n /** 空心点图 active 状态下描边颜色 */\n hollowPointActiveBorderColor: BLACK_COLORS[100],\n /** 空心点图 active 状态下描边透明度 */\n hollowPointActiveBorderOpacity: 1,\n\n /** 空心点图 selected 状态下描边粗细 */\n hollowPointSelectedBorder: 2,\n /** 空心点图 selected 状态下描边颜色 */\n hollowPointSelectedBorderColor: BLACK_COLORS[100],\n /** 空心点图 selected 状态下描边透明度 */\n hollowPointSelectedBorderOpacity: 1,\n\n /** 空心点图 inactive 状态下描边透明度 */\n hollowPointInactiveBorderOpacity: 0.3,\n\n /** 线图粗细 */\n lineBorder: 2,\n /** 线图颜色 */\n lineBorderColor: QUALITATIVE_10[0],\n /** 线图透明度 */\n lineBorderOpacity: 1,\n\n /** 线图 Active 状态下粗细 */\n lineActiveBorder: 3,\n\n /** 线图 selected 状态下粗细 */\n lineSelectedBorder: 3,\n\n /** 线图 inactive 状态下透明度 */\n lineInactiveBorderOpacity: 0.3,\n\n /** area 填充颜色 */\n areaFillColor: QUALITATIVE_10[0],\n /** area 填充透明度 */\n areaFillOpacity: 0.25,\n\n /** area 在 active 状态下的填充透明度 */\n areaActiveFillColor: QUALITATIVE_10[0],\n areaActiveFillOpacity: 0.5,\n\n /** area 在 selected 状态下的填充透明度 */\n areaSelectedFillColor: QUALITATIVE_10[0],\n areaSelectedFillOpacity: 0.5,\n\n /** area inactive 状态下填充透明度 */\n areaInactiveFillOpacity: 0.3,\n\n /** hollowArea 颜色 */\n hollowAreaBorderColor: QUALITATIVE_10[0],\n /** hollowArea 边框粗细 */\n hollowAreaBorder: 2,\n /** hollowArea 边框透明度 */\n hollowAreaBorderOpacity: 1,\n\n /** hollowArea active 状态下的边框粗细 */\n hollowAreaActiveBorder: 3,\n hollowAreaActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowArea selected 状态下的边框粗细 */\n hollowAreaSelectedBorder: 3,\n hollowAreaSelectedBorderColor: BLACK_COLORS[100],\n\n /** hollowArea inactive 状态下的边框透明度 */\n hollowAreaInactiveBorderOpacity: 0.3,\n\n /** interval 填充颜色 */\n intervalFillColor: QUALITATIVE_10[0],\n /** interval 填充透明度 */\n intervalFillOpacity: 0.95,\n\n /** interval active 状态下边框粗细 */\n intervalActiveBorder: 1,\n /** interval active 状态下边框颜色 */\n intervalActiveBorderColor: BLACK_COLORS[100],\n intervalActiveBorderOpacity: 1,\n\n /** interval selected 状态下边框粗细 */\n intervalSelectedBorder: 2,\n /** interval selected 状态下边框颜色 */\n intervalSelectedBorderColor: BLACK_COLORS[100],\n /** interval selected 状态下边框透明度 */\n intervalSelectedBorderOpacity: 1,\n\n /** interval inactive 状态下边框透明度 */\n intervalInactiveBorderOpacity: 0.3,\n /** interval inactive 状态下填充透明度 */\n intervalInactiveFillOpacity: 0.3,\n\n /** interval 边框粗细 */\n hollowIntervalBorder: 2,\n /** hollowInterval 边框颜色 */\n hollowIntervalBorderColor: QUALITATIVE_10[0],\n /** hollowInterval 边框透明度 */\n hollowIntervalBorderOpacity: 1,\n hollowIntervalFillColor: WHITE_COLORS[100],\n\n /** hollowInterval active 状态下边框粗细 */\n hollowIntervalActiveBorder: 2,\n /** hollowInterval active 状态下边框颜色 */\n hollowIntervalActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowInterval selected 状态下边框粗细 */\n hollowIntervalSelectedBorder: 3,\n /** hollowInterval selected 状态下边框颜色 */\n hollowIntervalSelectedBorderColor: BLACK_COLORS[100],\n /** hollowInterval selected 状态下边框透明度 */\n hollowIntervalSelectedBorderOpacity: 1,\n\n /** hollowInterval inactive 状态下边框透明度 */\n hollowIntervalInactiveBorderOpacity: 0.3,\n };\n\n return { ...token, ...cfg };\n};\n\nexport const antvDark = createDarkStyleSheet();\n","import { FIELD_ORIGIN } from '../constant';\nimport { MappingDatum, ShapeInfo } from '../interface';\nimport Geometry, { GeometryCfg } from './base';\nimport Element from './element';\n/** 引入对应的 ShapeFactory */\nimport './shape/line';\nimport { isModelChange } from './util/is-model-change';\nimport { diff } from './util/diff';\n\n/** Path 构造函数参数类型 */\nexport interface PathCfg extends GeometryCfg {\n /** 是否连接空值 */\n connectNulls?: boolean;\n /** 单个孤立数据点是否展示 */\n showSinglePoint?: boolean;\n}\n\n/**\n * Path 几何标记。\n * 用于绘制路径图等。\n */\nexport default class Path extends Geometry {\n public readonly type: string = 'path';\n public readonly shapeType: string = 'line';\n /** 是否连接空值 */\n public connectNulls: boolean;\n /** 单个孤立数据点是否展示 */\n public showSinglePoint: boolean;\n\n constructor(cfg: PathCfg) {\n super(cfg);\n\n const { connectNulls = false, showSinglePoint = true } = cfg;\n this.connectNulls = connectNulls;\n this.showSinglePoint = showSinglePoint;\n }\n\n /**\n * 创建所有的 Element 实例,对于 Path、Line、Area,一组数据对应一个 Element。\n * @param mappingData\n * @param [isUpdate]\n * @returns elements\n */\n protected updateElements(mappingDataArray: MappingDatum[][], isUpdate: boolean = false) {\n // Path 的每个 element 对应一组数据\n const keyData = new Map();\n const keyIndex = new Map();\n const keys: string[] = [];\n\n let index = 0;\n for (let i = 0; i < mappingDataArray.length; i++) {\n const mappingData = mappingDataArray[i];\n const key = this.getElementId(mappingData);\n keys.push(key);\n keyData.set(key, mappingData);\n keyIndex.set(key, index);\n index++;\n }\n\n this.elements = new Array(index);\n\n const { added, updated, removed } = diff(this.lastElementsMap, keys);\n\n for (const key of added) {\n const mappingData = keyData.get(key);\n const shapeFactory = this.getShapeFactory();\n const shapeCfg = this.getShapeInfo(mappingData);\n const i = keyIndex.get(key);\n const element = new Element({\n shapeFactory,\n container: this.container,\n offscreenGroup: this.getOffscreenGroup(),\n elementIndex: i,\n });\n element.geometry = this;\n element.animate = this.animateOption;\n element.draw(shapeCfg, isUpdate); // 绘制 shape\n this.elementsMap[key] = element;\n this.elements[i] = element;\n }\n\n for (const key of updated) {\n const mappingData = keyData.get(key);\n const element = this.lastElementsMap[key];\n const i = keyIndex.get(key);\n const shapeCfg = this.getShapeInfo(mappingData);\n const preShapeCfg = element.getModel();\n if (this.isCoordinateChanged || isModelChange(preShapeCfg, shapeCfg)) {\n element.animate = this.animateOption;\n // 通过绘制数据的变更来判断是否需要更新,因为用户有可能会修改图形属性映射\n element.update(shapeCfg); // 更新对应的 element\n }\n this.elementsMap[key] = element;\n this.elements[i] = element;\n }\n\n for (const key of removed) {\n const element = this.lastElementsMap[key];\n // 更新动画配置,用户有可能在更新之前有对动画进行配置操作\n element.animate = this.animateOption;\n element.destroy();\n }\n }\n\n /**\n * 获取组成一条线(一组数据)的所有点以及数据\n * @param mappingData 映射后的数组\n */\n protected getPointsAndData(mappingData: MappingDatum[]) {\n const points = [];\n const data = [];\n\n for (let i = 0, len = mappingData.length; i < len; i++) {\n const obj = mappingData[i];\n points.push({\n x: obj.x,\n y: obj.y,\n });\n data.push(obj[FIELD_ORIGIN]);\n }\n\n return {\n points,\n data,\n };\n }\n\n private getShapeInfo(mappingData: MappingDatum[]): ShapeInfo {\n const shapeCfg = this.getDrawCfg(mappingData[0]);\n const { points, data } = this.getPointsAndData(mappingData);\n shapeCfg.mappingData = mappingData;\n shapeCfg.data = data;\n shapeCfg.isStack = !!this.getAdjust('stack');\n shapeCfg.points = points;\n shapeCfg.connectNulls = this.connectNulls;\n shapeCfg.showSinglePoint = this.showSinglePoint;\n\n return shapeCfg;\n }\n}\n","import { each } from '@antv/util';\nimport { Coordinate, PathCommand } from '../../../dependents';\nimport { Point, Position, Shape, ShapeInfo } from '../../../interface';\n\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath, getSplinePath } from '../util/path';\n\nfunction getPath(\n points: Point[],\n isInCircle: boolean,\n smooth: boolean,\n registeredShape: Shape,\n constraint?: Position[]\n): PathCommand[] {\n let path = [];\n\n if (points.length) {\n const topLinePoints = []; // area 区域上部分\n let bottomLinePoints = []; // area 区域下部分\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n topLinePoints.push(point[1]);\n bottomLinePoints.push(point[0]);\n }\n bottomLinePoints = bottomLinePoints.reverse();\n\n each([topLinePoints, bottomLinePoints], (pointsData, index) => {\n let subPath = [];\n const parsedPoints = registeredShape.parsePoints(pointsData);\n const p1 = parsedPoints[0];\n\n if (topLinePoints.length === 1 && bottomLinePoints.length === 1) {\n // 都只有一个点,绘制一条竖线\n subPath =\n index === 0\n ? [\n ['M', p1.x - 0.5, p1.y],\n ['L', p1.x + 0.5, p1.y],\n ]\n : [\n ['L', p1.x + 0.5, p1.y],\n ['L', p1.x - 0.5, p1.y],\n ];\n } else {\n if (isInCircle) {\n parsedPoints.push({ x: p1.x, y: p1.y });\n }\n if (smooth) {\n subPath = getSplinePath(parsedPoints, false, constraint);\n } else {\n subPath = getLinePath(parsedPoints, false);\n }\n if (index > 0) {\n subPath[0][0] = 'L';\n }\n }\n\n path = path.concat(subPath);\n });\n\n path.push(['Z']);\n }\n\n return path;\n}\n\n/**\n * @ignore\n * Gets shape attrs\n * @param cfg\n * @param isStroke\n * @param smooth\n * @param registeredShape\n * @param [constraint]\n * @returns\n */\nexport function getShapeAttrs(\n cfg: ShapeInfo,\n isStroke: boolean,\n smooth: boolean,\n registeredShape: Shape,\n constraint?: Position[]\n) {\n const attrs = getStyle(cfg, isStroke, !isStroke, 'lineWidth');\n const { connectNulls, isInCircle, points, showSinglePoint } = cfg;\n const pathPoints = getPathPoints(points, connectNulls, showSinglePoint); // 根据 connectNulls 配置获取图形关键点\n\n let path = [];\n for (let i = 0, len = pathPoints.length; i < len; i++) {\n const eachPoints = pathPoints[i];\n path = path.concat(getPath(eachPoints, isInCircle, smooth, registeredShape, constraint));\n }\n attrs.path = path;\n\n return attrs;\n}\n\n/**\n * @ignore\n * Gets constraint\n * @param coordinate\n * @returns constraint\n */\nexport function getConstraint(coordinate: Coordinate): Position[] {\n const { start, end } = coordinate;\n return [\n [start.x, end.y],\n [end.x, start.y],\n ];\n}\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getShapeAttrs } from './util';\n\nconst AreaShapeFactory = registerShapeFactory('area', {\n defaultShapeType: 'area',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n // area 基本标记的绘制需要获取上下两边的顶点\n const { x, y0 } = pointInfo;\n const y = isArray(pointInfo.y) ? pointInfo.y : [y0, pointInfo.y];\n\n return y.map((yItem: number) => {\n return {\n x: x as number,\n y: yItem,\n };\n });\n },\n});\n\n// Area 几何标记默认的 shape:填充的区域图\nregisterShape('area', 'area', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getShapeAttrs(cfg, false, false, this);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n fill: color,\n fillOpacity: 1,\n },\n };\n },\n});\n\nexport default AreaShapeFactory;\n","import { FIELD_ORIGIN } from '../constant';\nimport { MappingDatum } from '../interface';\nimport Path, { PathCfg } from './path';\nimport './shape/area';\n\n/** Area 几何标记构造函数参数 */\nexport interface AreaCfg extends PathCfg {\n /**\n * 面积图是否从 0 基准线开始填充。\n * 1. 默认值为 `true`,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/ZQqwUCczalrKqGgagOVp.png)\n * 2. 当值为 `false` 时,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/yPswkaXvUpCYOdhocGwB.png)\n */\n startOnZero?: boolean;\n}\n\n/**\n * Area 几何标记类。\n * 常用于绘制面积图。\n */\nexport default class Area extends Path {\n public readonly type: string = 'area';\n public readonly shapeType: string = 'area';\n /** 生成图形关键点 */\n public readonly generatePoints: boolean = true;\n /**\n * 面积图是否从 0 基准线开始填充。\n * 1. 默认值为 `true`,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/ZQqwUCczalrKqGgagOVp.png)\n * 2. 当值为 `false` 时,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/yPswkaXvUpCYOdhocGwB.png)\n */\n public readonly startOnZero: boolean = true;\n\n constructor(cfg: AreaCfg) {\n super(cfg);\n\n const { startOnZero = true, sortable = false, showSinglePoint = false } = cfg;\n this.startOnZero = startOnZero; // 默认为 true\n this.sortable = sortable; // 关闭默认的 X 轴数据排序\n this.showSinglePoint = showSinglePoint;\n }\n\n /**\n * 获取图形绘制的关键点以及数据\n * @param mappingData 映射后的数据\n */\n protected getPointsAndData(mappingData: MappingDatum[]) {\n const points = [];\n const data = [];\n\n for (let i = 0, len = mappingData.length; i < len; i++) {\n const obj = mappingData[i];\n points.push(obj.points);\n data.push(obj[FIELD_ORIGIN]);\n }\n\n return {\n points,\n data,\n };\n }\n\n /**\n * 获取 Y 轴上的最小值\n * @returns y 字段最小值\n */\n protected getYMinValue(): number {\n if (this.startOnZero) {\n return super.getYMinValue();\n }\n const yScale = this.getYScale();\n return yScale.min;\n }\n}\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath } from '../util/path';\nimport { splitPoints } from '../util/split-points';\n\nconst EdgeShapeFactory = registerShapeFactory('edge', {\n defaultShapeType: 'line',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return splitPoints(pointInfo);\n },\n});\n\nregisterShape('edge', 'line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const path = getLinePath(this.parsePoints(cfg.points), this.coordinate.isPolar);\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n\nexport default EdgeShapeFactory;\n","import Geometry from './base';\nimport './shape/edge';\n\n/**\n * Edge 几何标记,用于绘制关系图中的**边**图形,如:\n * 1. 流程图\n * 2. 树\n * 3. 弧长连接图\n * 4. 和弦图\n * 5. 桑基图\n */\nexport default class Edge extends Geometry {\n public readonly type: string = 'edge';\n public readonly shapeType: string = 'edge';\n protected generatePoints: boolean = true;\n}\n","import ColorUtil from '@antv/color-util';\nimport { get, isNumber } from '@antv/util';\nimport { FIELD_ORIGIN } from '../constant';\nimport { Color, IShape } from '../dependents';\nimport { Data, Datum, MappingDatum, ShapeInfo, AttributeOption, ColorAttrCallback } from '../interface';\nimport Geometry from './base';\n\n/**\n * 用于绘制热力图。\n */\nexport default class Heatmap extends Geometry {\n public readonly type: string = 'heatmap';\n\n private paletteCache: Record = {};\n private grayScaleBlurredCanvas: HTMLCanvasElement;\n private shadowCanvas: HTMLCanvasElement;\n private imageShape: IShape;\n\n protected updateElements(mappingDataArray: MappingDatum[][], isUpdate: boolean = false) {\n for (let i = 0; i < mappingDataArray.length; i++) {\n const mappingData = mappingDataArray[i];\n const range = this.prepareRange(mappingData);\n const radius = this.prepareSize();\n\n let blur = get(this.styleOption, ['cfg', 'shadowBlur']);\n if (!isNumber(blur)) {\n blur = radius / 2;\n }\n\n this.prepareGreyScaleBlurredCircle(radius, blur);\n this.drawWithRange(mappingData, range, radius, blur);\n }\n }\n\n /** 热力图暂时不支持 callback 回调(文档需要说明下) */\n public color(field: AttributeOption | string, cfg?: string | string[] | ColorAttrCallback): Geometry {\n this.createAttrOption('color', field, typeof cfg !== 'function' ? cfg : '');\n\n return this;\n }\n\n /**\n * clear\n */\n public clear() {\n super.clear();\n this.clearShadowCanvasCtx();\n this.paletteCache = {};\n }\n\n private prepareRange(data: MappingDatum[]) {\n const colorAttr = this.getAttribute('color');\n const colorField = colorAttr.getFields()[0];\n\n let min = Infinity;\n let max = -Infinity;\n data.forEach((row) => {\n const value = row[FIELD_ORIGIN][colorField];\n if (value > max) {\n max = value;\n }\n if (value < min) {\n min = value;\n }\n });\n\n if (min === max) {\n min = max - 1;\n }\n\n return [min, max];\n }\n\n private prepareSize() {\n let radius = this.getDefaultValue('size');\n if (!isNumber(radius)) {\n radius = this.getDefaultSize();\n }\n\n return radius;\n }\n\n private prepareGreyScaleBlurredCircle(radius: number, blur: number) {\n const grayScaleBlurredCanvas = this.getGrayScaleBlurredCanvas();\n const r2 = radius + blur;\n const ctx = grayScaleBlurredCanvas.getContext('2d');\n grayScaleBlurredCanvas.width = grayScaleBlurredCanvas.height = r2 * 2;\n ctx.clearRect(0, 0, grayScaleBlurredCanvas.width, grayScaleBlurredCanvas.height);\n ctx.shadowOffsetX = ctx.shadowOffsetY = r2 * 2;\n ctx.shadowBlur = blur;\n ctx.shadowColor = 'black';\n\n ctx.beginPath();\n ctx.arc(-r2, -r2, radius, 0, Math.PI * 2, true);\n ctx.closePath();\n ctx.fill();\n }\n\n private drawWithRange(data: MappingDatum[], range: number[], radius: number, blur: number) {\n // canvas size\n const { start, end } = this.coordinate;\n const width = this.coordinate.getWidth();\n const height = this.coordinate.getHeight();\n\n // value, range, etc\n const colorAttr = this.getAttribute('color');\n const valueField = colorAttr.getFields()[0];\n\n // prepare shadow canvas context\n this.clearShadowCanvasCtx();\n const ctx = this.getShadowCanvasCtx();\n // filter data\n if (range) {\n data = data.filter((row) => {\n return row[FIELD_ORIGIN][valueField] <= range[1] && row[FIELD_ORIGIN][valueField] >= range[0];\n });\n }\n\n // step1. draw points with shadow\n const scale = this.scales[valueField];\n for (const obj of data) {\n const { x, y } = this.getDrawCfg(obj);\n const alpha = scale.scale(obj[FIELD_ORIGIN][valueField]);\n this.drawGrayScaleBlurredCircle((x as number) - start.x, (y as number) - end.y, radius + blur, alpha, ctx);\n }\n\n // step2. convert pixels\n const colored = ctx.getImageData(0, 0, width, height);\n this.clearShadowCanvasCtx();\n this.colorize(colored);\n ctx.putImageData(colored, 0, 0);\n const imageShape = this.getImageShape();\n imageShape.attr('x', start.x);\n imageShape.attr('y', end.y);\n imageShape.attr('width', width);\n imageShape.attr('height', height);\n imageShape.attr('img', ctx.canvas);\n imageShape.set('origin', this.getShapeInfo(data)); // 存储绘图信息数据\n }\n\n private getDefaultSize() {\n const position = this.getAttribute('position');\n const coordinate = this.coordinate;\n return Math.min(\n coordinate.getWidth() / (position.scales[0].ticks.length * 4),\n coordinate.getHeight() / (position.scales[1].ticks.length * 4)\n );\n }\n\n private clearShadowCanvasCtx() {\n const ctx = this.getShadowCanvasCtx();\n ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n }\n\n private getShadowCanvasCtx() {\n let canvas = this.shadowCanvas;\n if (!canvas) {\n canvas = document.createElement('canvas');\n this.shadowCanvas = canvas;\n }\n canvas.width = this.coordinate.getWidth();\n canvas.height = this.coordinate.getHeight();\n return canvas.getContext('2d');\n }\n\n private getGrayScaleBlurredCanvas() {\n if (!this.grayScaleBlurredCanvas) {\n this.grayScaleBlurredCanvas = document.createElement('canvas');\n }\n\n return this.grayScaleBlurredCanvas;\n }\n\n private drawGrayScaleBlurredCircle(x: number, y: number, r: number, alpha: number, ctx: CanvasRenderingContext2D) {\n const grayScaleBlurredCanvas = this.getGrayScaleBlurredCanvas();\n ctx.globalAlpha = alpha;\n ctx.drawImage(grayScaleBlurredCanvas, x - r, y - r);\n }\n\n private colorize(img: ImageData) {\n const colorAttr = this.getAttribute('color') as Color;\n const pixels = img.data;\n const paletteCache = this.paletteCache;\n for (let i = 3; i < pixels.length; i += 4) {\n const alpha = pixels[i]; // get gradient color from opacity value\n if (isNumber(alpha)) {\n const palette = paletteCache[alpha] ? paletteCache[alpha] : ColorUtil.rgb2arr(colorAttr.gradient(alpha / 256));\n pixels[i - 3] = palette[0];\n pixels[i - 2] = palette[1];\n pixels[i - 1] = palette[2];\n pixels[i] = alpha;\n }\n }\n }\n\n private getImageShape() {\n let imageShape = this.imageShape;\n if (imageShape) {\n return imageShape;\n }\n const container = this.container;\n imageShape = container.addShape({\n type: 'image',\n attrs: {},\n });\n this.imageShape = imageShape;\n return imageShape;\n }\n\n private getShapeInfo(mappingData: MappingDatum[]): ShapeInfo {\n const shapeCfg = this.getDrawCfg(mappingData[0]);\n\n const data = mappingData.map((obj: Datum) => {\n return obj[FIELD_ORIGIN];\n });\n\n return {\n ...shapeCfg,\n mappingData,\n data,\n };\n }\n}\n","import { Coordinate } from '@antv/coord';\nimport { isArray, isNil, get } from '@antv/util';\nimport { getAngle, getSectorPath } from '../../../util/graphics';\nimport { PathCommand } from '../../../dependents';\nimport { Point, ShapeInfo, ShapePoint } from '../../../interface';\n\n/**\n * @ignore\n * 根据数据点生成矩形的四个关键点\n * @param pointInfo 数据点信息\n * @param [isPyramid] 是否为尖底漏斗图\n * @returns rect points 返回矩形四个顶点信息\n */\nexport function getRectPoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0, size } = pointInfo;\n // 有 4 种情况,\n // 1. x, y 都不是数组\n // 2. y是数组,x不是\n // 3. x是数组,y不是\n // 4. x, y 都是数组\n let yMin;\n let yMax;\n if (isArray(y)) {\n [yMin, yMax] = y;\n } else {\n yMin = y0;\n yMax = y;\n }\n\n let xMin;\n let xMax;\n if (isArray(x)) {\n [xMin, xMax] = x;\n } else {\n xMin = x - size / 2;\n xMax = x + size / 2;\n }\n\n const points = [\n { x: xMin, y: yMin },\n { x: xMin, y: yMax },\n ];\n\n // 矩形的四个关键点,结构如下(左下角顺时针连接)\n // 1 ---- 2\n // | |\n // 0 ---- 3\n points.push({ x: xMax, y: yMax }, { x: xMax, y: yMin });\n\n return points;\n}\n\n/**\n * @ignore\n * 根据矩形关键点绘制 path\n * @param points 关键点数组\n * @param isClosed path 是否需要闭合\n * @returns 返回矩形的 path\n */\nexport function getRectPath(points: Point[], isClosed: boolean = true): PathCommand[] {\n const path = [];\n const firstPoint = points[0];\n path.push(['M', firstPoint.x, firstPoint.y]);\n for (let i = 1, len = points.length; i < len; i++) {\n path.push(['L', points[i].x, points[i].y]);\n }\n // 对于 shape=\"line\" path 不应该闭合,否则会造成 lineCap 绘图属性失效\n if (isClosed) {\n path.push(['L', firstPoint.x, firstPoint.y]); // 需要闭合\n path.push(['z']);\n }\n return path;\n}\n\n/**\n * 处理 rect path 的 radius\n * @returns 返回矩形 path 的四个角的 arc 半径\n */\nexport function parseRadius(radius: number | number[], minLength: number): number[] {\n let r1 = 0;\n let r2 = 0;\n let r3 = 0;\n let r4 = 0;\n if (isArray(radius)) {\n if (radius.length === 1) {\n r1 = r2 = r3 = r4 = radius[0];\n } else if (radius.length === 2) {\n r1 = r3 = radius[0];\n r2 = r4 = radius[1];\n } else if (radius.length === 3) {\n r1 = radius[0];\n r2 = r4 = radius[1];\n r3 = radius[2];\n } else {\n r1 = radius[0];\n r2 = radius[1];\n r3 = radius[2];\n r4 = radius[3];\n }\n } else {\n r1 = r2 = r3 = r4 = radius;\n }\n\n // 处理 边界值\n if (r1 + r2 > minLength) {\n r1 = r1 ? minLength / (1 + r2 / r1) : 0;\n r2 = minLength - r1;\n }\n\n if (r3 + r4 > minLength) {\n r3 = r3 ? minLength / (1 + r4 / r3) : 0;\n r4 = minLength - r3;\n }\n\n return [r1 || 0, r2 || 0, r3 || 0, r4 || 0];\n}\n\n/**\n * 获取 interval 矩形背景的 path\n * @param cfg 关键点的信息\n * @param points 已转化为画布坐标的 4 个关键点\n * @param coordinate 坐标系\n * @returns 返回矩形背景的 path\n */\nexport function getBackgroundRectPath(cfg: ShapeInfo, points: Point[], coordinate: Coordinate): PathCommand[] {\n let path = [];\n if (coordinate.isRect) {\n const p0 = coordinate.isTransposed\n ? { x: coordinate.start.x, y: points[0].y }\n : { x: points[0].x, y: coordinate.start.y };\n const p1 = coordinate.isTransposed\n ? { x: coordinate.end.x, y: points[2].y }\n : { x: points[3].x, y: coordinate.end.y };\n\n // corner radius of background shape works only in 笛卡尔坐标系\n const radius = get(cfg, ['background', 'style', 'radius']);\n if (radius) {\n const width = coordinate.isTransposed ? Math.abs(points[0].y - points[2].y) : points[2].x - points[1].x;\n const height = coordinate.isTransposed ? coordinate.getWidth() : coordinate.getHeight();\n const [r1, r2, r3, r4] = parseRadius(radius, Math.min(width, height));\n\n // 同时存在 坐标系是否发生转置 和 y 镜像的时候\n const isReflectYTransposed = (coordinate.isTransposed && coordinate.isReflect('y'));\n const bump = isReflectYTransposed ? 0 : 1;\n const opposite = (r: number) => isReflectYTransposed ? -r : r;\n\n path.push(['M', p0.x, p1.y + opposite(r1)]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, bump, p0.x + r1, p1.y]);\n path.push(['L', p1.x - r2, p1.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, bump, p1.x, p1.y + opposite(r2)]);\n path.push(['L', p1.x, p0.y - opposite(r3)]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, bump, p1.x - r3, p0.y]);\n path.push(['L', p0.x + r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, bump, p0.x, p0.y - opposite(r4)]);\n } else {\n path.push(['M', p0.x, p0.y]);\n path.push(['L', p1.x, p0.y]);\n path.push(['L', p1.x, p1.y]);\n path.push(['L', p0.x, p1.y]);\n path.push(['L', p0.x, p0.y]);\n }\n\n path.push(['z']);\n }\n\n if (coordinate.isPolar) {\n const center = coordinate.getCenter();\n const { startAngle, endAngle } = getAngle(cfg, coordinate);\n if (coordinate.type !== 'theta' && !coordinate.isTransposed) {\n // 获取扇形 path\n path = getSectorPath(center.x, center.y, coordinate.getRadius(), startAngle, endAngle);\n } else {\n const pow = (v) => Math.pow(v, 2);\n const r1 = Math.sqrt(pow(center.x - points[0].x) + pow(center.y - points[0].y));\n const r2 = Math.sqrt(pow(center.x - points[2].x) + pow(center.y - points[2].y));\n // 获取扇形 path(其实是一个圆环,从 coordinate 的起始角度到结束角度)\n path = getSectorPath(center.x, center.y, r1, coordinate.startAngle, coordinate.endAngle, r2);\n }\n }\n return path;\n}\n\n/**\n * @ignore\n * 根据矩形关键点绘制 path\n * @param points 关键点数组\n * @param lineCap 'round'圆角样式\n * @param coor 坐标\n * @returns 返回矩形的 path\n */\nexport function getIntervalRectPath(points: Point[], lineCap: CanvasLineCap, coor: Coordinate): PathCommand[] {\n const width = coor.getWidth();\n const height = coor.getHeight();\n const isRect = coor.type === 'rect';\n let path = [];\n const r = (points[2].x - points[1].x) / 2;\n const ry = coor.isTransposed ? (r * height) / width : (r * width) / height;\n if (lineCap === 'round') {\n if (isRect) {\n path.push(['M', points[0].x, points[0].y + ry]);\n path.push(['L', points[1].x, points[1].y - ry]);\n path.push(['A', r, r, 0, 0, 1, points[2].x, points[2].y - ry]);\n path.push(['L', points[3].x, points[3].y + ry]);\n path.push(['A', r, r, 0, 0, 1, points[0].x, points[0].y + ry]);\n } else {\n path.push(['M', points[0].x, points[0].y]);\n path.push(['L', points[1].x, points[1].y]);\n path.push(['A', r, r, 0, 0, 1, points[2].x, points[2].y]);\n path.push(['L', points[3].x, points[3].y]);\n path.push(['A', r, r, 0, 0, 1, points[0].x, points[0].y]);\n }\n path.push(['z']);\n } else {\n path = getRectPath(points);\n }\n return path;\n}\n\n/**\n * @ignore\n * 根据 funnel 关键点绘制漏斗图的 path\n * @param points 图形关键点信息\n * @param nextPoints 下一个数据的图形关键点信息\n * @param isPyramid 是否为尖底漏斗图\n * @returns 返回漏斗图的图形 path\n */\nexport function getFunnelPath(points: Point[], nextPoints: Point[], isPyramid: boolean) {\n const path = [];\n if (!isNil(nextPoints)) {\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', nextPoints[1].x, nextPoints[1].y],\n ['L', nextPoints[0].x, nextPoints[0].y],\n ['Z']\n );\n } else if (isPyramid) {\n // 金字塔最底部\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', (points[2].x + points[3].x) / 2, (points[2].y + points[3].y) / 2],\n ['Z']\n );\n } else {\n // 漏斗图最底部\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['Z']\n );\n }\n\n return path;\n}\n\n/**\n * 交换两个对象\n */\nfunction swap(p0: T, p1: T) {\n return [p1, p0];\n}\n\n/**\n * 获取 倒角 矩形\n * - 目前只适用于笛卡尔坐标系下\n */\nexport function getRectWithCornerRadius(points: Point[], coordinate: Coordinate, radius?: number | number[]) {\n // 获取 四个关键点\n let [p0, p1, p2, p3] = [...points];\n let [r1, r2, r3, r4] = typeof radius === 'number' ? Array(4).fill(radius) : radius;\n\n if (coordinate.isTransposed) {\n [p1, p3] = swap(p1, p3);\n }\n\n /**\n * 存在镜像\n */\n if (coordinate.isReflect('y')) {\n [p0, p1] = swap(p0, p1);\n [p2, p3] = swap(p2, p3);\n }\n if (coordinate.isReflect('x')) {\n [p0, p3] = swap(p0, p3);\n [p1, p2] = swap(p1, p2);\n }\n\n const path = [];\n\n\n /**\n * p1 → p2\n * ↑ ↓\n * p0 ← p3\n *\n * 负数的情况,关键点会变成下面的形式\n *\n * p0 ← p3 p2 ← p1\n * ↓ ↑ ↓ ↑\n * p1 → p2 --> (转置下) p3 → p0\n */\n const abs = v => Math.abs(v);\n [r1, r2, r3, r4] = parseRadius([r1, r2, r3, r4], Math.min(abs(p3.x - p0.x), abs(p1.y - p0.y))).map(d => abs(d));\n\n if (coordinate.isTransposed) {\n [r1, r2, r3, r4] = [r4, r1, r2, r3]\n }\n\n if (p0.y < p1.y /** 负数情况 */) {\n path.push(['M', p3.x, p3.y + r3]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, 0, p3.x - r3, p3.y]);\n path.push(['L', p0.x + r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, 0, p0.x, p0.y + r4]);\n path.push(['L', p1.x, p1.y - r1]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, 0/** 逆时针 */, p1.x + r1, p1.y]);\n path.push(['L', p2.x - r2, p2.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, 0, p2.x, p2.y - r2]);\n path.push(['L', p3.x, p3.y + r3]);\n path.push(['z']);\n } else if (p3.x < p0.x) {\n path.push(['M', p2.x + r2, p2.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, 0, p2.x, p2.y + r2]);\n path.push(['L', p3.x, p3.y - r3]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, 0, p3.x + r3, p3.y]);\n path.push(['L', p0.x - r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, 0, p0.x, p0.y - r4]);\n path.push(['L', p1.x, p1.y + r1]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, 0, p1.x - r1, p1.y]);\n path.push(['L', p2.x + r2, p2.y]);\n path.push(['z']);\n } else {\n path.push(['M', p1.x, p1.y + r1]);\n r1 !== 0 && path.push(['A', r1, r1, 0, 0, 1, p1.x + r1, p1.y]);\n path.push(['L', p2.x - r2, p2.y]);\n r2 !== 0 && path.push(['A', r2, r2, 0, 0, 1, p2.x, p2.y + r2]);\n path.push(['L', p3.x, p3.y - r3]);\n r3 !== 0 && path.push(['A', r3, r3, 0, 0, 1, p3.x - r3, p3.y]);\n path.push(['L', p0.x + r4, p0.y]);\n r4 !== 0 && path.push(['A', r4, r4, 0, 0, 1, p0.x, p0.y - r4]);\n path.push(['L', p1.x, p1.y + r1]);\n path.push(['z']);\n }\n\n return path;\n}\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { BACKGROUND_SHAPE } from '../constant';\nimport { getBackgroundRectStyle, getStyle } from '../util/get-style';\nimport { getBackgroundRectPath, getIntervalRectPath, getRectPoints, getRectWithCornerRadius } from './util';\n\n/** Interval 的 shape 工厂 */\nconst IntervalShapeFactory = registerShapeFactory('interval', {\n defaultShapeType: 'rect',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return getRectPoints(pointInfo);\n },\n});\n\n/** Inerval 默认 shape,填充的矩形 */\nregisterShape('interval', 'rect', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n let group = container;\n\n const backgroundCfg = cfg?.background;\n if (backgroundCfg) {\n group = container.addGroup({\n name: 'interval-group',\n });\n const backgroundStyle = getBackgroundRectStyle(cfg);\n const backgroundPath = getBackgroundRectPath(cfg, this.parsePoints(cfg.points) as Point[], this.coordinate);\n group.addShape('path', {\n attrs: {\n ...backgroundStyle,\n path: backgroundPath,\n },\n capture: false,\n zIndex: -1,\n name: BACKGROUND_SHAPE,\n });\n }\n\n let path;\n if (style.radius && this.coordinate.isRect) {\n path = getRectWithCornerRadius(this.parsePoints(cfg.points), this.coordinate, style.radius);\n } else {\n path = this.parsePath(getIntervalRectPath(cfg.points as Point[], style.lineCap, this.coordinate));\n }\n\n const shape = group.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return backgroundCfg ? group : shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color, isInPolar } = markerCfg;\n if (isInPolar) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: color,\n },\n };\n }\n\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n\nexport default IntervalShapeFactory;\n","import { flatten, isString, valuesOfKey, isNil } from '@antv/util';\nimport { getXDimensionLength } from '../../util/coordinate';\n\n// 已经排序后的数据查找距离最小的\nfunction findMinDistance(arr, scale) {\n const count = arr.length;\n let sourceArr = arr;\n if (isString(sourceArr[0])) {\n // 日期类型的 values 经常上文本类型,所以需要转换一下\n sourceArr = arr.map((v: string) => {\n return scale.translate(v);\n });\n }\n let distance = sourceArr[1] - sourceArr[0];\n for (let i = 2; i < count; i++) {\n const tmp = sourceArr[i] - sourceArr[i - 1];\n if (distance > tmp) {\n distance = tmp;\n }\n }\n return distance;\n}\n\nfunction getDodgeCount(dataArray, dodgeBy) {\n if (dodgeBy) {\n const mergeData = flatten(dataArray);\n const values = valuesOfKey(mergeData, dodgeBy);\n return values.length;\n }\n\n return dataArray.length;\n}\n\n/** @ignore */\nexport function getDefaultSize(geometry): number {\n const theme = geometry.theme;\n const coordinate = geometry.coordinate;\n const xScale = geometry.getXScale();\n const xValues = xScale.values;\n const dataArray = geometry.beforeMappingData;\n let count: number = xValues.length;\n const xDimensionLength = getXDimensionLength(geometry.coordinate);\n // 获取柱宽相关配置项\n const { intervalPadding, dodgePadding } = geometry;\n // 兼容theme配置\n const maxColumnWidth = geometry.maxColumnWidth || theme.maxColumnWidth;\n const minColumnWidth = geometry.minColumnWidth || theme.minColumnWidth;\n const columnWidthRatio = geometry.columnWidthRatio || theme.columnWidthRatio;\n const multiplePieWidthRatio = geometry.multiplePieWidthRatio || theme.multiplePieWidthRatio;\n const roseWidthRatio = geometry.roseWidthRatio || theme.roseWidthRatio;\n\n // 线性情况下count值\n if (xScale.isLinear && xValues.length > 1) {\n // Linear 类型用户有可能设置了 min, max 范围所以需要根据数据最小区间计算 count\n xValues.sort();\n const interval = findMinDistance(xValues, xScale);\n count = (xScale.max - xScale.min) / interval;\n if (xValues.length > count) {\n count = xValues.length;\n }\n }\n\n const range = xScale.range;\n let normalizedSize = 1 / count;\n let wr = 1;\n if (coordinate.isPolar) {\n // 极坐标场景\n if (coordinate.isTransposed && count > 1) {\n // 极坐标下多层环图\n wr = multiplePieWidthRatio;\n } else {\n wr = roseWidthRatio;\n }\n } else {\n // 非极坐标场景\n if (xScale.isLinear) {\n normalizedSize *= range[1] - range[0];\n }\n wr = columnWidthRatio;\n }\n\n // 基础柱状图\n if (!isNil(intervalPadding) && intervalPadding >= 0) {\n // 配置组间距情况\n const normalizedIntervalPadding = intervalPadding / xDimensionLength;\n normalizedSize = (1 - (count - 1) * normalizedIntervalPadding) / count;\n } else {\n // 默认情况\n normalizedSize *= wr;\n }\n // 分组柱状图\n if (geometry.getAdjust('dodge')) {\n const dodgeAdjust = geometry.getAdjust('dodge');\n const dodgeBy = dodgeAdjust.dodgeBy;\n const dodgeCount = getDodgeCount(dataArray, dodgeBy);\n if (!isNil(dodgePadding) && dodgePadding >= 0) {\n // 仅配置组内间距情况\n const normalizedDodgePadding = dodgePadding / xDimensionLength;\n normalizedSize = (normalizedSize - normalizedDodgePadding * (dodgeCount - 1)) / dodgeCount;\n } else if (!isNil(intervalPadding) && intervalPadding >= 0) {\n // 设置组间距但未设置组内间距情况,避免组间距过小导致图形重叠,需乘以wr\n normalizedSize *= wr;\n normalizedSize = normalizedSize / dodgeCount;\n } else {\n // 组间距和组内间距均未配置\n normalizedSize = normalizedSize / dodgeCount;\n }\n normalizedSize = normalizedSize >= 0 ? normalizedSize : 0;\n }\n\n // 最大和最小限制\n if (!isNil(maxColumnWidth) && maxColumnWidth >= 0) {\n const normalizedMaxColumnWidth = maxColumnWidth / xDimensionLength;\n if (normalizedSize > normalizedMaxColumnWidth) {\n normalizedSize = normalizedMaxColumnWidth;\n }\n }\n\n // \bminColumnWidth可能设置为0\n if (!isNil(minColumnWidth) && minColumnWidth >= 0) {\n const normalizedMinColumnWidth = minColumnWidth / xDimensionLength;\n if (normalizedSize < normalizedMinColumnWidth) {\n normalizedSize = normalizedMinColumnWidth;\n }\n }\n\n return normalizedSize;\n}\n","import { get } from '@antv/util';\nimport { Datum, MappingDatum, ShapeInfo, LooseObject } from '../interface';\nimport { ShapeAttrs } from '../dependents';\nimport { getXDimensionLength } from '../util/coordinate';\nimport Geometry, { GeometryCfg } from './base';\n/** 引入对应的 ShapeFactory */\nimport './shape/interval';\nimport { getDefaultSize } from './util/shape-size';\nimport { getMaxScale } from '../util/scale';\n\n/** Path 构造函数参数类型 */\nexport interface IntervalCfg extends GeometryCfg {\n /** shape 背景,只对 Interval Geometry 生效,目前只对 interval-rect shape 生效。 */\n background?: { style?: ShapeAttrs };\n}\n\n/**\n * Interval 几何标记。\n * 用于绘制柱状图、饼图、条形图、玫瑰图等。\n */\nexport default class Interval extends Geometry {\n public readonly type: string = 'interval';\n public readonly shapeType: string = 'interval';\n /** shape 背景。目前只对 interval-rect shape 生效。 */\n protected background?: { style?: ShapeAttrs };\n protected generatePoints: boolean = true;\n\n constructor(cfg: IntervalCfg) {\n super(cfg);\n\n const { background } = cfg;\n this.background = background;\n }\n\n /**\n * 获取每条数据的 Shape 绘制信息\n * @param obj 经过分组 -> 数字化 -> adjust 调整后的数据记录\n * @returns\n */\n protected createShapePointsCfg(obj: Datum) {\n const cfg = super.createShapePointsCfg(obj);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, obj)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n\n return cfg;\n }\n\n /**\n * 调整 y 轴的 scale 范围。\n * 对于 Y 轴为数值轴柱状图,默认从 0 开始 生长。\n */\n protected adjustScale() {\n super.adjustScale();\n const yScale = this.getYScale();\n // 特殊逻辑:饼图需要填充满整个空间\n if (this.coordinate.type === 'theta') {\n yScale.change({\n nice: false,\n min: 0,\n // 发生过 stack 调整,yScale 的 max 被调整过,this.updateStackRange()\n max: getMaxScale(yScale),\n });\n } else {\n // 柱状图数值轴默认从 0 开始\n const scaleDefs = this.scaleDefs;\n const { field, min, max, type } = yScale;\n if (type !== 'time') {\n // time 类型不做调整\n // 柱状图的 Y 轴要从 0 开始生长,但是如果用户设置了则以用户的为准\n if (min > 0 && !get(scaleDefs, [field, 'min'])) {\n yScale.change({\n min: 0,\n });\n }\n // 柱当柱状图全为负值时也需要从 0 开始生长,但是如果用户设置了则以用户的为准\n if (max <= 0 && !get(scaleDefs, [field, 'max'])) {\n yScale.change({\n max: 0,\n });\n }\n }\n }\n }\n\n /**\n * @override\n */\n protected getDrawCfg(mappingData: MappingDatum): ShapeInfo {\n const shapeCfg = super.getDrawCfg(mappingData);\n shapeCfg.background = this.background;\n\n return shapeCfg;\n }\n}\n","import Path, { PathCfg } from './path';\n/** 引入 Path 对应的 ShapeFactory */\nimport './shape/line';\n\n/**\n * Line 几何标记。\n * 常用于折线图的绘制。\n */\nexport default class Line extends Path {\n public type: string = 'line';\n\n constructor(cfg: PathCfg) {\n super(cfg);\n\n const { sortable = false } = cfg; // 关闭默认的 X 轴数据排序\n this.sortable = sortable;\n }\n}\n","import { IGroup, IShape } from '../../../dependents';\nimport { ShapeInfo } from '../../../interface';\nimport { MarkerSymbols } from '../../../util/marker';\nimport { getStyle } from '../util/get-style';\n\nexport const SHAPES = ['circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down'];\nexport const HOLLOW_SHAPES = ['cross', 'tick', 'plus', 'hyphen', 'line'];\n\n/**\n * @ignore\n * Draws points\n * @param shape\n * @param cfg\n * @param container\n * @param shapeName\n * @param isStroke\n * @returns points\n */\nexport function drawPoints(\n shape,\n cfg: ShapeInfo,\n container: IGroup,\n shapeName: string,\n isStroke: boolean\n): IShape | IGroup {\n const style = getStyle(cfg, isStroke, !isStroke, 'r');\n const points = shape.parsePoints(cfg.points);\n let pointPosition = points[0];\n if (cfg.isStack) {\n pointPosition = points[1];\n } else if (points.length > 1) {\n const group = container.addGroup();\n for (const point of points) {\n group.addShape({\n type: 'marker',\n attrs: {\n ...style,\n symbol: MarkerSymbols[shapeName] || shapeName,\n ...point,\n },\n });\n }\n return group;\n }\n\n return container.addShape({\n type: 'marker',\n attrs: {\n ...style,\n symbol: MarkerSymbols[shapeName] || shapeName,\n ...pointPosition,\n },\n });\n}\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape, registerShapeFactory } from '../base';\nimport { splitPoints } from '../util/split-points';\nimport { drawPoints, SHAPES } from './util';\n\nconst PointShapeFactory = registerShapeFactory('point', {\n defaultShapeType: 'hollow-circle',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return splitPoints(pointInfo);\n },\n});\n\neach(SHAPES, (shapeName: string) => {\n // 添加该 shape 对应的 hollow-shape\n registerShape('point', `hollow-${shapeName}`, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, true);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName] || shapeName,\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n },\n });\n});\n\nexport default PointShapeFactory;\n","import { MappingDatum, ShapeInfo } from '../interface';\nimport Geometry from './base';\n/** 引入 Point 对应的 ShapeFactory */\nimport './shape/point';\n\n/**\n * Point 几何标记。\n * 常用于绘制点图。\n */\nexport default class Point extends Geometry {\n public readonly type: string = 'point';\n public readonly shapeType: string = 'point';\n protected generatePoints: boolean = true;\n\n /**\n * 获取一个点的绘制信息。\n * @param mappingDatum\n * @returns draw cfg\n */\n protected getDrawCfg(mappingDatum: MappingDatum): ShapeInfo {\n const shapeCfg = super.getDrawCfg(mappingDatum);\n\n return {\n ...shapeCfg,\n isStack: !!this.getAdjust('stack'), // 层叠点图\n };\n }\n}\n","import { each, isEmpty, isEqual, last } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getPath(points: any[]) {\n let flag: any = points[0];\n let i = 1;\n\n const path = [['M', flag.x, flag.y]];\n\n while (i < points.length) {\n const c: any = points[i];\n if (c.x !== points[i - 1].x || c.y !== points[i - 1].y) {\n path.push(['L', c.x, c.y]);\n if (c.x === flag.x && c.y === flag.y && i < points.length - 1) {\n flag = points[i + 1];\n path.push(['Z']);\n path.push(['M', flag.x, flag.y]);\n i++;\n }\n }\n i++;\n }\n\n if (!isEqual(last(path), flag)) {\n path.push(['L', flag.x, flag.y]);\n }\n\n path.push(['Z']);\n\n return path;\n}\n\nconst PolygonShapeFactory = registerShapeFactory('polygon', {\n defaultShapeType: 'polygon',\n getDefaultPoints(pointInfo: ShapePoint) {\n const points = [];\n each(pointInfo.x as number[], (subX, index) => {\n const subY = pointInfo.y[index];\n points.push({\n x: subX,\n y: subY,\n });\n });\n return points;\n },\n});\n\nregisterShape('polygon', 'polygon', {\n draw(cfg: ShapeInfo, container: IGroup) {\n if (!isEmpty(cfg.points)) {\n const shapeAttrs = getStyle(cfg, true, true);\n const path = this.parsePath(getPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...shapeAttrs,\n path,\n },\n name: 'polygon',\n });\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n\nexport default PolygonShapeFactory;\n","import { isArray } from '@antv/util';\nimport { Datum } from '../interface';\nimport Geometry from './base';\n/** 引入 Path 对应的 ShapeFactory */\nimport './shape/polygon';\n\n/**\n * Polygon 几何标记。\n * 常用于绘制色块图、日历图等。\n */\nexport default class Polygon extends Geometry {\n public readonly type: string = 'polygon';\n public readonly shapeType: string = 'polygon';\n protected generatePoints: boolean = true;\n\n /**\n * 获取 Shape 的关键点数据。\n * @param obj\n * @returns\n */\n protected createShapePointsCfg(obj: Datum) {\n const cfg: any = super.createShapePointsCfg(obj);\n let x = cfg.x;\n let y = cfg.y;\n let temp;\n // x y 都是数组时,不做处理\n if (!(isArray(x) && isArray(y))) {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xCount = xScale.values.length;\n const yCount = yScale.values.length;\n const xOffset = (0.5 * 1) / xCount;\n const yOffset = (0.5 * 1) / yCount;\n\n if (xScale.isCategory && yScale.isCategory) {\n // 如果x,y都是分类\n x = [x - xOffset, x - xOffset, x + xOffset, x + xOffset];\n y = [y - yOffset, y + yOffset, y + yOffset, y - yOffset];\n } else if (isArray(x)) {\n // x 是数组\n temp = x;\n x = [temp[0], temp[0], temp[1], temp[1]];\n y = [y - yOffset / 2, y + yOffset / 2, y + yOffset / 2, y - yOffset / 2];\n } else if (isArray(y)) {\n // y 是数组\n temp = y;\n y = [temp[0], temp[1], temp[1], temp[0]];\n x = [x - xOffset / 2, x - xOffset / 2, x + xOffset / 2, x + xOffset / 2];\n }\n cfg.x = x;\n cfg.y = y;\n }\n return cfg;\n }\n}\n","import { registerShapeFactory } from '../base';\n\nconst SchemaShapeFactory = registerShapeFactory('schema', {\n defaultShapeType: '', // 'schema' is for some custom shapes, so will not specify defaultShapeType\n});\n\nexport default SchemaShapeFactory;\n","import { LooseObject } from '../interface';\nimport { getXDimensionLength } from '../util/coordinate';\nimport Geometry from './base';\n/** 引入对应的 ShapeFactory */\nimport './shape/schema';\nimport { getDefaultSize } from './util/shape-size';\n\n/**\n * Schema 几何标记,用于一些自定义图形的绘制,比如箱型图、股票图等。\n */\nexport default class Schema extends Geometry {\n public readonly type: string = 'schema';\n public readonly shapeType: string = 'schema';\n protected generatePoints: boolean = true;\n\n /**\n * 获取 Shape 的关键点数据。\n * @param record\n * @returns\n */\n protected createShapePointsCfg(record: LooseObject) {\n const cfg = super.createShapePointsCfg(record);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, record)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n\n return cfg;\n }\n}\n","import { each, max, map, isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg, ViolinShapePoint } from '../../../interface';\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getViolinPath } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\n\nfunction normalizeSize(arr: number[]) {\n if (!isArray(arr)) {\n return [];\n }\n const maxValue = max(arr);\n return map(arr, (num) => num / maxValue);\n}\n\nconst ViolinShapeFactory = registerShapeFactory('violin', {\n defaultShapeType: 'violin',\n getDefaultPoints(pointInfo: ViolinShapePoint) {\n const radius = pointInfo.size / 2;\n const points = [];\n const sizeArr = normalizeSize(pointInfo._size);\n\n each(pointInfo.y as number[], (y, index) => {\n const offset = sizeArr[index] * radius;\n const isMin = index === 0;\n const isMax = index === (pointInfo.y as number[]).length - 1;\n points.push({\n isMin,\n isMax,\n x: (pointInfo.x as number) - offset,\n y,\n });\n points.unshift({\n isMin,\n isMax,\n x: (pointInfo.x as number) + offset,\n y,\n });\n });\n return points;\n },\n});\n\nregisterShape('violin', 'violin', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const shapeAttrs = getStyle(cfg, true, true);\n const path = this.parsePath(getViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...shapeAttrs,\n path,\n },\n name: 'violin',\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n\n return {\n symbol: 'circle',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n\nexport default ViolinShapeFactory;\n","import { get } from '@antv/util';\nimport { FIELD_ORIGIN } from '../constant';\nimport { Datum, ViolinShapePoint } from '../interface';\nimport { getXDimensionLength } from '../util/coordinate';\nimport { getDefaultSize } from './util/shape-size';\nimport Geometry from './base';\n/** 引入 Path 对应的 ShapeFactory */\nimport './shape/violin';\n\n/**\n * Violin 几何标记。\n * 用于绘制小提琴图。\n */\nexport default class Violin extends Geometry {\n public readonly type: string = 'violin';\n public readonly shapeType: string = 'violin';\n protected generatePoints: boolean = true;\n /** size 私有映射字段 */\n private _sizeField: string;\n\n /**\n * 获取 Shape 的关键点数据。\n * @param record\n * @returns\n */\n protected createShapePointsCfg(record: Datum) {\n const cfg = super.createShapePointsCfg(record);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, record)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n cfg._size = get(record[FIELD_ORIGIN], [this._sizeField]);\n return cfg;\n }\n\n /**\n * @override\n */\n protected initAttributes() {\n const { attributeOption } = this;\n const sizeField = attributeOption.size\n ? attributeOption.size.fields[0]\n : this._sizeField\n ? this._sizeField\n : 'size';\n this._sizeField = sizeField;\n // fixme 干啥要删掉\n delete attributeOption.size;\n super.initAttributes();\n }\n}\n","import { each } from '@antv/util';\nimport { Point } from '../../../interface';\n\n/**\n * @ignore\n * Gets cpath\n * @param from\n * @param to\n * @returns\n */\nexport function getCPath(from: Point, to: Point) {\n return ['C', (from.x * 1) / 2 + (to.x * 1) / 2, from.y, (from.x * 1) / 2 + (to.x * 1) / 2, to.y, to.x, to.y];\n}\n\n/**\n * @ignore\n * Gets qpath\n * @param to\n * @param center\n * @returns\n */\nexport function getQPath(to: Point, center: Point) {\n const points = [];\n points.push({\n x: center.x,\n y: center.y,\n });\n points.push(to);\n\n const sub = ['Q'];\n each(points, (point) => {\n sub.push(point.x, point.y);\n });\n\n return sub;\n}\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\nimport { registerShape } from '../base';\nimport { getShapeAttrs } from './util';\n\n/**\n * 描边但不填充的区域图\n */\nregisterShape('area', 'line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getShapeAttrs(cfg, true, false, this);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getConstraint, getShapeAttrs } from './util';\n\n/**\n * 填充的平滑曲面图\n */\nregisterShape('area', 'smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const coordinate = this.coordinate;\n const attrs = getShapeAttrs(cfg, false, true, this, getConstraint(coordinate));\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n fill: color,\n fillOpacity: 1,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getConstraint, getShapeAttrs } from './util';\n\n/** 描边的平滑曲面图 */\nregisterShape('area', 'smooth-line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const coordinate = this.coordinate;\n const attrs = getShapeAttrs(cfg, true, true, this, getConstraint(coordinate));\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { getArcPath } from '../../../util/graphics';\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getCPath, getQPath } from './util';\n\nfunction getArcShapePath(from: Point, to: Point, center: Point) {\n const sub = getQPath(to, center);\n const path = [['M', from.x, from.y]];\n path.push(sub);\n return path;\n}\n\nfunction getArcShapeWeightPath(points: Point[], center: Point) {\n const arc1 = getQPath(points[1], center);\n const arc2 = getQPath(points[3], center);\n const path = [['M', points[0].x, points[0].y]];\n path.push(arc2);\n path.push(['L', points[3].x, points[3].y]);\n path.push(['L', points[2].x, points[2].y]);\n path.push(arc1);\n path.push(['L', points[1].x, points[1].y]);\n path.push(['L', points[0].x, points[0].y]);\n path.push(['Z']);\n return path;\n}\n\n// 弧线包括笛卡尔坐标系下的半圆弧线、极坐标系下以圆心为控制点的二阶曲线、笛卡尔坐标系下带权重的三阶曲线、极坐标系下带权重的以圆心为控制点的二阶曲线\nregisterShape('edge', 'arc', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n\n let points = cfg.points as Point[];\n const type = points.length > 2 ? 'weight' : 'normal';\n let path;\n if (cfg.isInCircle) {\n const center = { x: 0, y: 1 };\n if (type === 'normal') {\n path = getArcShapePath(points[0], points[1], center);\n } else {\n style.fill = style.stroke;\n path = getArcShapeWeightPath(points, center);\n }\n path = this.parsePath(path);\n\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n } else {\n if (type === 'normal') {\n points = this.parsePoints(points);\n path = getArcPath(\n (points[1].x + points[0].x) / 2,\n points[0].y,\n Math.abs(points[1].x - points[0].x) / 2,\n Math.PI,\n Math.PI * 2\n );\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n } else {\n const c1 = getCPath(points[1], points[3]);\n const c2 = getCPath(points[2], points[0]);\n\n path = [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n c1,\n ['L', points[3].x, points[3].y],\n ['L', points[2].x, points[2].y],\n c2,\n ['Z'],\n ];\n path = this.parsePath(path);\n style.fill = style.stroke;\n\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n }\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getCPath } from './util';\n\nfunction getSmoothPath(from: Point, to: Point) {\n const sub = getCPath(from, to);\n const path = [['M', from.x, from.y]];\n\n path.push(sub);\n return path;\n}\n\nregisterShape('edge', 'smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const points = cfg.points;\n const path = this.parsePath(getSmoothPath(points[0] as Point, points[1] as Point));\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nconst CORNER_PERCENT = 1 / 3;\n\nfunction getVHVPath(from: Point, to: Point) {\n const points = [];\n points.push({\n x: from.x,\n y: from.y * (1 - CORNER_PERCENT) + to.y * CORNER_PERCENT,\n });\n points.push({\n x: to.x,\n y: from.y * (1 - CORNER_PERCENT) + to.y * CORNER_PERCENT,\n });\n points.push(to);\n\n const path = [['M', from.x, from.y]];\n each(points, (point) => {\n path.push(['L', point.x, point.y]);\n });\n\n return path;\n}\n\nregisterShape('edge', 'vhv', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const points = cfg.points;\n const path = this.parsePath(getVHVPath(points[0] as Point, points[1] as Point));\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getFunnelPath, getRectPoints } from './util';\n\n/** 漏斗图 */\nregisterShape('interval', 'funnel', {\n getPoints(shapePoint: ShapePoint) {\n shapePoint.size = shapePoint.size * 2; // 漏斗图的 size 是柱状图的两倍\n return getRectPoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n const path = this.parsePath(getFunnelPath(cfg.points as Point[], cfg.nextPoints as Point[], false));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { BACKGROUND_SHAPE } from '../constant';\nimport { getBackgroundRectStyle, getStyle } from '../util/get-style';\nimport { getBackgroundRectPath, getRectPath } from './util';\n\n/** 描边柱状图 */\nregisterShape('interval', 'hollow-rect', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n let group = container;\n const backgroundCfg = cfg?.background;\n if (backgroundCfg) {\n group = container.addGroup();\n const backgroundStyle = getBackgroundRectStyle(cfg);\n const backgroundPath = getBackgroundRectPath(cfg, this.parsePoints(cfg.points) as Point[], this.coordinate);\n group.addShape('path', {\n attrs: {\n ...backgroundStyle,\n path: backgroundPath,\n },\n capture: false,\n zIndex: -1,\n name: BACKGROUND_SHAPE,\n });\n }\n\n const path = this.parsePath(getRectPath(cfg.points as Point[]));\n const shape = group.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return backgroundCfg ? group : shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color, isInPolar } = markerCfg;\n if (isInPolar) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n }\n\n return {\n symbol: 'square',\n style: {\n r: 4,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getRectPath } from './util';\nimport { omit } from '../../../util/helper';\n\n// 根据数据点生成 Line 的两个关键点\nfunction getLinePoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0 } = pointInfo;\n\n if (isArray(y)) {\n return y.map((yItem, idx) => {\n return {\n x: isArray(x) ? x[idx] : x,\n y: yItem,\n };\n });\n }\n\n // 起始点从 y0 开始\n return [\n { x: x as number, y: y0 },\n { x: x as number, y },\n ];\n}\n\nregisterShape('interval', 'line', {\n getPoints(shapePoint: ShapePoint) {\n return getLinePoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const newStyle = omit({ ...style }, ['fill']);\n const path = this.parsePath(getRectPath(cfg.points as Point[], false));\n const shape = container.addShape('path', {\n attrs: {\n ...newStyle,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number) => {\n return [\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n style: {\n r: 5,\n stroke: color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getFunnelPath, getRectPoints } from './util';\n\n/** 金字塔图,尖底漏斗图 */\nregisterShape('interval', 'pyramid', {\n getPoints(shapePoint: ShapePoint) {\n shapePoint.size = shapePoint.size * 2; // 漏斗图的 size 是柱状图的两倍\n return getRectPoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n const path = this.parsePath(getFunnelPath(cfg.points as Point[], cfg.nextPoints as Point[], true));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\n// 根据数据点生成 tick shape 的 6 个关键点\nfunction getTickPoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0, size } = pointInfo;\n let yMin;\n let yMax;\n if (isArray(y)) {\n [yMin, yMax] = y;\n } else {\n yMin = y0;\n yMax = y;\n }\n\n const xMax = (x as number) + size / 2;\n const xMin = (x as number) - size / 2;\n\n // tick 关键点顺序\n // 4 - 1 - 5\n // |\n // 2 - 0 - 3\n return [\n { x: x as number, y: yMin },\n { x: x as number, y: yMax },\n { x: xMin, y: yMin },\n { x: xMax, y: yMin },\n { x: xMin, y: yMax },\n { x: xMax, y: yMax },\n ];\n}\n\n// 根据 tick 关键点绘制 path\nfunction getTickPath(points: Point[]) {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ];\n}\n\n/** I 形状柱状图,常用于 error bar chart */\nregisterShape('interval', 'tick', {\n getPoints(shapePoint: ShapePoint) {\n return getTickPoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n const path = this.parsePath(getTickPath(cfg.points as Point[]));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number) => {\n return [\n ['M', x - r / 2, y - r],\n ['L', x + r / 2, y - r],\n ['M', x, y - r],\n ['L', x, y + r],\n ['M', x - r / 2, y + r],\n ['L', x + r / 2, y + r],\n ];\n },\n style: {\n r: 5,\n stroke: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLineMarker } from './util';\n\nconst interpolateCallback = (point: Point, nextPoint: Point, shapeType: string) => {\n const x = point.x as number;\n const y = point.y as number;\n const nextX = nextPoint.x as number;\n const nextY = nextPoint.y as number;\n let result;\n\n switch (shapeType) {\n case 'hv':\n result = [{ x: nextX, y }];\n break;\n case 'vh':\n result = [{ x, y: nextY }];\n break;\n case 'hvh':\n const middleX = (nextX + x) / 2;\n result = [\n { x: middleX, y },\n { x: middleX, y: nextY },\n ];\n break;\n case 'vhv':\n const middleY = (y + nextY) / 2;\n result = [\n { x, y: middleY },\n { x: nextX, y: middleY },\n ];\n break;\n default:\n break;\n }\n\n return result;\n};\n\nfunction getInterpolatePoints(points: Point[], shapeType: string) {\n let result = [];\n each(points, (point: Point, index) => {\n const nextPoint = points[index + 1];\n result.push(point);\n if (nextPoint) {\n const interpolatePoint = interpolateCallback(point, nextPoint, shapeType);\n result = result.concat(interpolatePoint);\n }\n });\n return result;\n}\n\n// 插值的图形path,不考虑null\nfunction getInterpolatePath(points: Point[]) {\n return points.map((point, index) => {\n return index === 0 ? ['M', point.x, point.y] : ['L', point.x, point.y];\n });\n}\n\n// 插值的图形\nfunction getInterpolateShapeAttrs(cfg: ShapeInfo, shapeType: string) {\n const points = getPathPoints(cfg.points, cfg.connectNulls, cfg.showSinglePoint); // 根据 connectNulls 值处理 points\n let path = [];\n each(points, (eachLinePoints) => {\n const interpolatePoints = getInterpolatePoints(eachLinePoints, shapeType);\n path = path.concat(getInterpolatePath(interpolatePoints));\n });\n\n return {\n ...getStyle(cfg, true, false, 'lineWidth'),\n path,\n };\n}\n\n// step line\neach(['hv', 'vh', 'hvh', 'vhv'], (shapeType) => {\n registerShape('line', shapeType, {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getInterpolateShapeAttrs(cfg, shapeType);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'line',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return getLineMarker(markerCfg, shapeType);\n },\n });\n});\n","import { isArray, isNil } from '@antv/util';\nimport { IGroup, PathCommand } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction parseValue(value: number[]) {\n const array = !isArray(value) ? [value] : value;\n\n const min = array[0]; // 最小值\n const max = array[array.length - 1]; // 最大值\n const min1 = array.length > 1 ? array[1] : min;\n const max1 = array.length > 3 ? array[3] : max;\n const median = array.length > 2 ? array[2] : min1;\n\n return {\n min, // 最小值\n max, // 最大值\n min1,\n max1,\n median,\n };\n}\n\nfunction getBoxPoints(x: number | number[], y: number | number[], size: number): Point[] {\n const halfSize = size / 2;\n let pointsArray;\n if (isArray(y)) {\n // 2维\n const { min, max, median, min1, max1 } = parseValue(y);\n const minX = (x as number) - halfSize;\n const maxX = (x as number) + halfSize;\n pointsArray = [\n [minX, max],\n [maxX, max],\n [x as number, max],\n [x as number, max1],\n [minX, min1],\n [minX, max1],\n [maxX, max1],\n [maxX, min1],\n [x as number, min1],\n [x as number, min],\n [minX, min],\n [maxX, min],\n [minX, median],\n [maxX, median],\n ];\n } else {\n // 只有一个维度\n y = isNil(y) ? 0.5 : y;\n const { min, max, median, min1, max1 } = parseValue(x as number[]);\n const minY = y - halfSize;\n const maxY = y + halfSize;\n pointsArray = [\n [min, minY],\n [min, maxY],\n [min, y],\n [min1, y],\n [min1, minY],\n [min1, maxY],\n [max1, maxY],\n [max1, minY],\n [max1, y],\n [max, y],\n [max, minY],\n [max, maxY],\n [median, minY],\n [median, maxY],\n ];\n }\n\n return pointsArray.map((arr) => {\n return {\n x: arr[0],\n y: arr[1],\n };\n });\n}\n\nfunction getBoxPath(points): PathCommand[] {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['L', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ['L', points[4].x, points[4].y], // 封闭 z\n ['Z'],\n ['M', points[8].x, points[8].y],\n ['L', points[9].x, points[9].y],\n ['M', points[10].x, points[10].y],\n ['L', points[11].x, points[11].y],\n ['M', points[12].x, points[12].y],\n ['L', points[13].x, points[13].y],\n ];\n}\n\n// box shape\nregisterShape('schema', 'box', {\n getPoints(shapePoint: ShapePoint) {\n const { x, y, size } = shapePoint;\n return getBoxPoints(x as number, y as number[], size);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n const path = this.parsePath(getBoxPath(cfg.points));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n name: 'schema',\n },\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol(x: number, y: number, r: number) {\n const yValues = [y - 6, y - 3, y, y + 3, y + 6];\n const points = getBoxPoints(x, yValues, r);\n return [\n ['M', points[0].x + 1, points[0].y],\n ['L', points[1].x - 1, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['L', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ['L', points[4].x, points[4].y],\n ['Z'],\n ['M', points[8].x, points[8].y],\n ['L', points[9].x, points[9].y],\n ['M', points[10].x + 1, points[10].y],\n ['L', points[11].x - 1, points[11].y],\n ['M', points[12].x, points[12].y],\n ['L', points[13].x, points[13].y],\n ];\n },\n style: {\n r: 6,\n lineWidth: 1,\n stroke: color,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup, PathCommand } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { padEnd } from '../../../util/helper';\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getCandleYValues(value: number | number[]) {\n const array = !isArray(value) ? [value] : value;\n // 从大到小排序\n const sorted = array.sort((a, b) => b - a);\n return padEnd(sorted, 4, sorted[sorted.length - 1]);\n}\n\n// get candle shape's key points\nfunction getCandlePoints(x: number, y: number[], size: number): Point[] {\n const yValues = getCandleYValues(y);\n return [\n { x, y: yValues[0] },\n { x, y: yValues[1] },\n { x: x - size / 2, y: yValues[2] },\n { x: x - size / 2, y: yValues[1] },\n { x: x + size / 2, y: yValues[1] },\n { x: x + size / 2, y: yValues[2] },\n { x, y: yValues[2] },\n { x, y: yValues[3] },\n ];\n}\n\nfunction getCandlePath(points): PathCommand[] {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['L', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['Z'],\n ['M', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ];\n}\n\n// k line shape\nregisterShape('schema', 'candle', {\n getPoints(shapePoint: ShapePoint) {\n const { x, y, size } = shapePoint;\n return getCandlePoints(x as number, y as number[], size);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, true);\n const path = this.parsePath(getCandlePath(cfg.points));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n name: 'schema',\n },\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol(x: number, y: number, r: number) {\n const yValues = [y + 7.5, y + 3, y - 3, y - 7.5];\n const points = getCandlePoints(x, yValues, r);\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['L', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['Z'],\n ['M', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ];\n },\n style: {\n lineWidth: 1,\n stroke: color,\n fill: color,\n r: 6,\n },\n };\n },\n});\n","import { isEmpty, clamp } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getRectAttrs(points: any[], size: number) {\n const width = Math.abs(points[0].x - points[2].x);\n const height = Math.abs(points[0].y - points[2].y);\n\n let len = Math.min(width, height);\n if (size) {\n len = clamp(size, 0, Math.min(width, height));\n }\n len = len / 2;\n const centerX = (points[0].x + points[2].x) / 2;\n const centerY = (points[0].y + points[2].y) / 2;\n\n return {\n x: centerX - len,\n y: centerY - len,\n width: len * 2,\n height: len * 2,\n };\n}\n\nregisterShape('polygon', 'square', {\n draw(cfg: ShapeInfo, container: IGroup) {\n if (!isEmpty(cfg.points)) {\n const shapeAttrs = getStyle(cfg, true, true);\n const points = this.parsePoints(cfg.points); // 转换为画布坐标\n return container.addShape('rect', {\n attrs: {\n ...shapeAttrs,\n ...getRectAttrs(points, cfg.size), // 获取 rect 绘图信息\n },\n name: 'polygon',\n });\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape } from '../base';\nimport { drawPoints, HOLLOW_SHAPES } from './util';\n\n// 添加 hollowShape\neach(HOLLOW_SHAPES, (shapeName: string) => {\n registerShape('point', shapeName, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, true);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName],\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n },\n });\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nregisterShape('point', 'image', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const { r: size } = getStyle(cfg, false, false, 'r');\n const points = this.parsePoints(cfg.points);\n let pointPosition = points[0];\n if (cfg.isStack) {\n pointPosition = points[1];\n } else if (points.length > 1) {\n const group = container.addGroup();\n for (const point of points) {\n group.addShape('image', {\n attrs: {\n x: (point.x as number) - size / 2,\n y: (point.y as number) - size,\n width: size,\n height: size,\n img: cfg.shape[1],\n },\n });\n }\n\n return group;\n }\n\n return container.addShape('image', {\n attrs: {\n x: (pointPosition.x as number) - size / 2,\n y: (pointPosition.y as number) - size,\n width: size,\n height: size,\n img: cfg.shape[1],\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape } from '../base';\nimport { drawPoints, SHAPES } from './util';\n\n// 所有的 SHAPES 都注册一下\neach(SHAPES, (shapeName: string) => {\n registerShape('point', shapeName, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, false);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName] || shapeName,\n style: {\n r: 4.5,\n fill: color,\n },\n };\n },\n });\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\nimport { registerShape } from '../base';\nimport { getSmoothViolinPath } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\n\n/**\n * 平滑边界的小提琴图\n */\nregisterShape('violin', 'smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getStyle(cfg, true, true);\n const path = this.parsePath(getSmoothViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...attrs,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n stroke: null,\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { IGroup, Point } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\nimport { registerShape } from '../base';\nimport { getSmoothViolinPath, getViolinPath } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\n\n/**\n * 空心小提琴图\n */\nregisterShape('violin', 'hollow', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getStyle(cfg, true, false);\n const path = this.parsePath(getViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...attrs,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n r: 4,\n fill: null,\n stroke: color,\n },\n };\n },\n});\n\n/**\n * 平滑边界的空心小提琴图\n */\nregisterShape('violin', 'hollow-smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getStyle(cfg, true, false);\n const path = this.parsePath(getSmoothViolinPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...attrs,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n r: 4,\n fill: null,\n stroke: color,\n },\n };\n },\n});\n","import { get, deepMix, isArray } from '@antv/util';\nimport { Writeable } from '../../util/types';\nimport { MappingDatum, Point } from '../../interface';\nimport GeometryLabel from './base';\nimport { LabelCfg, LabelItem, LabelPointCfg, TextAlign } from './interface';\n\n/**\n * 柱状图 label\n */\nexport default class IntervalLabel extends GeometryLabel {\n /**\n * 获取 interval label 的方向,取决于 value 的值是正还是负\n * @param labelCfg\n */\n private getLabelValueDir(mappingData: MappingDatum) {\n // points 中的 x/y 和 transpose 无关\n const dim = 'y';\n const { points } = mappingData;\n\n return points[0][dim] <= points[2][dim] ? 1 : -1;\n }\n\n /**\n * 重载:根据 interval 值的正负来调整 label 偏移量\n * @param labelCfg\n * @param index\n * @param total\n */\n protected getLabelOffsetPoint(labelCfg: LabelCfg, index: number, total: number, position?: string) {\n let point = super.getLabelOffsetPoint(labelCfg, index, total);\n const coordinate = this.getCoordinate();\n const transposed = coordinate.isTransposed;\n const dim = transposed ? 'x' : 'y';\n const dir = this.getLabelValueDir(labelCfg.mappingData);\n point = { ...point, [dim]: point[dim] * dir };\n\n if (coordinate.isReflect('x')) {\n point = {\n ...point,\n x: point.x * -1,\n };\n }\n if (coordinate.isReflect('y')) {\n point = {\n ...point,\n y: point.y * -1,\n };\n }\n\n return point;\n }\n\n /**\n * 重载:定制 interval label 的默认主题配置\n * @param labelCfg\n */\n protected getThemedLabelCfg(labelCfg: LabelCfg) {\n const geometry = this.geometry;\n const defaultLabelCfg = this.getDefaultLabelCfg();\n const { theme } = geometry;\n\n // 如果 interval label position 设置为 middle,则将主题中的 offset 覆盖为 0\n return deepMix({}, defaultLabelCfg, theme.labels, labelCfg.position === 'middle' ? { offset: 0 } : {}, labelCfg);\n }\n\n protected setLabelPosition(\n labelPointCfg: Writeable,\n mappingData: MappingDatum,\n index: number,\n position: string\n ) {\n const coordinate = this.getCoordinate();\n const transposed = coordinate.isTransposed;\n const shapePoints = mappingData.points as Point[];\n const point0 = coordinate.convert(shapePoints[0]);\n const point2 = coordinate.convert(shapePoints[2]);\n const dir = this.getLabelValueDir(mappingData);\n\n let top;\n let right;\n let bottom;\n let left;\n\n const shape = isArray(mappingData.shape) ? mappingData.shape[0] : mappingData.shape;\n if (shape === 'funnel' || shape === 'pyramid') {\n // 处理漏斗图\n const nextPoints = get(mappingData, 'nextPoints');\n const points = get(mappingData, 'points');\n if (nextPoints) {\n // 非漏斗图底部\n const p0 = coordinate.convert(points[0] as Point);\n const p1 = coordinate.convert(points[1] as Point);\n const nextP0 = coordinate.convert(nextPoints[0] as Point);\n const nextP1 = coordinate.convert(nextPoints[1] as Point);\n\n // TODO: 使用包围盒的计算方法\n if (transposed) {\n top = Math.min(nextP0.y, p0.y);\n bottom = Math.max(nextP0.y, p0.y);\n right = (p1.x + nextP1.x) / 2;\n left = (p0.x + nextP0.x) / 2;\n } else {\n top = Math.min((p1.y + nextP1.y) / 2, (p0.y + nextP0.y) / 2);\n bottom = Math.max((p1.y + nextP1.y) / 2, (p0.y + nextP0.y) / 2);\n right = nextP1.x;\n left = p0.x;\n }\n } else {\n top = Math.min(point2.y, point0.y);\n bottom = Math.max(point2.y, point0.y);\n right = point2.x;\n left = point0.x;\n }\n } else {\n top = Math.min(point2.y, point0.y);\n bottom = Math.max(point2.y, point0.y);\n right = point2.x;\n left = point0.x;\n }\n\n switch (position) {\n case 'right':\n labelPointCfg.x = right;\n labelPointCfg.y = (top + bottom) / 2;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', dir > 0 ? 'left' : 'right');\n break;\n case 'left':\n labelPointCfg.x = left;\n labelPointCfg.y = (top + bottom) / 2;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', dir > 0 ? 'left' : 'right');\n break;\n case 'bottom':\n if (transposed) {\n labelPointCfg.x = (right + left) / 2;\n }\n labelPointCfg.y = bottom;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n labelPointCfg.textBaseline = get(labelPointCfg, 'textBaseline', dir > 0 ? 'bottom' : 'top');\n break;\n case 'middle':\n if (transposed) {\n labelPointCfg.x = (right + left) / 2;\n }\n labelPointCfg.y = (top + bottom) / 2;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n labelPointCfg.textBaseline = get(labelPointCfg, 'textBaseline', 'middle');\n break;\n case 'top':\n if (transposed) {\n labelPointCfg.x = (right + left) / 2;\n }\n labelPointCfg.y = top;\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n labelPointCfg.textBaseline = get(labelPointCfg, 'textBaseline', dir > 0 ? 'bottom' : 'top');\n break;\n default:\n break;\n }\n }\n}\n","import { each, get, isArray, map, isNumber, isString } from '@antv/util';\nimport { MappingDatum, Point } from '../../interface';\nimport { getDistanceToCenter } from '../../util/coordinate';\nimport { getAngleByPoint } from '../../util/coordinate';\nimport GeometryLabel from './base';\nimport { LabelCfg, LabelItem, PolarLabelItem, LabelPointCfg, Writeable } from './interface';\n\nconst HALF_PI = Math.PI / 2;\n\n/**\n * 极坐标下的图形 label\n */\nexport default class PolarLabel extends GeometryLabel {\n /**\n * @override\n * @desc 获取 label offset\n * polar & theta coordinate support「string」type, should transform to 「number」\n */\n protected getLabelOffset(offset: number | string): number {\n const coordinate = this.getCoordinate();\n let actualOffset = 0;\n if (isNumber(offset)) {\n actualOffset = offset;\n } else if (isString(offset) && offset.indexOf('%') !== -1) {\n let r = coordinate.getRadius();\n if (coordinate.innerRadius > 0) {\n r = r * (1 - coordinate.innerRadius);\n }\n actualOffset = parseFloat(offset) * 0.01 * r;\n }\n\n return actualOffset;\n }\n\n /**\n * @override\n * 获取 labelItems, 增加切片 percent\n * @param mapppingArray\n */\n public getLabelItems(mapppingArray: MappingDatum[]): PolarLabelItem[] {\n const items = super.getLabelItems(mapppingArray);\n const yScale = this.geometry.getYScale();\n\n return map(items, (item) => {\n if (item && yScale) {\n const percent = yScale.scale(get(item.data, yScale.field));\n return { ...item, percent };\n }\n return item;\n });\n }\n /**\n * @override\n * 获取文本的对齐方式\n * @param point\n */\n protected getLabelAlign(point: LabelItem) {\n const coordinate = this.getCoordinate();\n let align;\n if (point.labelEmit) {\n align = point.angle <= Math.PI / 2 && point.angle >= -Math.PI / 2 ? 'left' : 'right';\n } else if (!coordinate.isTransposed) {\n align = 'center';\n } else {\n const center = coordinate.getCenter();\n const offset = point.offset;\n if (Math.abs(point.x - center.x) < 1) {\n align = 'center';\n } else if (point.angle > Math.PI || point.angle <= 0) {\n align = offset > 0 ? 'left' : 'right';\n } else {\n align = offset > 0 ? 'right' : 'left';\n }\n }\n return align;\n }\n\n /**\n * @override\n * 获取 label 的位置\n * @param labelCfg\n * @param mappingData\n * @param index\n */\n protected getLabelPoint(labelCfg: LabelCfg, mappingData: MappingDatum, index: number): LabelPointCfg {\n let factor = 1;\n let arcPoint;\n const content = labelCfg.content[index];\n if (this.isToMiddle(mappingData)) {\n arcPoint = this.getMiddlePoint(mappingData.points as Point[]);\n } else {\n if (labelCfg.content.length === 1 && index === 0) {\n index = 1;\n } else if (index === 0) {\n factor = -1;\n }\n arcPoint = this.getArcPoint(mappingData, index);\n }\n\n const offset = labelCfg.offset * factor;\n const middleAngle = this.getPointAngle(arcPoint);\n const isLabelEmit = labelCfg.labelEmit;\n const labelPositionCfg: Writeable = this.getCirclePoint(middleAngle, offset, arcPoint, isLabelEmit);\n if (labelPositionCfg.r === 0) {\n // 如果文本位置位于圆心,则不展示\n labelPositionCfg.content = '';\n } else {\n labelPositionCfg.content = content;\n labelPositionCfg.angle = middleAngle;\n labelPositionCfg.color = mappingData.color;\n }\n\n labelPositionCfg.rotate = labelCfg.autoRotate\n ? this.getLabelRotate(middleAngle, offset, isLabelEmit)\n : labelCfg.rotate;\n labelPositionCfg.start = {\n x: arcPoint.x,\n y: arcPoint.y,\n };\n return labelPositionCfg;\n }\n\n /**\n * 获取圆弧的位置\n */\n protected getArcPoint(mappingData: MappingDatum, index: number = 0): Point {\n if (!isArray(mappingData.x) && !isArray(mappingData.y)) {\n return {\n x: mappingData.x,\n y: mappingData.y,\n };\n }\n\n return {\n x: isArray(mappingData.x) ? mappingData.x[index] : mappingData.x,\n y: isArray(mappingData.y) ? mappingData.y[index] : mappingData.y,\n };\n }\n\n /**\n * 计算坐标线点在极坐标系下角度\n * @param point\n */\n protected getPointAngle(point: Point): number {\n return getAngleByPoint(this.getCoordinate(), point);\n }\n\n /**\n * 获取坐标点与圆心形成的圆的位置信息\n * @param angle\n * @param offset\n * @param point\n * @param isLabelEmit\n */\n protected getCirclePoint(angle: number, offset: number, point: Point, isLabelEmit: boolean) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n let r = getDistanceToCenter(coordinate, point);\n if (r === 0) {\n return {\n ...center,\n r,\n };\n }\n\n let labelAngle = angle;\n if (coordinate.isTransposed && r > offset && !isLabelEmit) {\n const appendAngle = Math.asin(offset / (2 * r));\n labelAngle = angle + appendAngle * 2;\n } else {\n r = r + offset;\n }\n\n return {\n x: center.x + r * Math.cos(labelAngle),\n y: center.y + r * Math.sin(labelAngle),\n r,\n };\n }\n\n /**\n * 获取 label 的旋转角度\n * @param angle\n * @param offset\n * @param isLabelEmit\n */\n protected getLabelRotate(angle: number, offset: number, isLabelEmit: boolean) {\n let rotate = angle + HALF_PI;\n if (isLabelEmit) {\n rotate -= HALF_PI;\n }\n if (rotate) {\n if (rotate > HALF_PI) {\n rotate = rotate - Math.PI;\n } else if (rotate < -HALF_PI) {\n rotate = rotate + Math.PI;\n }\n }\n return rotate;\n }\n\n // 获取中心的位置\n private getMiddlePoint(points: Point[]) {\n const coordinate = this.getCoordinate();\n const count = points.length;\n let middlePoint = {\n x: 0,\n y: 0,\n };\n each(points, (point: Point) => {\n middlePoint.x += point.x;\n middlePoint.y += point.y;\n });\n middlePoint.x /= count;\n middlePoint.y /= count;\n\n middlePoint = coordinate.convert(middlePoint);\n return middlePoint;\n }\n\n // 是否居中\n private isToMiddle(mappingData: MappingDatum) {\n return (mappingData.x as number[]).length > 2;\n }\n}\n","import { deepMix, get, isArray } from '@antv/util';\nimport { getAngleByPoint } from '../../util/coordinate';\nimport { polarToCartesian } from '../../util/graphics';\nimport { LabelItem } from './interface';\nimport PolarLabel from './polar';\n\n/**\n * 饼图 label\n */\nexport default class PieLabel extends PolarLabel {\n public defaultLayout = 'distribute';\n\n protected getDefaultLabelCfg(offset?: number, position?: string) {\n const cfg = super.getDefaultLabelCfg(offset, position);\n return deepMix({}, cfg, get(this.geometry.theme, 'pieLabels', {}));\n }\n\n /** @override */\n protected getLabelOffset(offset: string | number): number {\n return super.getLabelOffset(offset) || 0;\n }\n\n protected getLabelRotate(angle: number, offset: number, isLabelLimit: boolean) {\n let rotate;\n if (offset < 0) {\n rotate = angle;\n if (rotate > Math.PI / 2) {\n rotate = rotate - Math.PI;\n }\n if (rotate < -Math.PI / 2) {\n rotate = rotate + Math.PI;\n }\n }\n return rotate;\n }\n\n protected getLabelAlign(point: LabelItem) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n\n let align;\n if (point.angle <= Math.PI / 2 && point.x >= center.x) {\n align = 'left';\n } else {\n align = 'right';\n }\n if (point.offset <= 0) {\n if (align === 'right') {\n align = 'left';\n } else {\n align = 'right';\n }\n }\n return align;\n }\n\n protected getArcPoint(point) {\n return point;\n }\n\n protected getPointAngle(point) {\n const coordinate = this.getCoordinate();\n const startPoint = {\n x: isArray(point.x) ? point.x[0] : point.x,\n y: point.y[0],\n };\n const endPoint = {\n x: isArray(point.x) ? point.x[1] : point.x,\n y: point.y[1],\n };\n let angle;\n const startAngle = getAngleByPoint(coordinate, startPoint);\n if (point.points && point.points[0].y === point.points[1].y) {\n angle = startAngle;\n } else {\n let endAngle = getAngleByPoint(coordinate, endPoint);\n if (startAngle >= endAngle) {\n // 100% pie slice\n endAngle = endAngle + Math.PI * 2;\n }\n angle = startAngle + (endAngle - startAngle) / 2;\n }\n return angle;\n }\n\n /** @override */\n protected getCirclePoint(angle: number, offset: number) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n const r = coordinate.getRadius() + offset;\n return {\n ...polarToCartesian(center.x, center.y, r, angle),\n angle,\n r,\n };\n }\n}\n","import { PolarLabelItem } from '../../interface';\n\n/**\n * 碰撞检测算法\n */\nexport function antiCollision(\n items: PolarLabelItem[],\n labelHeight: number,\n plotRange: { minY: number; maxY: number; minX: number; maxX: number }\n) {\n const labels = items.filter((item) => !item.invisible);\n\n // sorted by y, mutable\n labels.sort((a, b) => a.y - b.y);\n // adjust y position of labels to avoid overlapping\n let overlapping = true;\n const startY = plotRange.minY;\n const endY = plotRange.maxY;\n let totalHeight = Math.abs(startY - endY);\n let i;\n\n let maxY = 0;\n let minY = Number.MIN_VALUE;\n const boxes = labels.map((label) => {\n if (label.y > maxY) {\n maxY = label.y;\n }\n if (label.y < minY) {\n minY = label.y;\n }\n return {\n content: label.content,\n size: labelHeight,\n targets: [label.y - startY],\n pos: null,\n };\n });\n\n minY -= startY;\n if (maxY - startY > totalHeight) {\n totalHeight = maxY - startY;\n }\n\n while (overlapping) {\n /* eslint no-loop-func: 0 */\n boxes.forEach((box) => {\n const target = (Math.min.apply(minY, box.targets) + Math.max.apply(minY, box.targets)) / 2;\n box.pos = Math.min(Math.max(minY, target - box.size / 2), totalHeight - box.size);\n box.pos = Math.max(0, box.pos);\n });\n\n // detect overlapping and join boxes\n overlapping = false;\n i = boxes.length;\n while (i--) {\n if (i > 0) {\n const previousBox = boxes[i - 1];\n const box = boxes[i];\n if (previousBox.pos + previousBox.size > box.pos) {\n // overlapping\n previousBox.size += box.size;\n previousBox.targets = previousBox.targets.concat(box.targets);\n\n // overflow, shift up\n if (previousBox.pos + previousBox.size > totalHeight) {\n previousBox.pos = totalHeight - previousBox.size;\n }\n boxes.splice(i, 1); // removing box\n overlapping = true;\n }\n }\n }\n }\n\n i = 0;\n // step 4: normalize y and adjust x\n boxes.forEach((b) => {\n let posInCompositeBox = startY + labelHeight / 2; // middle of the label\n b.targets.forEach(() => {\n labels[i].y = b.pos + posInCompositeBox;\n posInCompositeBox += labelHeight;\n i++;\n });\n });\n}\n","import { each } from '@antv/util';\nimport { BBox, IGroup, IShape } from '../../../dependents';\nimport { LabelItem } from '../interface';\n\nconst MAX_TIMES = 100;\n\n/** @ignore */\ninterface Bitmap {\n [key: number]: {\n [key: number]: boolean;\n };\n}\n\n/** @ignore */\ninterface GreedyCfg {\n readonly xGap?: number;\n readonly yGap?: number;\n}\n\n/**\n * @ignore\n * Greedy 贪婪算法\n */\nclass Greedy {\n public readonly xGap: number;\n /** optimizing for text overlapping detection: use a min text height as gap */\n public readonly yGap: number;\n\n private bitmap: Bitmap = {};\n\n constructor(cfg: GreedyCfg = {}) {\n const { xGap = 1, yGap = 8 } = cfg;\n this.xGap = xGap;\n this.yGap = yGap;\n }\n\n public hasGap(bbox: BBox): boolean {\n let hasGap = true;\n const bitmap = this.bitmap;\n const minX = Math.round(bbox.minX);\n const maxX = Math.round(bbox.maxX);\n const minY = Math.round(bbox.minY);\n const maxY = Math.round(bbox.maxY);\n for (let i = minX; i <= maxX; i += 1) {\n if (!bitmap[i]) {\n bitmap[i] = {};\n continue;\n }\n if (i === minX || i === maxX) {\n for (let j = minY; j <= maxY; j++) {\n if (bitmap[i][j]) {\n hasGap = false;\n break;\n }\n }\n } else {\n if (bitmap[i][minY] || bitmap[i][maxY]) {\n hasGap = false;\n break;\n }\n }\n }\n return hasGap;\n }\n\n public fillGap(bbox: BBox): void {\n const bitmap = this.bitmap;\n const minX = Math.round(bbox.minX);\n const maxX = Math.round(bbox.maxX);\n const minY = Math.round(bbox.minY);\n const maxY = Math.round(bbox.maxY);\n // filling grid\n for (let i = minX; i <= maxX; i += 1) {\n if (!bitmap[i]) {\n bitmap[i] = {};\n }\n }\n for (let i = minX; i <= maxX; i += this.xGap) {\n for (let j = minY; j <= maxY; j += this.yGap) {\n bitmap[i][j] = true;\n }\n bitmap[i][maxY] = true;\n }\n\n // filling y edges\n if (this.yGap !== 1) {\n for (let i = minY; i <= maxY; i += 1) {\n bitmap[minX][i] = true;\n bitmap[maxX][i] = true;\n }\n }\n\n // filling x edges\n if (this.xGap !== 1) {\n for (let i = minX; i <= maxX; i += 1) {\n bitmap[i][minY] = true;\n bitmap[i][maxY] = true;\n }\n }\n }\n\n public destroy(): void {\n this.bitmap = {};\n }\n}\n\nfunction spiralFill(label: IShape, greedy: Greedy, maxTimes: number = MAX_TIMES) {\n const dt = -1;\n const { x, y } = label.attr();\n const bbox = label.getCanvasBBox();\n const maxDelta = Math.sqrt(bbox.width * bbox.width + bbox.height * bbox.height);\n let dxdy;\n let t = -dt;\n let dx = 0;\n let dy = 0;\n const f = (param: number) => {\n const nt = param * 0.1;\n return [nt * Math.cos(nt), nt * Math.sin(nt)];\n };\n\n if (greedy.hasGap(bbox)) {\n greedy.fillGap(bbox);\n return true;\n }\n let canFill = false;\n let times = 0;\n const accessedCache = {};\n while (Math.min(Math.abs(dx), Math.abs(dy)) < maxDelta && times < maxTimes) {\n dxdy = f((t += dt));\n dx = ~~dxdy[0];\n dy = ~~dxdy[1];\n if ((!dx && !dy) || accessedCache[`${dx}-${dy}`]) {\n continue;\n }\n label.attr({ x: x + dx, y: y + dy });\n if (dx + dy < 0) {\n label.attr('textAlign', 'right');\n }\n times++;\n if (greedy.hasGap(label.getCanvasBBox())) {\n greedy.fillGap(label.getCanvasBBox());\n canFill = true;\n accessedCache[`${dx}-${dy}`] = true;\n break;\n }\n }\n return canFill;\n}\n\n/*\n * 根据如下规则尝试放置label\n * 5\n * ------------------\n * | 1 | 0 |\n * 8 —————————4———————— 7\n * | 2 | 3 |\n * ——————————————————\n * 6\n */\nfunction adjustLabelPosition(label: IShape, x: number, y: number, index: number) {\n const { width, height } = label.getCanvasBBox();\n const attrs = {\n x,\n y,\n textAlign: 'center',\n };\n switch (index) {\n case 0:\n attrs.y -= height + 1;\n attrs.x += 1;\n attrs.textAlign = 'left';\n break;\n case 1:\n attrs.y -= height + 1;\n attrs.x -= 1;\n attrs.textAlign = 'right';\n break;\n case 2:\n attrs.y += height + 1;\n attrs.x -= 1;\n attrs.textAlign = 'right';\n break;\n case 3:\n attrs.y += height + 1;\n attrs.x += 1;\n attrs.textAlign = 'left';\n break;\n case 5:\n attrs.y -= height * 2 + 2;\n break;\n case 6:\n attrs.y += height * 2 + 2;\n break;\n case 7:\n attrs.x += width + 1;\n attrs.textAlign = 'left';\n break;\n case 8:\n attrs.x -= width + 1;\n attrs.textAlign = 'right';\n break;\n default:\n break;\n }\n label.attr(attrs);\n return label.getCanvasBBox();\n}\n\n/**\n * @ignore\n * label 防遮挡布局:在不改变 label 位置的情况下对相互重叠的 label 进行调整。\n * 不同于 'overlap' 类型的布局,该布局不会对 label 的位置进行偏移调整。\n * @param labels 参与布局调整的 label 数组集合\n */\nexport function fixedOverlap(items: LabelItem[], labels: IGroup[], shapes: IShape[] | IGroup[], region: BBox) {\n const greedy = new Greedy();\n each(labels, (label: IGroup) => {\n const labelShape = label.find((shape) => shape.get('type') === 'text') as IShape;\n if (!spiralFill(labelShape, greedy)) {\n label.remove(true);\n }\n });\n greedy.destroy();\n}\n\n/**\n * @ignore\n * label 防遮挡布局:为了防止 label 之间相互覆盖同时保证尽可能多 的 label 展示,通过尝试将 label 向**四周偏移**来剔除放不下的 label\n * @param labels 参与布局调整的 label 数组集合\n */\nexport function overlap(items: LabelItem[], labels: IGroup[], shapes: IShape[] | IGroup[], region: BBox) {\n const greedy = new Greedy();\n each(labels, (label: IGroup) => {\n const labelShape = label.find((shape) => shape.get('type') === 'text') as IShape;\n const { x, y } = labelShape.attr();\n let canFill = false;\n for (let i = 0; i <= 8; i++) {\n const bbox = adjustLabelPosition(labelShape, x, y, i);\n if (greedy.hasGap(bbox)) {\n greedy.fillGap(bbox);\n canFill = true;\n break;\n }\n }\n if (!canFill) {\n label.remove(true);\n }\n });\n\n greedy.destroy();\n}\n","import { isNumber } from '@antv/util';\nimport { Point } from '../dependents';\n\ntype Vec2 = [number, number];\n\ntype Item = {\n x: number;\n y: number;\n width: number;\n height: number;\n rotation?: number;\n visible?: boolean;\n};\n/**\n * 定义投影对象\n */\ntype Projection = { min: number; max: number };\n\nfunction dot(a, b) {\n return (a[0] || 0) * (b[0] || 0) + (a[1] || 0) * (b[1] || 0) + (a[2] || 0) * (b[2] || 0);\n}\n\n/**\n * @private\n * 1. 获取投影轴\n */\nfunction getAxes(points: Point[] /** 多边形的关键点 */): Vec2[] {\n // 目前先处理 平行矩形 的场景, 其他多边形不处理\n if (points.length > 4) {\n return [];\n }\n // 获取向量\n const vector = (start: Point, end: Point): Vec2 => {\n return [end.x - start.x, end.y - start.y];\n };\n\n // 由于 矩形的平行原理,所以只有 2 条投影轴: A -> B, B -> C\n const AB = vector(points[0], points[1]);\n const BC = vector(points[1], points[2]);\n\n return [AB, BC];\n}\n\n/**\n * @private\n * 绕指定点顺时针旋转后的点坐标\n * 默认绕原点旋转\n */\nfunction rotateAtPoint(point: Point, deg = 0, origin = { x: 0, y: 0 }): Point {\n const { x, y } = point;\n return {\n x: (x - origin.x) * Math.cos(-deg) + (y - origin.y) * Math.sin(-deg) + origin.x,\n y: (origin.x - x) * Math.sin(-deg) + (y - origin.y) * Math.cos(-deg) + origin.y,\n };\n}\n\n/**\n * @private\n * 转化为顶点坐标数组\n *\n * @param {Object} box\n */\nfunction getRectPoints(box: Item): Point[] {\n const points = [\n { x: box.x, y: box.y },\n { x: box.x + box.width, y: box.y },\n { x: box.x + box.width, y: box.y + box.height },\n { x: box.x, y: box.y + box.height },\n ];\n\n const rotation = box.rotation;\n if (rotation) {\n return [\n rotateAtPoint(points[0], rotation, points[0]),\n rotateAtPoint(points[1], rotation, points[0]),\n rotateAtPoint(points[2], rotation, points[0]),\n rotateAtPoint(points[3], rotation, points[0]),\n ];\n }\n\n return points;\n}\n\n/**\n * @private\n * 2. 获取多边形在投影轴上的投影\n *\n * 向量的点积的其中一个几何含义是:一个向量在平行于另一个向量方向上的投影的数值乘积。\n * 由于投影轴是单位向量(长度为1),投影的长度为 x1 * x2 + y1 * y2\n */\nfunction getProjection(points: Point[] /** 多边形的关键点 */, axis: Vec2): Projection {\n // 目前先处理矩形的场景\n if (points.length > 4) {\n return { min: 0, max: 0 };\n }\n\n const scalars = [];\n points.forEach((point) => {\n scalars.push(dot([point.x, point.y], axis));\n });\n\n return { min: Math.min(...scalars), max: Math.max(...scalars) };\n}\n\nfunction isProjectionOverlap(projection1: Projection, projection2: Projection): boolean {\n return projection1.max > projection2.min && projection1.min < projection2.max;\n}\n\nfunction isValidNumber(d: number) {\n return typeof d === 'number' && !Number.isNaN(d) && d !== Infinity && d !== -Infinity;\n}\n\nfunction isValidBox(box: Item) {\n return ['x', 'y', 'width', 'height'].every(attr => isValidNumber(box[attr]))\n}\n\n/**\n * 快速判断两个无旋转矩形是否遮挡\n */\nexport function isIntersectRect(box1: Item, box2: Item, margin: number = 0): boolean {\n return !(\n box2.x > box1.x + box1.width + margin ||\n box2.x + box2.width < box1.x - margin ||\n box2.y > box1.y + box1.height + margin ||\n box2.y + box2.height < box1.y - margin\n );\n}\n\n/**\n * detect whether two shape is intersected, useful when shape is been rotated\n * 判断两个矩形是否重叠(相交和包含, 是否旋转)\n *\n * - 原理: 分离轴定律\n */\nexport function intersect(box1: Item, box2: Item, margin: number = 0) {\n // 如果两个 box 中有一个是不合法的 box,也就是不会被渲染出来的,那么它们就不相交。\n if (!isValidBox(box1) || !isValidBox(box2)) return false;\n\n // 如果两个矩形没有旋转,使用快速判断\n if (!box1.rotation && !box2.rotation) {\n return isIntersectRect(box1, box2, margin);\n }\n\n // 分别获取 4 个关键点\n const rect1Points = getRectPoints(box1);\n const rect2Points = getRectPoints(box2);\n\n // 获取所有投影轴\n const axes = getAxes(rect1Points).concat(getAxes(rect2Points));\n\n for (let i = 0; i < axes.length; i++) {\n const axis = axes[i];\n const projection1 = getProjection(rect1Points, axis);\n const projection2 = getProjection(rect2Points, axis);\n\n // 判断投影轴上的投影是否存在重叠,若检测到存在间隙则立刻退出判断,消除不必要的运算。\n if (!isProjectionOverlap(projection1, projection2)) {\n return false;\n }\n }\n\n return true;\n}\n","import { isFunction } from '@antv/util';\n\nclass MyWorker {\n queue: any[] = [];\n worker: Worker;\n\n constructor(url) {\n this.worker = new Worker(url);\n this.worker.onmessage = (e: MessageEvent) => {\n this.queue.shift()?.resolve(e);\n };\n this.worker.onmessageerror = (e: MessageEvent) => {\n console.warn('[AntV G2] Web worker is not available');\n this.queue.shift()?.reject(e);\n };\n }\n\n post(params, onError?: () => any): Promise {\n return new Promise((resolve, reject) => {\n this.queue.push({ resolve, reject });\n try {\n this.worker.postMessage(params);\n } catch (e) {\n console.warn('[AntV G2] Web worker is not available');\n isFunction(onError) && onError();\n }\n });\n }\n\n destroy() {\n this.worker.terminate();\n }\n}\n\nexport function createWorker(f: any) {\n if (typeof window === 'undefined') return;\n\n let blob;\n try {\n blob = new Blob([f.toString()], { type: 'application/javascript' });\n } catch (e) {\n // @ts-ignore\n blob = new window.BlobBuilder();\n blob.append(f.toString());\n blob = blob.getBlob();\n }\n\n return new MyWorker(URL.createObjectURL(blob));\n}\n","const onmessage = function (e) {\n type Item = {\n x: number;\n y: number;\n width: number;\n height: number;\n rotation?: number;\n visible?: boolean;\n };\n\n // Copy from src/util/collision-detect.ts\n function generateUtils() {\n type Vec2 = [number, number];\n\n type Point = { x: number; y: number };\n\n /**\n * 定义投影对象\n */\n type Projection = { min: number; max: number };\n\n function dot(a, b) {\n return (a[0] || 0) * (b[0] || 0) + (a[1] || 0) * (b[1] || 0) + (a[2] || 0) * (b[2] || 0);\n }\n /**\n * 1. 获取投影轴\n */\n function getAxes(points: Point[] /** 多边形的关键点 */): Vec2[] {\n // 目前先处理 平行矩形 的场景, 其他多边形不处理\n if (points.length > 4) {\n return [];\n }\n // 获取向量\n const vector = (start: Point, end: Point): Vec2 => {\n return [end.x - start.x, end.y - start.y];\n };\n\n // 由于 矩形的平行原理,所以只有 2 条投影轴: A -> B, B -> C\n const AB = vector(points[0], points[1]);\n const BC = vector(points[1], points[2]);\n\n return [AB, BC];\n }\n\n /**\n * 绕指定点顺时针旋转后的点坐标\n * 默认绕原点旋转\n */\n function rotateAtPoint(point: Point, deg = 0, origin = { x: 0, y: 0 }): Point {\n const { x, y } = point;\n return {\n x: (x - origin.x) * Math.cos(-deg) + (y - origin.y) * Math.sin(-deg) + origin.x,\n y: (origin.x - x) * Math.sin(-deg) + (y - origin.y) * Math.cos(-deg) + origin.y,\n };\n }\n\n /**\n * @private\n * 转化为顶点坐标数组\n *\n * @param {Object} box\n */\n function getRectPoints(box: Item): Point[] {\n const points = [\n { x: box.x, y: box.y },\n { x: box.x + box.width, y: box.y },\n { x: box.x + box.width, y: box.y + box.height },\n { x: box.x, y: box.y + box.height },\n ];\n\n const rotation = box.rotation;\n if (rotation) {\n return [\n rotateAtPoint(points[0], rotation, points[0]),\n rotateAtPoint(points[1], rotation, points[0]),\n rotateAtPoint(points[2], rotation, points[0]),\n rotateAtPoint(points[3], rotation, points[0]),\n ];\n }\n\n return points;\n }\n\n /**\n * 2. 获取多边形在投影轴上的投影\n *\n * 向量的点积的其中一个几何含义是:一个向量在平行于另一个向量方向上的投影的数值乘积。\n * 由于投影轴是单位向量(长度为1),投影的长度为 x1 * x2 + y1 * y2\n */\n function getProjection(points: Point[] /** 多边形的关键点 */, axis: Vec2): Projection {\n // 目前先处理矩形的场景\n if (points.length > 4) {\n return { min: 0, max: 0 };\n }\n\n const scalars = [];\n points.forEach((point) => {\n scalars.push(dot([point.x, point.y], axis));\n });\n\n return { min: Math.min.apply(null, scalars), max: Math.max.apply(null, scalars) };\n }\n\n function isProjectionOverlap(projection1: Projection, projection2: Projection): boolean {\n return projection1.max > projection2.min && projection1.min < projection2.max;\n }\n\n function isValidNumber(d: number) {\n return typeof d === 'number' && !Number.isNaN(d) && d !== Infinity && d !== -Infinity;\n }\n\n function isValidBox(box: Item) {\n return ['x', 'y', 'width', 'height'].every(attr => isValidNumber(box[attr]))\n }\n\n function isIntersectRect(box1: Item, box2: Item, margin: number = 0): boolean {\n return !(\n box2.x > box1.x + box1.width + margin ||\n box2.x + box2.width < box1.x - margin ||\n box2.y > box1.y + box1.height + margin ||\n box2.y + box2.height < box1.y - margin\n );\n }\n function intersect(box1: Item, box2: Item, margin: number = 0) {\n if (!isValidBox(box1) || !isValidBox(box2)) return false;\n\n // Quick detect, if rotation is null or zero.\n if (!box1.rotation && !box2.rotation) {\n return isIntersectRect(box1, box2, margin);\n }\n\n // 分别获取 4 个关键点\n const rect1Points = getRectPoints(box1);\n const rect2Points = getRectPoints(box2);\n\n // 获取所有投影轴\n const axes = getAxes(rect1Points).concat(getAxes(rect2Points));\n\n for (let i = 0; i < axes.length; i++) {\n const axis = axes[i];\n const projection1 = getProjection(rect1Points, axis);\n const projection2 = getProjection(rect2Points, axis);\n\n if (!isProjectionOverlap(projection1, projection2)) return false;\n }\n\n return true;\n }\n return { intersect }\n }\n const { intersect } = generateUtils();\n\n // Label layouts.\n function hideOverlap(items: Item[]) {\n const boxes = items.slice();\n for (let i = 0; i < boxes.length; i++) {\n const box1 = boxes[i];\n if (box1.visible) {\n for (let j = i + 1; j < boxes.length; j++) {\n const box2 = boxes[j];\n if (box1 !== box2 && box2.visible) {\n if (intersect(box1, box2)) {\n box2.visible = false;\n }\n }\n }\n }\n }\n return boxes;\n }\n\n const methods = {\n 'hide-overlap': hideOverlap,\n }\n\n // Main\n try {\n const eventData = JSON.parse(e.data);\n if (!eventData || !eventData.type || !methods[eventData.type]) return;\n\n const { type, items } = eventData;\n const result = methods[type](items);\n self.postMessage(result);\n } catch (e) {\n throw e;\n }\n}\n\nconst code = `\n self.onmessage = ${onmessage.toString()}\n`\nexport { code };\n","import { get, each } from '@antv/util';\nimport { BBox, IGroup, IShape } from '../../../dependents';\nimport { intersect } from '../../../util/collision-detect';\nimport { LabelItem } from '../interface';\nimport { getLabelBackgroundInfo } from '../util';\nimport { createWorker } from '../util/createWorker';\nimport { code as layoutCode } from './worker/hide-overlap';\n\ntype Item = {\n x: number;\n y: number;\n width: number;\n height: number;\n rotation?: number;\n visible?: boolean;\n};\n\nconst layout = (items: Item[]): Item[] => {\n const boxes = items.slice();\n for (let i = 0; i < boxes.length; i++) {\n const box1 = boxes[i];\n if (box1.visible) {\n for (let j = i + 1; j < boxes.length; j++) {\n const box2 = boxes[j];\n if (box1 !== box2 && box2.visible) {\n if (intersect(box1, box2)) {\n box2.visible = false;\n }\n }\n }\n }\n }\n return boxes;\n};\n\nconst cache: Map = new Map();\nconst worker = createWorker(layoutCode);\n\n/**\n * label 防遮挡布局:在不改变 label 位置的情况下对相互重叠的 label 进行隐藏(非移除)\n * 不同于 'overlap' 类型的布局,该布局不会对 label 的位置进行偏移调整。\n * @param labels 参与布局调整的 label 数组集合\n */\nexport async function hideOverlap(\n labelItems: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox\n) {\n const boxes = labels.map((d, idx) => ({\n ...getLabelBackgroundInfo(d, labelItems[idx], get(labelItems[idx], 'background.padding')),\n visible: true,\n }));\n const memoKey = JSON.stringify(boxes);\n const cb = (items: Item[]) => {\n cache.set(memoKey, items);\n each(items, ({ visible }, idx) => {\n const labelShape = labels[idx];\n if (visible) {\n labelShape?.show();\n } else {\n labelShape?.hide();\n }\n });\n return items;\n };\n if (cache.get(memoKey)) {\n cb(cache.get(memoKey));\n } else if (worker) {\n // Do layout in worker.\n try {\n const params = JSON.stringify({ type: 'hide-overlap', items: boxes });\n const res = await worker.post(params, () => cb(layout(boxes)));\n cb(Array.isArray(res.data) ? res.data : []);\n } catch (e) {\n console.error(e);\n cb(layout(boxes));\n }\n } else {\n // Normal layout in main thread.\n cb(layout(boxes));\n }\n}\n","import colorUtil from '@antv/color-util';\n\n// 内置的一些特殊设置\nconst preset = {\n '#5B8FF9': true,\n};\n\n// 根据YIQ亮度判断指定颜色取反色是不是白色\n// http://24ways.org/2010/calculating-color-contrast\n// http://www.w3.org/TR/AERT#color-contrast\nexport const isContrastColorWhite = (color: string): boolean => {\n const rgb = colorUtil.toRGB(color).toUpperCase();\n if (preset[rgb]) {\n return preset[rgb];\n }\n\n const [r, g, b] = colorUtil.rgb2arr(rgb);\n const isDark = (r * 299 + g * 587 + b * 114) / 1000 < 128;\n\n return isDark;\n};\n","let ctx: CanvasRenderingContext2D;\n\n/**\n * 获取 canvas context\n */\nexport function getCanvasContext() {\n if (!ctx) {\n ctx = document.createElement('canvas').getContext('2d');\n }\n\n return ctx;\n}\n","import { IElement, IGroup, IShape } from '../../../../dependents';\nimport { BBox } from '../../../../util/bbox';\nimport Geometry from '../../../base';\nimport Element from '../../../element';\nimport { LabelItem } from '../../interface';\nimport { findLabelTextShape } from '../../util';\n\nfunction shouldInShapeSingle(geometry: Geometry, label: IGroup, shape: IElement): boolean {\n const coordinate = geometry.coordinate;\n const textShape = findLabelTextShape(label);\n const textBBox = BBox.fromObject(textShape.getCanvasBBox());\n const shapeBBox = BBox.fromObject(shape.getBBox());\n\n return coordinate.isTransposed ? shapeBBox.height >= textBBox.height : shapeBBox.width >= textBBox.width;\n}\n\nfunction shouldInShape(geometry: Geometry, labels: IGroup[], shapes: IShape[] | IGroup[]): boolean {\n const isStack = !!geometry.getAdjust('stack');\n\n return (\n isStack ||\n labels.every((label: IGroup, index: number) => {\n const shape = shapes[index];\n return shouldInShapeSingle(geometry, label, shape);\n })\n );\n}\n\nfunction moveInShape(geometry: Geometry, label: IGroup, shape: IElement): void {\n const coordinate = geometry.coordinate;\n const shapeBBox = BBox.fromObject(shape.getBBox());\n const textShape = findLabelTextShape(label);\n\n if (coordinate.isTransposed) {\n // 水平方向:条形图系列\n textShape.attr({\n x: shapeBBox.minX + shapeBBox.width / 2,\n textAlign: 'center',\n });\n } else {\n // 垂直方向:柱形图系列\n textShape.attr({\n y: shapeBBox.minY + shapeBBox.height / 2,\n textBaseline: 'middle',\n });\n }\n}\n\n/**\n * 适用于 interval geometry 的数据标签位置自动调整布局方法\n * @param items\n * @param labels\n * @param shapes\n */\nexport function intervalAdjustPosition(items: LabelItem[], labels: IGroup[], shapes: IShape[] | IGroup[]) {\n if (shapes.length === 0) {\n return;\n }\n const element: Element = shapes[0]?.get('element');\n const geometry: Geometry = element?.geometry;\n if (!geometry || geometry.type !== 'interval') {\n return;\n }\n\n const inShape = shouldInShape(geometry, labels, shapes);\n if (inShape) {\n shapes.forEach((shape: IShape | IGroup, index: number) => {\n const label = labels[index];\n moveInShape(geometry, label, shape);\n });\n }\n}\n","import { groupBy, keys, map } from '@antv/util';\nimport { IElement, IGroup, IShape, BBox } from '../../../../dependents';\nimport Geometry from '../../../base';\nimport Element from '../../../element';\nimport { LabelItem } from '../../interface';\nimport { findLabelTextShape } from '../../util';\n\n/**\n * point-adjust-position layout 的配置类型\n */\nexport interface PointAdjustPositionLayoutCfg {\n offset?: number;\n}\n\n/**\n * 对同一组(相同 xField )的 Label 进行排序:第一个、最后一个、其他...\n * @param geometry\n * @param labels\n */\nfunction sortLabels(geometry: Geometry, labels: IGroup[]) {\n const yField = geometry.getXYFields()[1];\n const result: IGroup[] = [];\n const sortedLabels = labels.sort((left, right) => left.get('data')[yField] - left.get('data')[yField]);\n\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.shift());\n }\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.pop());\n }\n result.push(...sortedLabels);\n\n return result;\n}\n\nfunction hasSome(dones: IGroup[], current: IGroup, compare: (left: IGroup, right: IGroup) => boolean): boolean {\n return dones.some((done) => compare(done, current));\n}\n\n/**\n * 计算两个矩形之间的堆叠区域面积\n */\nfunction getOverlapArea(a: BBox, b: BBox, margin = 0) {\n const xOverlap = Math.max(\n 0,\n Math.min(a.x + a.width + margin, b.x + b.width + margin) - Math.max(a.x - margin, b.x - margin)\n );\n const yOverlap = Math.max(\n 0,\n Math.min(a.y + a.height + margin, b.y + b.height + margin) - Math.max(a.y - margin, b.y - margin)\n );\n\n return xOverlap * yOverlap;\n}\n\n/**\n * 判断新添加的 Label 是否和已存在的发生重叠\n * @param dones\n * @param current\n */\nfunction checkShapeOverlap(dones: IGroup[], current: IGroup): boolean {\n return hasSome(dones, current, (left, right) => {\n const leftText = findLabelTextShape(left);\n const rightText = findLabelTextShape(right);\n\n return getOverlapArea(leftText.getCanvasBBox(), rightText.getCanvasBBox(), 2) > 0;\n });\n}\n/**\n * 适用于 point geometry 的数据标签位置自动调整布局方法\n * @param items\n * @param labels\n * @param shapes\n * @param region\n * @param cfg\n */\nexport function pointAdjustPosition(\n items: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox,\n cfg: PointAdjustPositionLayoutCfg\n): void {\n if (shapes.length === 0) {\n return;\n }\n\n const element: Element = shapes[0]?.get('element');\n const geometry: Geometry = element?.geometry;\n if (!geometry || geometry.type !== 'point') {\n return;\n }\n const [xField, yField] = geometry.getXYFields();\n const groupedLabels = groupBy(labels, (label) => label.get('data')[xField]);\n const dones: IGroup[] = [];\n const offset = (cfg && cfg.offset) || items[0]?.offset || 12;\n\n map(keys(groupedLabels).reverse(), (xValue) => {\n const sortedCollections = sortLabels(geometry, groupedLabels[xValue]);\n while (sortedCollections.length) {\n const current = sortedCollections.shift();\n const textShape = findLabelTextShape(current);\n if (\n hasSome(\n dones,\n current,\n (left, right) =>\n left.get('data')[xField] === right.get('data')[xField] &&\n left.get('data')[yField] === right.get('data')[yField]\n )\n ) {\n // 重复位置,直接隐藏\n textShape.set('visible', false);\n continue;\n }\n const upFail = checkShapeOverlap(dones, current);\n let downFail: boolean = false;\n if (upFail) {\n textShape.attr('y', textShape.attr('y') + 2 * offset);\n downFail = checkShapeOverlap(dones, current);\n }\n if (downFail) {\n textShape.set('visible', false);\n continue;\n }\n dones.push(current);\n }\n });\n}\n","import { groupBy, keys, map } from '@antv/util';\nimport { IGroup, IShape, BBox } from '../../../../dependents';\nimport Geometry from '../../../base';\nimport Element from '../../../element';\nimport { LabelItem } from '../../interface';\nimport { findLabelTextShape } from '../../util';\n\n/**\n * point-adjust-position layout 的配置类型\n */\nexport interface PointAdjustPositionLayoutCfg {\n offset?: number;\n}\n\n/**\n * 对同一组(相同 xField )的 Label 进行排序:第一个、最后一个、其他...\n * @param geometry\n * @param labels\n */\nfunction sortLabels(geometry: Geometry, labels: IGroup[]) {\n const yField = geometry.getXYFields()[1];\n const result: IGroup[] = [];\n const sortedLabels = labels.sort((left, right) => left.get('data')[yField] - left.get('data')[yField]);\n\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.shift());\n }\n if (sortedLabels.length > 0) {\n result.push(sortedLabels.pop());\n }\n result.push(...sortedLabels);\n\n return result;\n}\n\nfunction hasSome(dones: IGroup[], current: IGroup, compare: (left: IGroup, right: IGroup) => boolean): boolean {\n return dones.some((done) => compare(done, current));\n}\n\n/**\n * 计算两个矩形之间的堆叠区域面积\n */\nfunction getOverlapArea(a: BBox, b: BBox, margin = 0) {\n const xOverlap = Math.max(\n 0,\n Math.min(a.x + a.width + margin, b.x + b.width + margin) - Math.max(a.x - margin, b.x - margin)\n );\n const yOverlap = Math.max(\n 0,\n Math.min(a.y + a.height + margin, b.y + b.height + margin) - Math.max(a.y - margin, b.y - margin)\n );\n\n return xOverlap * yOverlap;\n}\n\n/**\n * 判断新添加的 Label 是否和已存在的发生重叠\n * @param dones\n * @param current\n */\nfunction checkShapeOverlap(dones: IGroup[], current: IGroup): boolean {\n return hasSome(dones, current, (left, right) => {\n const leftText = findLabelTextShape(left);\n const rightText = findLabelTextShape(right);\n\n return getOverlapArea(leftText.getCanvasBBox(), rightText.getCanvasBBox(), 2) > 0;\n });\n}\n/**\n * 适用于 point geometry 的数据标签位置自动调整布局方法\n * @param items\n * @param labels\n * @param shapes\n * @param region\n * @param cfg\n */\nexport function pathAdjustPosition(\n items: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox,\n cfg: PointAdjustPositionLayoutCfg\n): void {\n if (shapes.length === 0) {\n return;\n }\n\n const element: Element = shapes[0]?.get('element');\n const geometry: Geometry = element?.geometry;\n if (!geometry || ['path', 'line', 'area'].indexOf(geometry.type) < 0) {\n return;\n }\n const [xField, yField] = geometry.getXYFields();\n const groupedLabels = groupBy(labels, (label) => label.get('data')[xField]);\n const dones: IGroup[] = [];\n const offset = (cfg && cfg.offset) || items[0]?.offset || 12;\n\n map(keys(groupedLabels).reverse(), (xValue) => {\n const sortedCollections = sortLabels(geometry, groupedLabels[xValue]);\n while (sortedCollections.length) {\n const current = sortedCollections.shift();\n const textShape = findLabelTextShape(current);\n if (\n hasSome(\n dones,\n current,\n (left, right) =>\n left.get('data')[xField] === right.get('data')[xField] &&\n left.get('data')[yField] === right.get('data')[yField]\n )\n ) {\n // 重复位置,直接隐藏\n textShape.set('visible', false);\n continue;\n }\n const upFail = checkShapeOverlap(dones, current);\n let downFail: boolean = false;\n if (upFail) {\n textShape.attr('y', textShape.attr('y') + 2 * offset);\n downFail = checkShapeOverlap(dones, current);\n }\n if (downFail) {\n textShape.set('visible', false);\n continue;\n }\n dones.push(current);\n }\n });\n}\n","import { isString, memoize, values, toString } from '@antv/util';\nimport * as CSS from 'csstype';\nimport { getCanvasContext } from './context';\n\ntype FontFace = CSS.Properties;\n\ntype Font = Pick & {\n fontSize?: number;\n};\n\n/**\n * 计算文本在画布中的宽度\n */\nexport const measureTextWidth = memoize(\n (text: any, font: Font = {}): number => {\n const { fontSize, fontFamily, fontWeight, fontStyle, fontVariant } = font;\n const ctx = getCanvasContext();\n ctx!.font = [fontStyle, fontVariant, fontWeight, `${fontSize}px`, fontFamily].join(' ');\n return ctx!.measureText(isString(text) ? text : '').width;\n },\n (text: any, font: Font = {}) => [text, ...values(font)].join('')\n);\n\n/**\n * 获取文本的 ... 文本。\n * 算法(减少每次 measureText 的长度,measureText 的性能跟字符串时间相关):\n * 1. 先通过 STEP 逐步计算,找到最后一个小于 maxWidth 的字符串\n * 2. 然后对最后这个字符串二分计算\n * @param text 需要计算的文本, 由于历史原因 除了支持string,还支持空值,number和数组等\n * @param maxWidth\n * @param font\n */\nexport const getEllipsisText = (text: any, maxWidth: number, font?: Font) => {\n const STEP = 16; // 每次 16,调参工程师\n const DOT_WIDTH = measureTextWidth('...', font);\n\n let leftText;\n\n if (!isString(text)) {\n leftText = toString(text);\n } else {\n leftText = text;\n }\n\n let leftWidth = maxWidth;\n\n const r = []; // 最终的分段字符串\n let currentText;\n let currentWidth;\n\n if (measureTextWidth(text, font) <= maxWidth) {\n return text;\n }\n\n // 首先通过 step 计算,找出最大的未超出长度的\n while (true) {\n // 更新字符串\n currentText = leftText.substr(0, STEP);\n\n // 计算宽度\n currentWidth = measureTextWidth(currentText, font);\n\n // 超出剩余宽度,则停止\n if (currentWidth + DOT_WIDTH > leftWidth) {\n if (currentWidth > leftWidth) {\n break;\n }\n }\n\n r.push(currentText);\n\n // 没有超出,则计算剩余宽度\n leftWidth -= currentWidth;\n leftText = leftText.substr(STEP);\n\n // 字符串整体没有超出\n if (!leftText) {\n return r.join('');\n }\n }\n\n // 最下的最后一个 STEP,使用 1 递增(用二分效果更高)\n while (true) {\n // 更新字符串\n currentText = leftText.substr(0, 1);\n\n // 计算宽度\n currentWidth = measureTextWidth(currentText, font);\n\n // 超出剩余宽度,则停止\n if (currentWidth + DOT_WIDTH > leftWidth) {\n break;\n }\n\n r.push(currentText);\n // 没有超出,则计算剩余宽度\n leftWidth -= currentWidth;\n leftText = leftText.substr(1);\n\n if (!leftText) {\n return r.join('');\n }\n }\n\n return `${r.join('')}...`;\n};\n","import { ext } from '@antv/matrix-util';\nimport { Coordinate, IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg, Point } from '../../interface';\n\n/**\n * @ignore\n * 对图形元素进行矩阵变换,同时返回变换前的图形矩阵\n * @param shape 进行矩阵变换的图形\n * @param vector 矩阵变换的中心点\n * @param direct 矩阵变换的类型\n */\nexport function transformShape(shape: IShape | IGroup, vector: [number, number], direct: string): number[] {\n let scaledMatrix;\n\n const [x, y] = vector;\n shape.applyToMatrix([x, y, 1]);\n if (direct === 'x') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 1],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 1],\n ['t', x, y],\n ]);\n } else if (direct === 'y') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 1, 0.01],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 1, 100],\n ['t', x, y],\n ]);\n } else if (direct === 'xy') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 100],\n ['t', x, y],\n ]);\n }\n return scaledMatrix;\n}\n\n/**\n * 对图形元素进行剪切动画\n * @param element 进行动画的图形元素\n * @param animateCfg 动画配置\n * @param coordinate 当前坐标系\n * @param yMinPoint y 轴的最小值对应的图形坐标点\n * @param type 剪切动画的类型\n */\nexport function doScaleAnimate(\n element: IGroup | IShape,\n animateCfg: GAnimateCfg,\n coordinate: Coordinate,\n yMinPoint: Point,\n type: string\n) {\n const { start, end } = coordinate;\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n let x: number;\n let y: number;\n\n if (type === 'y') {\n x = start.x + width / 2;\n y = yMinPoint.y < start.y ? yMinPoint.y : start.y;\n } else if (type === 'x') {\n x = yMinPoint.x > start.x ? yMinPoint.x : start.x;\n y = start.y + height / 2;\n } else if (type === 'xy') {\n if (coordinate.isPolar) {\n x = coordinate.getCenter().x;\n y = coordinate.getCenter().y;\n } else {\n x = (start.x + end.x) / 2;\n y = (start.y + end.y) / 2;\n }\n }\n\n const endMatrix = transformShape(element, [x, y], type);\n element.animate(\n {\n matrix: endMatrix,\n },\n animateCfg\n );\n}\n","import { getArcParams } from '@antv/g-canvas';\nimport { isNumberEqual, isEqual, isFunction } from '@antv/util';\n\nimport { IShape, PathCommand } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\nimport { getArcPath, getSectorPath } from '../../util/graphics';\n\nfunction getAngle(startPoint: number[], arcPath: PathCommand) {\n let { startAngle, endAngle } = getArcParams(startPoint, arcPath);\n\n if (!isNumberEqual(startAngle, -Math.PI * 0.5) && startAngle < -Math.PI * 0.5) {\n startAngle += Math.PI * 2;\n }\n if (!isNumberEqual(endAngle, -Math.PI * 0.5) && endAngle < -Math.PI * 0.5) {\n endAngle += Math.PI * 2;\n }\n\n if (arcPath[5] === 0) {\n // 逆时针,需要将 startAngle 和 endAngle 转置,因为 G2 极坐标系为顺时针方向\n [startAngle, endAngle] = [endAngle, startAngle];\n }\n\n if (isNumberEqual(startAngle, Math.PI * 1.5)) {\n startAngle = Math.PI * -0.5;\n }\n\n // 当 startAngle, endAngle 接近相等时,不进行 endAngle = Math.PI * 1.5 防止变化从整个圆开始\n if (isNumberEqual(endAngle, Math.PI * -0.5) && !isNumberEqual(startAngle, endAngle)) {\n endAngle = Math.PI * 1.5;\n }\n\n return {\n startAngle,\n endAngle,\n };\n}\n\nfunction getArcStartPoint(path: PathCommand) {\n let startPoint;\n if (path[0] === 'M' || path[0] === 'L') {\n startPoint = [path[1], path[2]];\n } else if (path[0] === 'a' || path[0] === 'A' || path[0] === 'C') {\n startPoint = [path[path.length - 2], path[path.length - 1]];\n }\n\n return startPoint;\n}\n\n/**\n * path 存在以下情况\n * 1. 饼图不为整圆的 path,命令为 M, L, A, L, Z\n * 2. 饼图为整圆的 path,命令为 M, M, A, A, M, Z\n * 3. 环图不为整圆的 path,命令为 M, A, L, A, L, Z\n * 4. 环图为整圆的 path,命令为 M, A, A, M, A, A, M, Z\n * 5. radial-line, 不为整圆时的 path, 命令为 M, A, A, Z\n * 6. radial-line, 为整圆时的 path,命令为 M, A, A, A, A, Z\n * @param path theta 坐标系下圆弧的 path 命令\n */\nexport function getArcInfo(path: PathCommand[]) {\n let startAngle;\n let endAngle;\n\n const arcPaths = path.filter((command) => {\n return command[0] === 'A' || command[0] === 'a';\n });\n\n if (arcPaths.length === 0) {\n return {\n startAngle: 0,\n endAngle: 0,\n radius: 0,\n innerRadius: 0,\n };\n }\n\n const firstArcPathCommand = arcPaths[0];\n const lastArcPathCommand = arcPaths.length > 1 ? arcPaths[1] : arcPaths[0];\n const firstIndex = path.indexOf(firstArcPathCommand);\n const lastIndex = path.indexOf(lastArcPathCommand);\n const firstStartPoint = getArcStartPoint(path[firstIndex - 1]);\n const lastStartPoint = getArcStartPoint(path[lastIndex - 1]);\n\n const { startAngle: firstStartAngle, endAngle: firstEndAngle } = getAngle(firstStartPoint, firstArcPathCommand);\n const { startAngle: lastStartAngle, endAngle: lastEndAngle } = getAngle(lastStartPoint, lastArcPathCommand);\n\n if (isNumberEqual(firstStartAngle, lastStartAngle) && isNumberEqual(firstEndAngle, lastEndAngle)) {\n startAngle = firstStartAngle;\n endAngle = firstEndAngle;\n } else {\n startAngle = Math.min(firstStartAngle, lastStartAngle);\n endAngle = Math.max(firstEndAngle, lastEndAngle);\n }\n\n let radius = firstArcPathCommand[1];\n let innerRadius = arcPaths[arcPaths.length - 1][1];\n if (radius < innerRadius) {\n [radius, innerRadius] = [innerRadius, radius];\n } else if (radius === innerRadius) {\n innerRadius = 0;\n }\n\n return {\n startAngle,\n endAngle,\n radius,\n innerRadius,\n };\n}\n\n/**\n * @ignore\n * 饼图更新动画\n * @param shape 文本图形\n * @param animateCfg\n * @param cfg\n */\nexport function sectorPathUpdate(shape: IShape, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n const { toAttrs, coordinate } = cfg;\n const path = (toAttrs as { path: PathCommand[] }).path || [];\n const pathCommands = path.map((command) => command[0]);\n\n if (path.length < 1) return;\n\n const { startAngle: curStartAngle, endAngle: curEndAngle, radius, innerRadius } = getArcInfo(path);\n const { startAngle: preStartAngle, endAngle: preEndAngle } = getArcInfo(shape.attr('path'));\n\n const center = coordinate.getCenter();\n const diffStartAngle = curStartAngle - preStartAngle;\n const diffEndAngle = curEndAngle - preEndAngle;\n // 没有 diff 时直接返回最终 attrs,不需要额外动画\n if (diffStartAngle === 0 && diffEndAngle === 0) {\n shape.attr('path', path);\n return;\n }\n\n shape.animate(\n (ratio) => {\n const onFrameStartAngle = preStartAngle + ratio * diffStartAngle;\n const onFrameEndAngle = preEndAngle + ratio * diffEndAngle;\n return {\n ...toAttrs,\n path:\n // hack, 兼容 /examples/bar/basic/demo/radial-line.ts 动画\n isEqual(pathCommands, ['M', 'A', 'A', 'Z'])\n ? getArcPath(center.x, center.y, radius, onFrameStartAngle, onFrameEndAngle)\n : getSectorPath(center.x, center.y, radius, onFrameStartAngle, onFrameEndAngle, innerRadius),\n };\n },\n {\n ...animateCfg,\n callback: () => {\n // 将 path 保持原始态,否则会影响 setState() 的动画\n shape.attr('path', path);\n isFunction(animateCfg.callback) && animateCfg.callback();\n },\n }\n );\n}\n","import { ext } from '@antv/matrix-util';\nimport { each, isFunction } from '@antv/util';\nimport { IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\nfunction doShapeZoom(shape: IShape | IGroup, animateCfg: GAnimateCfg, type: 'zoomIn' | 'zoomOut') {\n if (shape.isGroup()) {\n each((shape as IGroup).getChildren(), (child) => {\n doShapeZoom(child, animateCfg, type);\n });\n } else {\n const bbox = shape.getBBox();\n const x = (bbox.minX + bbox.maxX) / 2;\n const y = (bbox.minY + bbox.maxY) / 2;\n shape.applyToMatrix([x, y, 1]);\n\n if (type === 'zoomIn') {\n // 放大\n const matrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ]);\n shape.setMatrix(matrix);\n shape.animate(\n {\n matrix: ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 100],\n ['t', x, y],\n ]),\n },\n animateCfg\n );\n } else {\n shape.animate(\n {\n matrix: ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ]),\n },\n {\n ...animateCfg,\n callback: () => {\n shape.remove(true);\n isFunction(animateCfg.callback) && animateCfg.callback();\n },\n }\n );\n }\n }\n}\n\n/**\n * @ignore\n * 单个 shape 动画\n * shape 以自身中心点逐渐放大的进入动画\n * @param shape 参与动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外信息\n */\nexport function zoomIn(shape: IShape | IGroup, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n doShapeZoom(shape, animateCfg, 'zoomIn');\n}\n\n/**\n * @ignore\n * 单个 shape 动画\n * 消失动画,shape 以自身为中心点的逐渐缩小\n * @param shape 参与动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外信息\n */\nexport function zoomOut(shape: IShape | IGroup, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n doShapeZoom(shape, animateCfg, 'zoomOut');\n}\n","import { DIRECTION } from '../constant';\nimport { Point } from '../dependents';\nimport { FacetTitle } from '../interface';\n\n/**\n * @ignore\n * 获取 facet title 的最佳默认配置,防止\n */\nexport function getFactTitleConfig(direction: DIRECTION): FacetTitle {\n if ([DIRECTION.TOP, DIRECTION.BOTTOM].includes(direction)) {\n return {\n offsetX: 0,\n offsetY: direction === DIRECTION.TOP ? -8 : 8,\n style: {\n textAlign: 'center',\n textBaseline: direction === DIRECTION.TOP ? 'bottom' : 'top',\n },\n };\n }\n\n if ([DIRECTION.LEFT, DIRECTION.RIGHT].includes(direction)) {\n return {\n offsetX: direction === DIRECTION.LEFT ? -8 : 8,\n offsetY: 0,\n style: {\n textAlign: direction === DIRECTION.LEFT ? 'right' : 'left',\n textBaseline: 'middle',\n rotate: Math.PI / 2, // 文本阅读习惯从上往下\n },\n };\n }\n\n return {};\n}\n\n/**\n * @ignore\n * 根据角度,获取 ○ 上的点\n * @param center\n * @param r\n * @param angle\n */\nexport function getAnglePoint(center: Point, r: number, angle: number): Point {\n return {\n x: center.x + r * Math.cos(angle),\n y: center.y + r * Math.sin(angle),\n };\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { AxisCfg, CircleCfg, CircleData, Datum } from '../interface';\n\nimport View from '../chart/view';\nimport { DIRECTION } from '../constant';\nimport { getAnglePoint, getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Circle extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'circle',\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n /**\n * 根据总数和当前索引,计算分面的 region\n * @param count\n * @param index\n */\n protected getRegion(count: number, index: number) {\n const r = 1 / 2; // 画布半径\n // 画布圆心\n const center = { x: 0.5, y: 0.5 };\n // 每隔分面间隔的弧度\n const avgAngle = (Math.PI * 2) / count;\n\n // 当前分面所在的弧度\n const angle = (-1 * Math.PI) / 2 + avgAngle * index;\n // TODO 没看懂\n const facetR = r / (1 + 1 / Math.sin(avgAngle / 2));\n // 分面的中心点\n const middle = getAnglePoint(center, r - facetR, angle);\n const startAngle = (Math.PI * 5) / 4; // 右上角\n const endAngle = (Math.PI * 1) / 4; // 左下角\n\n return {\n start: getAnglePoint(middle, facetR, startAngle),\n end: getAnglePoint(middle, facetR, endAngle),\n };\n }\n\n protected afterEachView(view: View, facet: CircleData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: CircleData) {}\n\n protected generateFacets(data: Datum[]): CircleData[] {\n const { fields, type } = this.cfg;\n const [field] = fields;\n if (!field) {\n throw new Error('No `fields` specified!');\n }\n\n const values = this.getFieldValues(data, field);\n const count = values.length;\n\n const rst = [];\n values.forEach((value: any, index: number) => {\n const conditions = [{ field, value, values }];\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: CircleData = {\n type,\n data: facetData,\n region: this.getRegion(count, index),\n\n columnValue: value,\n columnField: field,\n columnIndex: index,\n columnValuesLength: count,\n\n rowValue: null,\n rowField: null,\n rowIndex: 0,\n rowValuesLength: 1,\n };\n rst.push(facet);\n });\n return rst;\n }\n\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: CircleData): object {\n // 不做任何处理\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: CircleData): object {\n // 不做任何处理\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: CircleData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, ListCfg, ListData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class List extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'list',\n cols: null, // 默认显示一列\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected afterEachView(view: View, facet: ListData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: ListData) {}\n\n protected generateFacets(data: Datum[]): ListData[] {\n const { fields } = this.cfg;\n let { cols } = this.cfg;\n\n const [columnField] = fields;\n if (!columnField) {\n throw new Error('No `fields` specified!');\n }\n\n const colValues = this.getFieldValues(data, columnField);\n\n const count = colValues.length;\n cols = cols || count; // 每行有几列数据\n\n // 总共有几行\n const rows = this.getPageCount(count, cols);\n const rst = [];\n\n colValues.forEach((val, index) => {\n // 当前 index 在那个行列\n const { row, col } = this.getRowCol(index, cols);\n\n const conditions = [{ field: columnField, value: val, values: colValues }];\n\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: ListData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rows, cols, col, row),\n\n columnValue: val,\n rowValue: val,\n columnField,\n rowField: null,\n columnIndex: col,\n rowIndex: row,\n columnValuesLength: cols,\n rowValuesLength: rows,\n\n total: count,\n };\n\n rst.push(facet);\n });\n\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: ListData): object {\n // 当是最后一行或者下面没有 view 时文本不显示\n if (\n facet.rowIndex !== facet.rowValuesLength - 1 &&\n facet.columnValuesLength * facet.rowIndex + facet.columnIndex + 1 + facet.columnValuesLength <= facet.total\n ) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: ListData): object {\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: ListData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n\n /**\n * 计算分页数\n * @param total\n * @param pageSize\n */\n private getPageCount(total: number, pageSize: number): number {\n return Math.floor((total + pageSize - 1) / pageSize);\n }\n\n /**\n * 索引值在哪一页\n * @param index\n * @param pageSize\n */\n private getRowCol(index: number, pageSize: number) {\n const row = Math.floor(index / pageSize);\n const col = index % pageSize;\n\n return { row, col };\n }\n}\n","import { deepMix, each, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, MatrixCfg, MatrixData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Matrix extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'matrix',\n showTitle: false,\n columnTitle: {\n ...super.getDefaultTitleCfg(),\n },\n rowTitle: {\n ...super.getDefaultTitleCfg(),\n },\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected afterEachView(view: View, facet: MatrixData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: MatrixData) {}\n\n protected generateFacets(data: Datum[]): MatrixData[] {\n const { fields, type } = this.cfg;\n\n // 矩阵中行列相等,等于指定的字段个数\n const rowValuesLength = fields.length;\n const columnValuesLength = rowValuesLength;\n\n const rst = [];\n for (let i = 0; i < columnValuesLength; i++) {\n const columnField = fields[i];\n for (let j = 0; j < rowValuesLength; j++) {\n const rowField = fields[j];\n\n const facet: MatrixData = {\n type,\n data,\n region: this.getRegion(rowValuesLength, columnValuesLength, i, j),\n\n columnValue: columnField,\n rowValue: rowField,\n columnField,\n rowField,\n columnIndex: i,\n rowIndex: j,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n }\n }\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: MatrixData): object {\n // 最后一行显示\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: MatrixData): object {\n // 第一列显示\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: MatrixData, facetIndex: number) => {\n const { columnIndex, rowIndex, columnValuesLength, rowValuesLength, columnValue, rowValue, view } = facet;\n\n // top\n if (rowIndex === 0) {\n const formatter = get(this.cfg.columnTitle, 'formatter');\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.columnTitle\n );\n\n view.annotation().text(config);\n }\n // right\n if (columnIndex === columnValuesLength - 1) {\n const formatter = get(this.cfg.rowTitle, 'formatter');\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.rowTitle\n );\n\n view.annotation().text(config);\n }\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, MirrorCfg, MirrorData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Mirror extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'mirror',\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n transpose: false,\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected beforeEachView(view: View, facet: MirrorData) {\n // 做一下坐标系转化\n if (this.cfg.transpose) {\n if (facet.columnIndex % 2 === 0) {\n view.coordinate().transpose().reflect('x');\n } else {\n view.coordinate().transpose();\n }\n } else {\n if (facet.rowIndex % 2 !== 0) {\n view.coordinate().reflect('y');\n }\n }\n }\n\n protected afterEachView(view: View, facet: MirrorData) {\n this.processAxis(view, facet);\n }\n\n protected generateFacets(data: Datum[]): MirrorData[] {\n const [f] = this.cfg.fields;\n\n const rst = [];\n let columnValuesLength = 1;\n let rowValuesLength = 1;\n\n let columnValues: string[] = [''];\n let rowValues: string[] = [''];\n\n let columnField;\n let rowField;\n\n if (this.cfg.transpose) {\n columnField = f;\n columnValues = this.getFieldValues(data, columnField).slice(0, 2); // 镜像最多两个\n columnValuesLength = columnValues.length;\n } else {\n rowField = f;\n rowValues = this.getFieldValues(data, rowField).slice(0, 2); // 镜像最多两个\n rowValuesLength = rowValues.length;\n }\n\n // 获取每个维度对应的数据配置片段\n columnValues.forEach((xVal, xIndex) => {\n rowValues.forEach((yVal, yIndex) => {\n const conditions = [\n { field: columnField, value: xVal, values: columnValues },\n { field: rowField, value: yVal, values: rowValues },\n ];\n\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: MirrorData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rowValuesLength, columnValuesLength, xIndex, yIndex),\n\n columnValue: xVal,\n rowValue: yVal,\n columnField,\n rowField,\n columnIndex: xIndex,\n rowIndex: yIndex,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n });\n });\n\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: MirrorData): object {\n // 非最后一行\n // 当是最后一行或者下面没有 view 时文本不显示\n if (facet.columnIndex === 1 || facet.rowIndex === 1) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: MirrorData): object {\n // do nothing\n return option;\n }\n\n private renderTitle() {\n each(this.facets, (facet: MirrorData, facetIndex: number) => {\n const { columnValue, rowValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n if (this.cfg.transpose) {\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n } else {\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.title\n );\n\n view.annotation().text(config);\n }\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, RectCfg, RectData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 矩阵分面\n */\nexport default class Rect extends Facet {\n protected afterEachView(view: View, facet: RectData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: RectData) {\n // do nothing\n }\n\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'rect',\n columnTitle: {\n ...super.getDefaultTitleCfg(),\n },\n rowTitle: {\n ...super.getDefaultTitleCfg(),\n },\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n /**\n * 生成矩阵分面的分面数据\n * @param data\n */\n protected generateFacets(data: Datum[]): RectData[] {\n const [columnField, rowField] = this.cfg.fields;\n\n const rst = [];\n let columnValuesLength = 1;\n let rowValuesLength = 1;\n\n let columnValues: string[] = [''];\n let rowValues: string[] = [''];\n\n if (columnField) {\n columnValues = this.getFieldValues(data, columnField);\n columnValuesLength = columnValues.length;\n }\n if (rowField) {\n rowValues = this.getFieldValues(data, rowField);\n rowValuesLength = rowValues.length;\n }\n\n // 获取每个维度对应的数据配置片段\n columnValues.forEach((xVal, xIndex) => {\n rowValues.forEach((yVal, yIndex) => {\n const conditions = [\n { field: columnField, value: xVal, values: columnValues },\n { field: rowField, value: yVal, values: rowValues },\n ];\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: RectData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rowValuesLength, columnValuesLength, xIndex, yIndex),\n\n columnValue: xVal,\n rowValue: yVal,\n columnField,\n rowField,\n columnIndex: xIndex,\n rowIndex: yIndex,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n });\n });\n\n return rst;\n }\n\n private renderTitle(): void {\n each(this.facets, (facet: RectData, facetIndex: number) => {\n const { columnIndex, rowIndex, columnValuesLength, columnValue, rowValue, view } = facet;\n\n // top\n if (rowIndex === 0) {\n const formatter = get(this.cfg.columnTitle, 'formatter');\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.columnTitle\n );\n\n view.annotation().text(config);\n }\n // right\n if (columnIndex === columnValuesLength - 1) {\n const formatter = get(this.cfg.rowTitle, 'formatter');\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.rowTitle\n );\n\n view.annotation().text(config);\n }\n });\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: RectData): object {\n // 非最后一行\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n title: null,\n label: null,\n };\n } else if (facet.columnIndex !== Math.floor((facet.columnValuesLength - 1) / 2)) {\n // 不是中间列\n return {\n ...option,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: RectData): object {\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n } else if (facet.rowIndex !== Math.floor((facet.rowValuesLength - 1) / 2)) {\n return {\n ...option,\n title: null,\n };\n }\n return option;\n }\n}\n","/**\n * Create By Bruce Too\n * On 2020-02-10\n */\nimport { assign, deepMix, each, get } from '@antv/util';\nimport View from '../chart/view';\nimport { DIRECTION, VIEW_LIFE_CIRCLE } from '../constant';\nimport { AxisCfg, Condition, Datum, TreeCfg, TreeData } from '../interface';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * Tree Facet\n */\nexport default class Tree extends Facet {\n protected afterEachView(view: View, facet: TreeData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: TreeData) {}\n\n public init() {\n super.init();\n this.view.on(VIEW_LIFE_CIRCLE.AFTER_RENDER, this.afterChartRender);\n }\n\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'tree',\n line: {\n style: {\n lineWidth: 1,\n stroke: '#ddd',\n },\n smooth: false,\n },\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n protected generateFacets(data: Datum[]): TreeData[] {\n const fields = this.cfg.fields;\n if (!fields.length) {\n throw new Error('Please specify for the fields for rootFacet!');\n }\n const rst = [];\n const rootFacet: TreeData = {\n type: this.cfg.type,\n data,\n region: null,\n rowValuesLength: this.getRows(),\n columnValuesLength: 1,\n rowIndex: 0,\n columnIndex: 0,\n rowField: '',\n columnField: '',\n rowValue: '',\n columnValue: '',\n };\n rst.push(rootFacet);\n rootFacet.children = this.getChildFacets(data, 1, rst);\n this.setRegion(rst);\n return rst;\n }\n\n private setRegion(facets: TreeData[]) {\n this.forceColIndex(facets);\n facets.forEach((facet) => {\n // @ts-ignore 允许调整\n facet.region = this.getRegion(facet.rowValuesLength, facet.columnValuesLength, facet.columnIndex, facet.rowIndex);\n });\n }\n\n protected getRegion(rows: number, cols: number, xIndex: number, yIndex: number) {\n const xWidth = 1 / cols; // x轴方向的每个分面的偏移\n const yWidth = 1 / rows; // y轴方向的每个分面的偏移\n\n const start = {\n x: xWidth * xIndex,\n y: yWidth * yIndex,\n };\n\n const end = {\n x: start.x + xWidth,\n y: start.y + (yWidth * 2) / 3, // 预留1/3的空隙,方便添加连接线\n };\n return {\n start,\n end,\n };\n }\n\n private forceColIndex(facets: TreeData[]) {\n const leafs: TreeData[] = [];\n let index = 0;\n facets.forEach((facet) => {\n if (this.isLeaf(facet)) {\n leafs.push(facet);\n // @ts-ignore 允许调整\n facet.columnIndex = index;\n index++;\n }\n });\n\n leafs.forEach((facet) => {\n // @ts-ignore\n facet.columnValuesLength = leafs.length;\n });\n const maxLevel = this.cfg.fields.length;\n for (let i = maxLevel - 1; i >= 0; i--) {\n const levelFacets = this.getFacetsByLevel(facets, i);\n // var yIndex = maxLevel - i;\n for (const facet of levelFacets) {\n if (!this.isLeaf(facet)) {\n facet.originColIndex = facet.columnIndex;\n // @ts-ignore\n facet.columnIndex = this.getRegionIndex(facet.children);\n // @ts-ignore\n facet.columnValuesLength = leafs.length;\n }\n }\n }\n }\n\n // get facet use level\n private getFacetsByLevel(facets: TreeData[], level: number) {\n const rst: TreeData[] = [];\n facets.forEach((facet) => {\n if (facet.rowIndex === level) {\n rst.push(facet);\n }\n });\n return rst;\n }\n\n // if the facet has children , make it's column index in the middle of it's children\n private getRegionIndex(children: TreeData[]) {\n const first = children[0];\n const last = children[children.length - 1];\n return (last.columnIndex - first.columnIndex) / 2 + first.columnIndex;\n }\n\n // is a leaf without children\n private isLeaf(facet: TreeData) {\n return !facet.children || !facet.children.length;\n }\n\n private getRows() {\n return this.cfg.fields.length + 1;\n }\n\n // get child\n private getChildFacets(data: Datum[], level: number, arr: TreeData[]) {\n // [ 'grade', 'class' ]\n const fields = this.cfg.fields;\n const length = fields.length;\n if (length < level) {\n return;\n }\n const rst = [];\n // get fist level except root node\n const field = fields[level - 1];\n // get field value\n const values = this.getFieldValues(data, field);\n values.forEach((value, index) => {\n const conditions = [{ field, value, values } as Condition];\n const subData = data.filter(this.getFacetDataFilter(conditions));\n if (subData.length) {\n const facet: TreeData = {\n type: this.cfg.type,\n data: subData,\n region: null,\n columnValue: value,\n rowValue: '',\n columnField: field,\n rowField: '',\n columnIndex: index,\n rowValuesLength: this.getRows(),\n columnValuesLength: 1,\n rowIndex: level,\n children: this.getChildFacets(subData, level + 1, arr),\n };\n rst.push(facet);\n arr.push(facet);\n }\n });\n return rst;\n }\n\n public render() {\n super.render();\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n private afterChartRender = () => {\n if (this.facets && this.cfg.line) {\n this.container.clear();\n this.drawLines(this.facets);\n }\n };\n\n private renderTitle() {\n each(this.facets, (facet: TreeData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n\n private drawLines(facets: TreeData[]) {\n facets.forEach((facet) => {\n if (!this.isLeaf(facet)) {\n const children = facet.children;\n this.addFacetLines(facet, children);\n }\n });\n }\n\n // add lines with it's children\n private addFacetLines(facet: TreeData, children: TreeData[]) {\n const view = facet.view;\n const region = view.coordinateBBox;\n // top, right, bottom, left\n const start = {\n x: region.x + region.width / 2,\n y: region.y + region.height,\n };\n\n children.forEach((subFacet) => {\n const subRegion = subFacet.view.coordinateBBox;\n const end = {\n x: subRegion.bl.x + (subRegion.tr.x - subRegion.bl.x) / 2,\n y: subRegion.tr.y,\n };\n\n const middle1 = {\n x: start.x,\n y: start.y + (end.y - start.y) / 2,\n };\n const middle2 = {\n x: end.x,\n y: middle1.y,\n };\n this.drawLine([start, middle1, middle2, end]);\n });\n }\n\n private getPath(points) {\n const path = [];\n const smooth = this.cfg.line.smooth;\n if (smooth) {\n path.push(['M', points[0].x, points[0].y]);\n path.push(['C', points[1].x, points[1].y, points[2].x, points[2].y, points[3].x, points[3].y]);\n } else {\n points.forEach((point, index) => {\n if (index === 0) {\n path.push(['M', point.x, point.y]);\n } else {\n path.push(['L', point.x, point.y]);\n }\n });\n }\n\n return path;\n }\n\n // draw line width points\n private drawLine(points) {\n const path = this.getPath(points);\n const line = this.cfg.line.style;\n this.container.addShape('path', {\n attrs: assign(\n {\n // @ts-ignore\n path,\n },\n line\n ),\n });\n }\n\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: TreeData): object {\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: TreeData): object {\n if (facet.originColIndex !== 0 && facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n}\n","import { reduce, isNumber } from '@antv/util';\n\n/**\n * 获得中位数\n * @param array\n */\nexport function getMedian(array: number[]) {\n const arr = [...array];\n // 先排序\n arr.sort((a: number, b: number) => {\n return a - b;\n });\n\n const len = arr.length;\n\n // median\n // 0\n if (len === 0) {\n return 0;\n }\n\n // 奇数\n if (len % 2 === 1) {\n return arr[(len - 1) / 2];\n }\n\n // 偶数\n return (arr[len / 2] + arr[len / 2 - 1]) / 2;\n}\n\n/**\n * 获得平均值\n * @param array\n */\nexport function getMean(array: number[]) {\n const sum = reduce(\n array,\n (r: number, num: number) => {\n return (r += isNaN(num) || !isNumber(num) ? 0 : num);\n },\n 0\n );\n\n return array.length === 0 ? 0 : sum / array.length;\n}\n","import { getMedian, getMean } from './stat';\nimport { Scale } from '../dependents';\n\n/**\n * parse the value position\n * @param val\n * @param scale\n */\nexport function getNormalizedValue(val: number | string, scale: Scale) {\n if (!scale) {\n return null;\n }\n let scaled: number;\n\n switch (val) {\n case 'start':\n return 0;\n case 'center':\n return 0.5;\n case 'end':\n return 1;\n case 'median': {\n scaled = scale.isCategory ? getMedian(scale.values.map((_, idx: number) => idx)) : getMedian(scale.values);\n break;\n }\n case 'mean': {\n scaled = scale.isCategory ? (scale.values.length - 1) / 2 : getMean(scale.values);\n break;\n }\n case 'min':\n scaled = scale.isCategory ? 0 : scale[val];\n break;\n case 'max':\n scaled = scale.isCategory ? scale.values.length - 1 : scale[val];\n break;\n default:\n scaled = val as number;\n break;\n }\n\n return scale.scale(scaled);\n}\n","import {\n contains,\n deepMix,\n each,\n get,\n isArray,\n isFunction,\n isNil,\n isString,\n keys,\n upperFirst,\n find,\n includes,\n} from '@antv/util';\nimport { Annotation as AnnotationComponent, IElement, IGroup } from '../../dependents';\nimport {\n AnnotationBaseOption as BaseOption,\n AnnotationPosition as Position,\n ArcOption,\n ComponentOption,\n ShapeAnnotationOption,\n Data,\n DataMarkerOption,\n DataRegionOption,\n Datum,\n HtmlAnnotationOption,\n ImageOption,\n LineOption,\n Point,\n RegionFilterOption,\n RegionOption,\n RegionPositionBaseOption,\n TextOption,\n} from '../../interface';\n\nimport { DEFAULT_ANIMATE_CFG } from '../../animate/';\nimport { COMPONENT_TYPE, DIRECTION, GEOMETRY_LIFE_CIRCLE, LAYER, VIEW_LIFE_CIRCLE } from '../../constant';\n\nimport Geometry from '../../geometry/base';\nimport Element from '../../geometry/element';\nimport { getAngleByPoint, getDistanceToCenter } from '../../util/coordinate';\nimport { omit } from '../../util/helper';\nimport { getNormalizedValue } from '../../util/annotation';\nimport View from '../view';\nimport { Controller } from './base';\nimport { Scale } from '@antv/attr';\n\n/** 需要在图形绘制完成后才渲染的辅助组件类型列表 */\nconst ANNOTATIONS_AFTER_RENDER = ['regionFilter', 'shape'];\n\n/**\n * Annotation controller, 主要作用:\n * 1. 创建 Annotation: line、text、arc ...\n * 2. 生命周期: init、layout、render、clear、destroy\n */\nexport default class Annotation extends Controller {\n private foregroundContainer: IGroup;\n private backgroundContainer: IGroup;\n\n /* 组件更新的 cache,组件配置 object : 组件 */\n private cache = new Map();\n\n constructor(view: View) {\n super(view);\n\n this.foregroundContainer = this.view.getLayer(LAYER.FORE).addGroup();\n this.backgroundContainer = this.view.getLayer(LAYER.BG).addGroup();\n\n this.option = [];\n }\n\n public get name(): string {\n return 'annotation';\n }\n\n public init() { }\n\n /**\n * 因为 annotation 需要依赖坐标系信息,所以 render 阶段为空方法,实际的创建逻辑都在 layout 中\n */\n public layout() {\n this.update();\n }\n\n // 因为 Annotation 不参与布局,但是渲染的位置依赖于坐标系,所以可以将绘制阶段延迟到 layout() 进行\n public render() { }\n\n /**\n * 更新\n */\n public update() {\n // 1. 先处理需要在图形渲染之后的辅助组件 需要在 Geometry 完成之后,拿到图形信息\n this.onAfterRender(() => {\n const updated = new Map();\n // 先看是否有 regionFilter/shape 要更新\n each(this.option, (option: BaseOption) => {\n if (includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n const co = this.updateOrCreate(option);\n // 存储已经处理过的\n if (co) {\n updated.set(this.getCacheKey(option), co);\n }\n }\n });\n\n // 处理完成之后,更新 cache\n // 处理完成之后,销毁删除的\n this.cache = this.syncCache(updated);\n });\n\n // 2. 处理非 regionFilter\n const updateCache = new Map();\n each(this.option, (option: BaseOption) => {\n if (!includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n const co = this.updateOrCreate(option);\n // 存储已经处理过的\n if (co) {\n updateCache.set(this.getCacheKey(option), co);\n }\n }\n });\n this.cache = this.syncCache(updateCache);\n }\n\n /**\n * 清空\n * @param includeOption 是否清空 option 配置项\n */\n public clear(includeOption = false) {\n super.clear();\n\n this.clearComponents();\n this.foregroundContainer.clear();\n this.backgroundContainer.clear();\n\n // clear all option\n if (includeOption) {\n this.option = [];\n }\n }\n\n public destroy() {\n this.clear(true);\n\n this.foregroundContainer.remove(true);\n this.backgroundContainer.remove(true);\n }\n\n /**\n * 复写基类的方法\n */\n public getComponents(): ComponentOption[] {\n const co = [];\n\n this.cache.forEach((value: ComponentOption) => {\n co.push(value);\n });\n\n return co;\n }\n\n /**\n * 清除当前的组件\n */\n private clearComponents() {\n this.getComponents().forEach((co) => {\n co.component.destroy();\n });\n\n this.cache.clear();\n }\n\n /**\n * region filter 比较特殊的渲染时机\n * @param doWhat\n */\n private onAfterRender(doWhat: () => void) {\n let done = false;\n if (this.view.getOptions().animate) {\n this.view.geometries.forEach((g: Geometry) => {\n // 如果 geometry 开启,则监听\n if (g.animateOption) {\n g.once(GEOMETRY_LIFE_CIRCLE.AFTER_DRAW_ANIMATE, () => {\n doWhat();\n });\n done = true;\n }\n });\n }\n\n if (!done) {\n this.view.getRootView().once(VIEW_LIFE_CIRCLE.AFTER_RENDER, () => {\n doWhat();\n });\n }\n }\n\n private createAnnotation(option: BaseOption) {\n const { type } = option;\n\n const Ctor = AnnotationComponent[upperFirst(type)];\n if (Ctor) {\n const theme = this.getAnnotationTheme(type);\n const cfg = this.getAnnotationCfg(type, option, theme);\n // 不创建\n if (!cfg) {\n return null;\n }\n const annotation = new Ctor(cfg);\n\n return {\n component: annotation,\n layer: this.isTop(cfg) ? LAYER.FORE : LAYER.BG,\n direction: DIRECTION.NONE,\n type: COMPONENT_TYPE.ANNOTATION,\n extra: option,\n };\n }\n }\n\n // APIs for creating annotation component\n public annotation(option: any) {\n this.option.push(option);\n }\n\n /**\n * 创建 Arc\n * @param option\n * @returns AnnotationController\n */\n public arc(option: ArcOption) {\n this.annotation({\n type: 'arc',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 image\n * @param option\n * @returns AnnotationController\n */\n public image(option: ImageOption) {\n this.annotation({\n type: 'image',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Line\n * @param option\n * @returns AnnotationController\n */\n public line(option: LineOption) {\n this.annotation({\n type: 'line',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Region\n * @param option\n * @returns AnnotationController\n */\n public region(option: RegionOption) {\n this.annotation({\n type: 'region',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Text\n * @param option\n * @returns AnnotationController\n */\n public text(option: TextOption) {\n this.annotation({\n type: 'text',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 DataMarker\n * @param option\n * @returns AnnotationController\n */\n public dataMarker(option: DataMarkerOption) {\n this.annotation({\n type: 'dataMarker',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 DataRegion\n * @param option\n * @returns AnnotationController\n */\n public dataRegion(option: DataRegionOption) {\n this.annotation({\n type: 'dataRegion',\n ...option,\n });\n }\n\n /**\n * 创建 RegionFilter\n * @param option\n * @returns AnnotationController\n */\n public regionFilter(option: RegionFilterOption) {\n this.annotation({\n type: 'regionFilter',\n ...option,\n });\n }\n\n /**\n * 创建 ShapeAnnotation\n * @param option\n */\n public shape(option: ShapeAnnotationOption) {\n this.annotation({\n type: 'shape',\n ...option,\n });\n }\n\n /**\n * 创建 HtmlAnnotation\n * @param option\n */\n public html(option: HtmlAnnotationOption) {\n this.annotation({\n type: 'html',\n ...option,\n });\n }\n // end API\n\n /**\n * parse the point position to [x, y]\n * @param p Position\n * @returns { x, y }\n */\n private parsePosition(\n p:\n | [string | number, string | number]\n | Datum\n | ((xScale: Scale, yScale: Scale) => [string | number, string | number] | number | Datum)\n ): Point {\n const xScale = this.view.getXScale();\n // 转成 object\n const yScales = this.view.getScalesByDim('y');\n\n const position: Position = isFunction(p) ? p.call(null, xScale, yScales) : p;\n\n let x = 0;\n let y = 0;\n\n // 入参是 [24, 24] 这类时\n if (isArray(position)) {\n const [xPos, yPos] = position;\n // 如果数据格式是 ['50%', '50%'] 的格式\n // fix: 原始数据中可能会包含 'xxx5%xxx' 这样的数据,需要判断下 https://github.com/antvis/f2/issues/590\n // @ts-ignore\n if (isString(xPos) && xPos.indexOf('%') !== -1 && !isNaN(xPos.slice(0, -1))) {\n return this.parsePercentPosition(position as [string, string]);\n }\n\n x = getNormalizedValue(xPos, xScale);\n y = getNormalizedValue(yPos, Object.values(yScales)[0]);\n } else if (!isNil(position)) {\n // 入参是 object 结构,数据点\n for (const key of keys(position)) {\n const value = position[key];\n if (key === xScale.field) {\n x = getNormalizedValue(value, xScale);\n }\n if (yScales[key]) {\n y = getNormalizedValue(value, yScales[key]);\n }\n }\n }\n\n if (isNaN(x) || isNaN(y)) {\n return null;\n }\n\n return this.view.getCoordinate().convert({ x, y });\n }\n\n /**\n * parse all the points between start and end\n * @param start\n * @param end\n * @return Point[]\n */\n private getRegionPoints(start: Position | Data, end: Position | Data): Point[] {\n const xScale = this.view.getXScale();\n const yScales = this.view.getScalesByDim('y');\n const yScale = Object.values(yScales)[0];\n const xField = xScale.field;\n const viewData = this.view.getData();\n const startXValue = isArray(start) ? start[0] : start[xField];\n const endXValue = isArray(end) ? end[0] : end[xField];\n const arr = [];\n\n let startIndex;\n each(viewData, (item, idx) => {\n if (item[xField] === startXValue) {\n startIndex = idx;\n }\n if (idx >= startIndex) {\n const point = this.parsePosition([item[xField], item[yScale.field]]);\n if (point) {\n arr.push(point);\n }\n }\n if (item[xField] === endXValue) {\n return false;\n }\n });\n\n return arr;\n }\n\n /**\n * parse percent position\n * @param position\n */\n private parsePercentPosition(position: [string, string]): Point {\n const xPercent = parseFloat(position[0]) / 100;\n const yPercent = parseFloat(position[1]) / 100;\n const coordinate = this.view.getCoordinate();\n const { start, end } = coordinate;\n\n const topLeft = {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n };\n const x = coordinate.getWidth() * xPercent + topLeft.x;\n const y = coordinate.getHeight() * yPercent + topLeft.y;\n return { x, y };\n }\n\n /**\n * get coordinate bbox\n */\n private getCoordinateBBox() {\n const coordinate = this.view.getCoordinate();\n const { start, end } = coordinate;\n\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n const topLeft = {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n };\n\n return {\n x: topLeft.x,\n y: topLeft.y,\n minX: topLeft.x,\n minY: topLeft.y,\n maxX: topLeft.x + width,\n maxY: topLeft.y + height,\n width,\n height,\n };\n }\n\n /**\n * get annotation component config by different type\n * @param type\n * @param option 用户的配置\n * @param theme\n */\n private getAnnotationCfg(type: string, option: any, theme: object): object | null {\n const coordinate = this.view.getCoordinate();\n const canvas = this.view.getCanvas();\n let o = {};\n\n if (isNil(option)) {\n return null;\n }\n const { start, end, position } = option;\n const sp = this.parsePosition(start);\n const ep = this.parsePosition(end);\n const textPoint = this.parsePosition(position);\n if (['arc', 'image', 'line', 'region', 'regionFilter'].includes(type) && (!sp || !ep)) {\n return null;\n } else if (['text', 'dataMarker', 'html'].includes(type) && !textPoint) {\n return null;\n }\n\n if (type === 'arc') {\n const { start, end, ...rest } = option as ArcOption;\n const startAngle = getAngleByPoint(coordinate, sp);\n let endAngle = getAngleByPoint(coordinate, ep);\n if (startAngle > endAngle) {\n endAngle = Math.PI * 2 + endAngle;\n }\n\n o = {\n ...rest,\n center: coordinate.getCenter(),\n radius: getDistanceToCenter(coordinate, sp),\n startAngle,\n endAngle,\n };\n } else if (type === 'image') {\n const { start, end, ...rest } = option as ImageOption;\n o = {\n ...rest,\n start: sp,\n end: ep,\n src: option.src,\n };\n } else if (type === 'line') {\n const { start, end, ...rest } = option as LineOption;\n o = {\n ...rest,\n start: sp,\n end: ep,\n text: get(option, 'text', null),\n };\n } else if (type === 'region') {\n const { start, end, ...rest } = option as RegionPositionBaseOption;\n o = {\n ...rest,\n start: sp,\n end: ep,\n };\n } else if (type === 'text') {\n const filteredData = this.view.getData();\n const { position, content, ...rest } = option as TextOption;\n let textContent = content;\n if (isFunction(content)) {\n textContent = content(filteredData);\n }\n o = {\n ...textPoint,\n ...rest,\n content: textContent,\n };\n } else if (type === 'dataMarker') {\n const { position, point, line, text, autoAdjust, direction, ...rest } = option as DataMarkerOption;\n o = {\n ...rest,\n ...textPoint,\n coordinateBBox: this.getCoordinateBBox(),\n point,\n line,\n text,\n autoAdjust,\n direction,\n };\n } else if (type === 'dataRegion') {\n const { start, end, region, text, lineLength, ...rest } = option as DataRegionOption;\n o = {\n ...rest,\n points: this.getRegionPoints(start, end),\n region,\n text,\n lineLength,\n };\n } else if (type === 'regionFilter') {\n const { start, end, apply, color, ...rest } = option as RegionFilterOption;\n const geometries: Geometry[] = this.view.geometries;\n const shapes = [];\n const addShapes = (item?: IElement) => {\n if (!item) {\n return;\n }\n if (item.isGroup()) {\n (item as IGroup).getChildren().forEach((child) => addShapes(child));\n } else {\n shapes.push(item);\n }\n };\n each(geometries, (geom: Geometry) => {\n if (apply) {\n if (contains(apply, geom.type)) {\n each(geom.elements, (elem: Element) => {\n addShapes(elem.shape);\n });\n }\n } else {\n each(geom.elements, (elem: Element) => {\n addShapes(elem.shape);\n });\n }\n });\n o = {\n ...rest,\n color,\n shapes,\n start: sp,\n end: ep,\n };\n } else if (type === 'shape') {\n const { render, ...restOptions } = option as ShapeAnnotationOption;\n const wrappedRender = (container: IGroup) => {\n if (isFunction(option.render)) {\n return render(container, this.view, { parsePosition: this.parsePosition.bind(this) });\n }\n };\n o = {\n ...restOptions,\n render: wrappedRender,\n };\n } else if (type === 'html') {\n const { html, position, ...restOptions } = option as HtmlAnnotationOption;\n const wrappedHtml = (container: HTMLElement) => {\n if (isFunction(html)) {\n return html(container, this.view);\n }\n return html;\n };\n o = {\n ...restOptions,\n ...textPoint,\n // html 组件需要指定 parent\n parent: canvas.get('el').parentNode,\n html: wrappedHtml,\n };\n }\n // 合并主题,用户配置优先级高于默认主题\n const cfg = deepMix({}, theme, {\n ...o,\n top: option.top,\n style: option.style,\n offsetX: option.offsetX,\n offsetY: option.offsetY,\n });\n if (type !== 'html') {\n // html 类型不使用 G container\n cfg.container = this.getComponentContainer(cfg);\n }\n cfg.animate = this.view.getOptions().animate && cfg.animate && get(option, 'animate', cfg.animate); // 如果 view 关闭动画,则不执行\n cfg.animateOption = deepMix({}, DEFAULT_ANIMATE_CFG, cfg.animateOption, option.animateOption);\n\n return cfg;\n }\n\n /**\n * is annotation render on top\n * @param option\n * @return whethe on top\n */\n private isTop(option: any): boolean {\n return get(option, 'top', true);\n }\n\n /**\n * get the container by option.top\n * default is on top\n * @param option\n * @returns the container\n */\n private getComponentContainer(option: any) {\n return this.isTop(option) ? this.foregroundContainer : this.backgroundContainer;\n }\n\n private getAnnotationTheme(type: string) {\n return get(this.view.getTheme(), ['components', 'annotation', type], {});\n }\n\n /**\n * 创建或者更新 annotation\n * @param option\n */\n private updateOrCreate(option: BaseOption) {\n // 拿到缓存的内容\n let co = this.cache.get(this.getCacheKey(option));\n\n // 存在则更新,不存在在创建\n if (co) {\n const { type } = option;\n const theme = this.getAnnotationTheme(type);\n const cfg = this.getAnnotationCfg(type, option, theme);\n\n // 忽略掉一些配置\n if (cfg) {\n omit(cfg, ['container']);\n }\n co.component.update({ ...(cfg || {}), visible: !!cfg });\n // 对于 regionFilter/shape,因为生命周期的原因,需要额外 render\n if (includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n co.component.render();\n }\n } else {\n // 不存在,创建\n co = this.createAnnotation(option);\n if (co) {\n co.component.init();\n // Note:regionFilter/shape 特殊处理,regionFilter/shape 需要取到 Geometry 中的 Shape,需要在 view render 之后处理\n // 其他组件使用外层的统一 render 逻辑\n if (includes(ANNOTATIONS_AFTER_RENDER, option.type)) {\n co.component.render();\n }\n }\n }\n return co;\n }\n\n /**\n * 更新缓存,以及销毁组件\n * @param updated 更新或者创建的组件\n */\n private syncCache(updated: Map) {\n const newCache = new Map(this.cache); // clone 一份\n\n // 将 update 更新到 cache\n updated.forEach((co: ComponentOption, key: BaseOption) => {\n newCache.set(key, co);\n });\n\n // 另外和 options 进行对比,删除\n newCache.forEach((co: ComponentOption, key: BaseOption) => {\n // option 中已经找不到,那么就是删除的\n if (\n !find(this.option, (option: BaseOption) => {\n return key === this.getCacheKey(option);\n })\n ) {\n co.component.destroy();\n newCache.delete(key);\n }\n });\n\n return newCache;\n }\n\n /**\n * 获得缓存组件的 key\n * @param option\n */\n private getCacheKey(option: BaseOption) {\n // 如果存在 id,则使用 id string,否则直接使用 option 引用作为 key\n return option;\n // 后续扩展 id 用\n // const id = get(option, 'id');\n // return id ? id : option;\n }\n}\n","import { deepMix, get, map } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Coordinate, Scale, Tick } from '../dependents';\n\n/**\n * @ignore\n * get the grid theme by type, will mix the common cfg of axis\n * @param theme\n * @param direction\n * @returns theme object\n */\nexport function getGridThemeCfg(theme: object, direction: DIRECTION | 'common'): object {\n const axisTheme = deepMix(\n {},\n get(theme, ['components', 'axis', 'common']),\n get(theme, ['components', 'axis', direction])\n );\n return get(axisTheme, ['grid'], {});\n}\n\n/**\n * @ignore\n * get axis grid items\n * @param coordinate\n * @param scale\n * @param dim\n * @return items\n */\nexport function getLineGridItems(coordinate: Coordinate, scale: Scale, dim: string, alignTick?: boolean) {\n const items = [];\n const ticks = scale.getTicks();\n if (coordinate.isPolar) {\n // 补全 ticks\n ticks.push({\n value: 1,\n text: '',\n tickValue: '',\n });\n }\n ticks.reduce((preTick: Tick, currentTick: Tick, currentIndex) => {\n const currentValue = currentTick.value;\n if (alignTick) {\n items.push({\n points: [\n coordinate.convert(dim === 'y' ? { x: 0, y: currentValue } : { x: currentValue, y: 0 }),\n coordinate.convert(dim === 'y' ? { x: 1, y: currentValue } : { x: currentValue, y: 1 }),\n ],\n });\n } else {\n if (currentIndex) {\n const preValue = preTick.value;\n const middleValue = (preValue + currentValue) / 2;\n items.push({\n points: [\n coordinate.convert(dim === 'y' ? { x: 0, y: middleValue } : { x: middleValue, y: 0 }),\n coordinate.convert(dim === 'y' ? { x: 1, y: middleValue } : { x: middleValue, y: 1 }),\n ],\n });\n }\n }\n return currentTick;\n }, ticks[0]);\n return items;\n}\n\n/**\n * @ignore\n * get\n * @param coordinate\n * @param xScale\n * @param yScale\n * @param dim\n * @returns items\n */\nexport function getCircleGridItems(\n coordinate: Coordinate,\n xScale: Scale,\n yScale: Scale,\n alignTick: boolean,\n dim: string\n) {\n const count = xScale.values.length;\n const items = [];\n const ticks = yScale.getTicks();\n\n ticks.reduce((preTick: Tick, currentTick: Tick) => {\n const preValue = preTick ? preTick.value : currentTick.value; // 只有一项数据时取当前值\n const currentValue = currentTick.value;\n const middleValue = (preValue + currentValue) / 2;\n if (dim === 'x') {\n // 如果是 x 轴作为半径轴,那么只需要取圆弧收尾两个即可\n items.push({\n points: [\n coordinate.convert({\n x: alignTick ? currentValue : middleValue,\n y: 0,\n }),\n coordinate.convert({\n x: alignTick ? currentValue : middleValue,\n y: 1,\n }),\n ],\n });\n } else {\n items.push({\n points: map(Array(count + 1), (__: any, idx: number) => {\n return coordinate.convert({\n x: idx / count,\n y: alignTick ? currentValue : middleValue,\n });\n }),\n });\n }\n\n return currentTick;\n }, ticks[0]);\n return items;\n}\n\n/**\n * @ignore\n * show grid or not\n * @param axisTheme\n * @param axisOption\n */\nexport function showGrid(axisTheme: any, axisOption: any): boolean {\n const userGrid = get(axisOption, 'grid');\n if (userGrid === null) {\n return false;\n }\n\n const themeGrid = get(axisTheme, 'grid');\n\n return !(userGrid === undefined && themeGrid === null);\n}\n","import { deepMix, each, get, isUndefined } from '@antv/util';\nimport { DIRECTION, COMPONENT_TYPE, LAYER } from '../../constant';\nimport { CircleAxis, CircleGrid, IGroup, LineAxis, LineGrid, Scale } from '../../dependents';\nimport { AxisCfg, AxisOption, ComponentOption } from '../../interface';\n\nimport { DEFAULT_ANIMATE_CFG } from '../../animate/';\n\nimport {\n getAxisDirection,\n getAxisFactorByRegion,\n getAxisRegion,\n getAxisThemeCfg,\n getAxisTitleOptions,\n getAxisTitleText,\n getCircleAxisCenterRadius,\n isVertical,\n} from '../../util/axis';\nimport { getAxisOption } from '../../util/axis';\nimport { getCircleGridItems, getGridThemeCfg, getLineGridItems, showGrid } from '../../util/grid';\nimport { omit } from '../../util/helper';\nimport View from '../view';\nimport { Controller } from './base';\n\ntype Option = Record | boolean;\n\ntype Cache = Map;\n\n// update 组件的时候,忽略的数据更新\nconst OMIT_CFG = ['container'];\n\n// 坐标轴默认动画配置\nconst AXIS_DEFAULT_ANIMATE_CFG = {\n ...DEFAULT_ANIMATE_CFG,\n appear: null,\n};\n\n/**\n * @ignore\n * G2 Axis controller, will:\n * - create component\n * - axis\n * - grid\n * - life circle\n */\nexport default class Axis extends Controller