├── .commitlintrc.js ├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .github ├── ISSUE_TEMPLATE │ ├── ----bug-report.md │ ├── ---ask-for-question.md │ └── ---feature-request.md ├── PULL_REQUEST_TEMPLATE.md ├── release.yml └── workflows │ ├── auto-merge.yml │ ├── build.yml │ ├── conventional-labels.yml │ ├── deploy.yml │ ├── emoji-helper.yml │ └── release-notify.yml ├── .gitignore ├── .lintmdrc ├── .prettierignore ├── .prettierrc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── CONTRIBUTING.zh-CN.md ├── LICENSE ├── README.en-US.md ├── README.md ├── __tests__ ├── bugs │ ├── bar-axis-label-spec.ts │ ├── bar-changedata-spec.ts │ ├── bug-dual-axes-legend-marker-spec.ts │ ├── bug-dual-axes-same-y-spec.ts │ ├── issue-1-spec.ts │ ├── issue-1174-spec.ts │ ├── issue-1245-spec.ts │ ├── issue-1684-spec.ts │ ├── issue-1708-spec.ts │ ├── issue-1754-spec.ts │ ├── issue-1757-spec.ts │ ├── issue-1758-spec.ts │ ├── issue-1761-spec.ts │ ├── issue-1836-spec.ts │ ├── issue-1870-spec.ts │ ├── issue-1882-spec.ts │ ├── issue-1909-spec.ts │ ├── issue-1944-spec.ts │ ├── issue-1970-spec.ts │ ├── issue-2015-spec.ts │ ├── issue-2021-spec.ts │ ├── issue-2054-spec.ts │ ├── issue-2064-spec.ts │ ├── issue-2078-spec.ts │ ├── issue-2080-spec.ts │ ├── issue-2096-spec.ts │ ├── issue-2105-spec.ts │ ├── issue-2111-spec.ts │ ├── issue-2116-spec.ts │ ├── issue-2122-spec.ts │ ├── issue-2124-spec.ts │ ├── issue-2161-spec.ts │ ├── issue-2180-spec.ts │ ├── issue-2203-spec.ts │ ├── issue-2220-spec.ts │ ├── issue-2229-spec.ts │ ├── issue-2236-spec.ts │ ├── issue-2260-spec.ts │ ├── issue-2264-spec.ts │ ├── issue-2267-spec.ts │ ├── issue-2303-spec.ts │ ├── issue-2352-spec.ts │ ├── issue-2353-spec.ts │ ├── issue-2375-spec.ts │ ├── issue-2394-spec.ts │ ├── issue-2422-spec.ts │ ├── issue-2502-spec.ts │ ├── issue-2572-spec.ts │ ├── issue-2573-spec.ts │ ├── issue-2616-spec.ts │ ├── issue-2636-spec.ts │ ├── issue-2651-spec.ts │ ├── issue-2734-spec.ts │ ├── issue-2749-spec.ts │ ├── issue-2755-spec.ts │ ├── issue-2783-spec.ts │ ├── issue-2881-spec.ts │ ├── issue-2906-spec.ts │ ├── issue-2908-spec.ts │ ├── issue-292-spec.ts │ ├── issue-2930-spec.ts │ ├── issue-294-spec.ts │ ├── issue-3012-spec.ts │ ├── issue-3084-spec.ts │ ├── issue-3085-spec.ts │ ├── issue-3200-spec.ts │ ├── issue-3262-spec.ts │ ├── issue-3367-spec.ts │ ├── issue-3804-spec.ts │ ├── issue-968-spec.ts │ ├── issue-charts-367-spec.ts │ └── pie-statistic-spec.ts ├── data │ ├── antv-star.ts │ ├── area.ts │ ├── baby-names.ts │ ├── basic-heatmap.ts │ ├── bi-directional.ts │ ├── box.ts │ ├── bullet.ts │ ├── chord-population.ts │ ├── circle-packing.ts │ ├── common.ts │ ├── conversion.ts │ ├── country-economy.ts │ ├── fireworks-sales.ts │ ├── gender.ts │ ├── global-oil-new.ts │ ├── heatmap.ts │ ├── histogram-data.ts │ ├── income.ts │ ├── life-expectancy.ts │ ├── mix-data.ts │ ├── mobile.ts │ ├── nintendo.ts │ ├── parallel-set.ts │ ├── party-support.ts │ ├── pv-uv.ts │ ├── radar.ts │ ├── sales.ts │ ├── sankey-energy.ts │ ├── stock.ts │ ├── sunburst.ts │ ├── treemap-nest.ts │ ├── treemap.ts │ └── violin.ts ├── unit │ ├── adaptor │ │ ├── common-spec.ts │ │ ├── connected-area-spec.ts │ │ ├── conversion-tag-spec.ts │ │ ├── geometries │ │ │ ├── base-spec.ts │ │ │ ├── interval-spec.ts │ │ │ └── schema-spec.ts │ │ └── pattern-spec.ts │ ├── core │ │ ├── global-spec.ts │ │ ├── index-spec.ts │ │ ├── locale-spec.ts │ │ └── pie-state-spec.ts │ ├── index-spec.ts │ ├── interactions │ │ ├── brush-spec.ts │ │ └── drill-down-spec.ts │ ├── lab-spec.ts │ ├── plots │ │ ├── area │ │ │ ├── animation-spec.ts │ │ │ ├── annotation-spec.ts │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── limit-in-plot-spec.ts │ │ │ ├── line-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ ├── percent-spec.ts │ │ │ ├── point-spec.ts │ │ │ ├── shape-spec.ts │ │ │ ├── stack-spec.ts │ │ │ ├── start-on-zero-spec.ts │ │ │ ├── state-spec.ts │ │ │ ├── style-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── y-meta-min-max-spec.ts │ │ ├── bar │ │ │ ├── annotation-spec.ts │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── interaction-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── limit-in-plot-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ ├── stacked-grouped-spec.ts │ │ │ ├── style-spec.ts │ │ │ └── y-meta-min-max-spec.ts │ │ ├── bidirectional-bar │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── interaction-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── layout-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── limit-in-plot-spec.ts │ │ │ ├── meta-spec.ts │ │ │ ├── state-spec.ts │ │ │ ├── style-spec.ts │ │ │ ├── update-spec.ts │ │ │ └── utils-spec.ts │ │ ├── box │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── group-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── outliers-spec.ts │ │ │ ├── state-spec.ts │ │ │ ├── style-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── utils-spec.ts │ │ ├── bullet │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── layout-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── style-spec.ts │ │ │ └── tooltip-spec.ts │ │ ├── chord │ │ │ ├── index-spec.ts │ │ │ ├── state-spec.ts │ │ │ └── tooltip-spec.ts │ │ ├── circle-packing │ │ │ ├── animation-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ └── tooltip-spec.ts │ │ ├── column │ │ │ ├── annotation-spec.ts │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── interaction-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── limit-in-plot-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ ├── percent-spec.ts │ │ │ ├── range-spec.ts │ │ │ ├── scrollbar-spec.ts │ │ │ ├── stack-group-percent-spec.ts │ │ │ ├── stack-group-spec.ts │ │ │ ├── style-spec.ts │ │ │ ├── update-spec.ts │ │ │ └── y-meta-min-max-spec.ts │ │ ├── dual-axes │ │ │ ├── annotation-spec.ts │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── color-spec.ts │ │ │ ├── column-spec.ts │ │ │ ├── default-options-spec.ts │ │ │ ├── group-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── interaction-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── limit-in-plot-spec.ts │ │ │ ├── line-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ ├── point-spec.ts │ │ │ ├── slider-spec.ts │ │ │ ├── stack-spec.ts │ │ │ ├── state-spec.ts │ │ │ ├── theme-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── util │ │ │ │ └── option-spec.ts │ │ ├── facet │ │ │ ├── animation-spec.ts │ │ │ ├── geometries-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── use-plot-spec.ts │ │ │ └── utils-spec.ts │ │ ├── funnel │ │ │ ├── basic-spec.ts │ │ │ ├── compare-spec.ts │ │ │ ├── conversion-tag-spec.ts │ │ │ ├── dynamic-height-spec.ts │ │ │ ├── facet-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── state-spec.ts │ │ │ ├── style-spec.ts │ │ │ └── tooltip-spec.ts │ │ ├── gauge │ │ │ ├── index-spec.ts │ │ │ ├── shapes │ │ │ │ └── index-spec.ts │ │ │ ├── statistic-spec.ts │ │ │ ├── style-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── utils-spec.ts │ │ ├── heatmap │ │ │ ├── axis-spec.ts │ │ │ ├── coordinate-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ ├── shape-spec.ts │ │ │ ├── size-spec.ts │ │ │ ├── state-spec.ts │ │ │ ├── style-spec.ts │ │ │ ├── theme-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── type-spec.ts │ │ ├── histogram │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── interaction-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ ├── style-spec.ts │ │ │ └── tooltip-spec.ts │ │ ├── line │ │ │ ├── animation-spec.ts │ │ │ ├── annotation-spec.ts │ │ │ ├── area-spec.ts │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── interaction-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── limit-in-plot-spec.ts │ │ │ ├── line-mapping-spec.ts │ │ │ ├── point-spec.ts │ │ │ ├── shape-spec.ts │ │ │ ├── stack-spec.ts │ │ │ ├── step-type-spec.ts │ │ │ ├── style-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── y-meta-min-max-spec.ts │ │ ├── liquid │ │ │ ├── color-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── liquid-shape-spec.ts │ │ │ ├── liquid-style-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ └── statistic-spec.ts │ │ ├── multi-view │ │ │ ├── index-spec.ts │ │ │ ├── interactions │ │ │ │ └── association-spec.ts │ │ │ ├── multi-pie-spec.ts │ │ │ ├── multi-plots-spec.ts │ │ │ ├── state-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── utils-spec.ts │ │ ├── pie │ │ │ ├── annotation-spec.ts │ │ │ ├── coordinate-spec.ts │ │ │ ├── data-spec.ts │ │ │ ├── html-statistic-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── interaction-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ ├── state-spec.ts │ │ │ ├── statistic-spec.ts │ │ │ ├── theme-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── utils-spec.ts │ │ ├── progress │ │ │ ├── index-spec.ts │ │ │ └── utils-spec.ts │ │ ├── radar │ │ │ ├── annotation-spec.ts │ │ │ ├── area-spec.ts │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── coordinate-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── point-spec.ts │ │ │ ├── style-spec.ts │ │ │ └── tooltip-spec.ts │ │ ├── radial-bar │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ ├── style-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── utils-spec.ts │ │ ├── ring-progress │ │ │ ├── index-spec.ts │ │ │ └── statistic-spec.ts │ │ ├── rose │ │ │ ├── animation-spec.ts │ │ │ ├── annotation-spec.ts │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── coordinate-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ ├── style-spec.ts │ │ │ └── tooltip-spec.ts │ │ ├── sankey │ │ │ ├── adaptor-spec.ts │ │ │ ├── animation-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── circle-spec.ts │ │ │ ├── depth-spec.ts │ │ │ ├── draggable-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── interations-spec.ts │ │ │ ├── layout-spec.ts │ │ │ ├── node-link-spec.ts │ │ │ ├── sankey │ │ │ │ └── monkey-spec.ts │ │ │ ├── state-spec.ts │ │ │ └── type-spec.ts │ │ ├── scatter │ │ │ ├── annotation-spec.ts │ │ │ ├── axis-spec.ts │ │ │ ├── color-spec.ts │ │ │ ├── data-spec.ts │ │ │ ├── default-config-spec.ts │ │ │ ├── interaction-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── quadrant-spec.ts │ │ │ ├── regression-line-spec.ts │ │ │ ├── shape-spec.ts │ │ │ ├── size-spec.ts │ │ │ ├── style-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── util-spec.ts │ │ ├── stock │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── color-spec.ts │ │ │ ├── data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── style-spec.ts │ │ │ └── tooltip-spec.ts │ │ ├── sunburst │ │ │ ├── change-data-spec.ts │ │ │ ├── drill-down-spec.ts │ │ │ ├── field-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── treemap-spec.ts │ │ ├── tiny-area │ │ │ ├── change-data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ └── theme-spec.ts │ │ ├── tiny-column │ │ │ ├── change-data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ └── theme-spec.ts │ │ ├── tiny-line │ │ │ ├── change-data-spec.ts │ │ │ ├── get-tiny-data-spec.ts │ │ │ ├── index-spec.ts │ │ │ └── theme-spec.ts │ │ ├── treemap │ │ │ ├── axis-spec.ts │ │ │ ├── basic-spec.ts │ │ │ ├── color-spec.ts │ │ │ ├── interactions │ │ │ │ ├── drill-down-spec.ts │ │ │ │ ├── treemap-drill-down-spec.ts │ │ │ │ └── view-zoom-spec.ts │ │ │ ├── lable-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── pattern-spec.ts │ │ │ ├── rect-style-spec.ts │ │ │ ├── sort-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ ├── treemap-nest-spec.ts │ │ │ └── utils-spec.ts │ │ ├── venn │ │ │ ├── blend-spec.ts │ │ │ ├── color-spec.ts │ │ │ ├── data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── interaction-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── padding-spec.ts │ │ │ ├── style-spec.ts │ │ │ └── tooltip-spec.ts │ │ ├── violin │ │ │ ├── animation-spec.ts │ │ │ ├── annotation-spec.ts │ │ │ ├── axis-spec.ts │ │ │ ├── box-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── state-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ ├── utils-spec.ts │ │ │ └── violin-shape-spec.ts │ │ ├── waterfall │ │ │ ├── annotation-spec.ts │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── component-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── shape-spec.ts │ │ │ ├── state-sepc.ts │ │ │ ├── style-spec.ts │ │ │ └── utils-spec.ts │ │ └── word-cloud │ │ │ ├── animation-spec.ts │ │ │ ├── axis-spec.ts │ │ │ ├── change-data-spec.ts │ │ │ ├── color-spec.ts │ │ │ ├── index-spec.ts │ │ │ ├── label-spec.ts │ │ │ ├── legend-spec.ts │ │ │ ├── style-spec.ts │ │ │ ├── tooltip-spec.ts │ │ │ └── utils-spec.ts │ ├── plugin │ │ ├── index-spec.ts │ │ └── step-line.ts │ └── utils │ │ ├── color │ │ └── blend-spec.ts │ │ ├── conversion-spec.ts │ │ ├── data-spec.ts │ │ ├── deep-assign-spec.ts │ │ ├── dom-spec.ts │ │ ├── flow-spec.ts │ │ ├── geometry-spec.ts │ │ ├── get-meta-spec.ts │ │ ├── hierarchy │ │ ├── partition-spec.ts │ │ ├── treemap-spec.ts │ │ └── util-spec.ts │ │ ├── invariant-spec.ts │ │ ├── is-between-spec.ts │ │ ├── kebab-case-spec.ts │ │ ├── matrix-spec.ts │ │ ├── measure-text-spec.ts │ │ ├── number-spec.ts │ │ ├── padding-spec.ts │ │ ├── path-spec.ts │ │ ├── pattern │ │ ├── dot-spec.ts │ │ ├── index-spec.ts │ │ ├── line-spec.ts │ │ ├── square-spec.ts │ │ └── util-spec.ts │ │ ├── pick-spec.ts │ │ ├── statistic-spec.ts │ │ ├── template-spec.ts │ │ ├── tooltip-spec.ts │ │ ├── transform-label-spec.ts │ │ ├── transform │ │ ├── chord-spec.ts │ │ ├── deepPercent-spec.ts │ │ ├── histogram-spec.ts │ │ ├── percent-spec.ts │ │ ├── quantile-spec.ts │ │ └── word-cloud-spec.ts │ │ └── view-spec.ts └── utils │ ├── delay.ts │ ├── dom.ts │ ├── event.ts │ ├── getPixelColor.ts │ └── number.ts ├── api-extractor.json ├── jest.config.js ├── jest.setup.js ├── package.json ├── scripts └── manual.ts ├── site ├── .dumi │ ├── github-markdown-light.css │ ├── global.ts │ ├── prism-one-light.css │ └── style.css ├── .dumirc.ts ├── CNAME ├── docs │ ├── api │ │ ├── advanced-plots │ │ │ ├── facet.en.md │ │ │ ├── facet.zh.md │ │ │ ├── mix.en.md │ │ │ └── mix.zh.md │ │ ├── components │ │ │ ├── annotations.en.md │ │ │ ├── annotations.zh.md │ │ │ ├── axis.en.md │ │ │ ├── axis.zh.md │ │ │ ├── conversion-tag.en.md │ │ │ ├── conversion-tag.zh.md │ │ │ ├── label.en.md │ │ │ ├── label.zh.md │ │ │ ├── legend.en.md │ │ │ ├── legend.zh.md │ │ │ ├── scrollbar.en.md │ │ │ ├── scrollbar.zh.md │ │ │ ├── slider.en.md │ │ │ ├── slider.zh.md │ │ │ ├── statistic.en.md │ │ │ ├── statistic.zh.md │ │ │ ├── tooltip.en.md │ │ │ └── tooltip.zh.md │ │ ├── graphic-style.en.md │ │ ├── graphic-style.zh.md │ │ ├── options │ │ │ ├── animation.en.md │ │ │ ├── animation.zh.md │ │ │ ├── events.en.md │ │ │ ├── events.zh.md │ │ │ ├── g2plot.en.md │ │ │ ├── g2plot.zh.md │ │ │ ├── interactions.en.md │ │ │ ├── interactions.zh.md │ │ │ ├── meta.en.md │ │ │ ├── meta.zh.md │ │ │ ├── pattern.en.md │ │ │ ├── pattern.zh.md │ │ │ ├── shape.en.md │ │ │ ├── shape.zh.md │ │ │ ├── theme.en.md │ │ │ └── theme.zh.md │ │ ├── plot-api.en.md │ │ ├── plot-api.zh.md │ │ └── plots │ │ │ ├── area.en.md │ │ │ ├── area.zh.md │ │ │ ├── bar.en.md │ │ │ ├── bar.zh.md │ │ │ ├── bidirectional-bar.en.md │ │ │ ├── bidirectional-bar.zh.md │ │ │ ├── box.en.md │ │ │ ├── box.zh.md │ │ │ ├── bullet.en.md │ │ │ ├── bullet.zh.md │ │ │ ├── circle-packing.en.md │ │ │ ├── circle-packing.zh.md │ │ │ ├── column.en.md │ │ │ ├── column.zh.md │ │ │ ├── dual-axes.en.md │ │ │ ├── dual-axes.zh.md │ │ │ ├── funnel.en.md │ │ │ ├── funnel.zh.md │ │ │ ├── gauge.en.md │ │ │ ├── gauge.zh.md │ │ │ ├── heatmap.en.md │ │ │ ├── heatmap.zh.md │ │ │ ├── histogram.en.md │ │ │ ├── histogram.zh.md │ │ │ ├── line.en.md │ │ │ ├── line.zh.md │ │ │ ├── liquid.en.md │ │ │ ├── liquid.zh.md │ │ │ ├── pie.en.md │ │ │ ├── pie.zh.md │ │ │ ├── progress.en.md │ │ │ ├── progress.zh.md │ │ │ ├── radar.en.md │ │ │ ├── radar.zh.md │ │ │ ├── radial-bar.en.md │ │ │ ├── radial-bar.zh.md │ │ │ ├── ring-progress.en.md │ │ │ ├── ring-progress.zh.md │ │ │ ├── rose.en.md │ │ │ ├── rose.zh.md │ │ │ ├── sankey.en.md │ │ │ ├── sankey.zh.md │ │ │ ├── scatter.en.md │ │ │ ├── scatter.zh.md │ │ │ ├── stock.en.md │ │ │ ├── stock.zh.md │ │ │ ├── sunburst.en.md │ │ │ ├── sunburst.zh.md │ │ │ ├── tiny-area.en.md │ │ │ ├── tiny-area.zh.md │ │ │ ├── tiny-column.en.md │ │ │ ├── tiny-column.zh.md │ │ │ ├── tiny-line.en.md │ │ │ ├── tiny-line.zh.md │ │ │ ├── treemap.en.md │ │ │ ├── treemap.zh.md │ │ │ ├── venn.en.md │ │ │ ├── venn.zh.md │ │ │ ├── violin.en.md │ │ │ ├── violin.zh.md │ │ │ ├── waterfall.en.md │ │ │ ├── waterfall.zh.md │ │ │ ├── word-cloud.en.md │ │ │ └── word-cloud.zh.md │ ├── common │ │ ├── animate-option.en.md │ │ ├── animate-option.zh.md │ │ ├── annotations.en.md │ │ ├── annotations.zh.md │ │ ├── annotations │ │ │ ├── arc.en.md │ │ │ ├── arc.zh.md │ │ │ ├── base-annotation.en.md │ │ │ ├── base-annotation.zh.md │ │ │ ├── data-marker.en.md │ │ │ ├── data-marker.zh.md │ │ │ ├── data-region.en.md │ │ │ ├── data-region.zh.md │ │ │ ├── html.en.md │ │ │ ├── html.zh.md │ │ │ ├── image.en.md │ │ │ ├── image.zh.md │ │ │ ├── line.en.md │ │ │ ├── line.zh.md │ │ │ ├── region-filter.en.md │ │ │ ├── region-filter.zh.md │ │ │ ├── region.en.md │ │ │ ├── region.zh.md │ │ │ ├── shape.en.md │ │ │ ├── shape.zh.md │ │ │ ├── text.en.md │ │ │ └── text.zh.md │ │ ├── axis.en.md │ │ ├── axis.zh.md │ │ ├── bar-style.en.md │ │ ├── bar-style.zh.md │ │ ├── brush.en.md │ │ ├── brush.zh.md │ │ ├── chart-methods.en.md │ │ ├── chart-methods.zh.md │ │ ├── chart-options.en.md │ │ ├── chart-options.zh.md │ │ ├── chord.en.md │ │ ├── chord.zh.md │ │ ├── color.en.md │ │ ├── color.zh.md │ │ ├── column-style.en.md │ │ ├── column-style.zh.md │ │ ├── common-component.en.md │ │ ├── common-component.zh.md │ │ ├── common-iview.en.md │ │ ├── common-iview.zh.md │ │ ├── component-no-axis.en.md │ │ ├── component-no-axis.zh.md │ │ ├── component-polygon.en.md │ │ ├── component-polygon.zh.md │ │ ├── component-progress.en.md │ │ ├── component-progress.zh.md │ │ ├── component-tiny.en.md │ │ ├── component-tiny.zh.md │ │ ├── component.en.md │ │ ├── component.zh.md │ │ ├── connected-area.en.md │ │ ├── connected-area.zh.md │ │ ├── conversion-tag.en.md │ │ ├── conversion-tag.zh.md │ │ ├── coordinate.en.md │ │ ├── coordinate.zh.md │ │ ├── crosshairs-text.en.md │ │ ├── crosshairs-text.zh.md │ │ ├── data.en.md │ │ ├── data.zh.md │ │ ├── drill-down.en.md │ │ ├── drill-down.zh.md │ │ ├── events.en.md │ │ ├── events.zh.md │ │ ├── facet-title.en.md │ │ ├── facet-title.zh.md │ │ ├── geometry-cfg.en.md │ │ ├── geometry-cfg.zh.md │ │ ├── interactions.en.md │ │ ├── interactions.zh.md │ │ ├── label.en.md │ │ ├── label.zh.md │ │ ├── legend-cfg.en.md │ │ ├── legend-cfg.zh.md │ │ ├── legend.en.md │ │ ├── legend.zh.md │ │ ├── line-style.en.md │ │ ├── line-style.zh.md │ │ ├── marker.en.md │ │ ├── marker.zh.md │ │ ├── meta.en.md │ │ ├── meta.zh.md │ │ ├── pattern.en.md │ │ ├── pattern.zh.md │ │ ├── plot-cfg.en.md │ │ ├── plot-cfg.zh.md │ │ ├── point-style.en.md │ │ ├── point-style.zh.md │ │ ├── scrollbar.en.md │ │ ├── scrollbar.zh.md │ │ ├── shape-style.en.md │ │ ├── shape-style.zh.md │ │ ├── slider.en.md │ │ ├── slider.zh.md │ │ ├── state-style.en.md │ │ ├── state-style.zh.md │ │ ├── statistic.en.md │ │ ├── statistic.zh.md │ │ ├── text-style.en.md │ │ ├── text-style.zh.md │ │ ├── theme.en.md │ │ ├── theme.zh.md │ │ ├── tooltip.en.md │ │ ├── tooltip.zh.md │ │ ├── xy-field.en.md │ │ └── xy-field.zh.md │ ├── manual │ │ ├── contact.en.md │ │ ├── contact.zh.md │ │ ├── faq.en.md │ │ ├── faq.zh.md │ │ ├── getting-started.en.md │ │ ├── getting-started.zh.md │ │ ├── introduction.en.md │ │ ├── introduction.zh.md │ │ ├── plots │ │ │ ├── area.en.md │ │ │ ├── area.zh.md │ │ │ ├── bar.en.md │ │ │ ├── bar.zh.md │ │ │ ├── bullet.en.md │ │ │ ├── bullet.zh.md │ │ │ ├── column.en.md │ │ │ ├── column.zh.md │ │ │ ├── facet.en.md │ │ │ ├── facet.zh.md │ │ │ ├── funnel.en.md │ │ │ ├── funnel.zh.md │ │ │ ├── gauge.en.md │ │ │ ├── gauge.zh.md │ │ │ ├── heatmap.en.md │ │ │ ├── heatmap.zh.md │ │ │ ├── histogram.en.md │ │ │ ├── histogram.zh.md │ │ │ ├── line.en.md │ │ │ ├── line.zh.md │ │ │ ├── liquid.en.md │ │ │ ├── liquid.zh.md │ │ │ ├── pie.en.md │ │ │ ├── pie.zh.md │ │ │ ├── radar.en.md │ │ │ ├── radar.zh.md │ │ │ ├── scatter.en.md │ │ │ ├── scatter.zh.md │ │ │ ├── venn.en.md │ │ │ ├── venn.zh.md │ │ │ ├── violin.en.md │ │ │ ├── violin.zh.md │ │ │ ├── waterfall.en.md │ │ │ └── waterfall.zh.md │ │ ├── plugin.en.md │ │ ├── plugin.zh.md │ │ ├── upgrade.en.md │ │ └── upgrade.zh.md │ └── styles │ │ ├── component.md │ │ └── style.md ├── examples │ ├── area │ │ ├── basic │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic-annotation.ts │ │ │ │ ├── basic-gradients.ts │ │ │ │ ├── basic-slider.ts │ │ │ │ ├── basic.ts │ │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── percent │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── meta.json │ │ │ │ └── pattern.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── stacked │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── area-large-data.ts │ │ │ ├── basic-slider.ts │ │ │ ├── basic.ts │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── bar │ │ ├── basic │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── bar-background.ts │ │ │ │ ├── basic.ts │ │ │ │ ├── color.ts │ │ │ │ ├── conversion-tag.ts │ │ │ │ ├── coordinate.ts │ │ │ │ ├── dynamic.ts │ │ │ │ ├── meta.json │ │ │ │ ├── scrollbar.ts │ │ │ │ ├── shape.ts │ │ │ │ ├── width-ratio.ts │ │ │ │ └── width.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── grouped │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── corner-radius.ts │ │ │ │ ├── dodge-padding.ts │ │ │ │ ├── interval-padding.ts │ │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── percent │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── range │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── stacked │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── basic.ts │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── case │ │ ├── advanced │ │ │ ├── demo │ │ │ │ ├── associate-filter.ts │ │ │ │ ├── associate-pie-tooltip.ts │ │ │ │ ├── conversion-analysis-bar.ts │ │ │ │ ├── conversion-analysis.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── customize │ │ │ ├── demo │ │ │ │ ├── customize-tooltip.ts │ │ │ │ ├── desire-heatmap.ts │ │ │ │ ├── line.ts │ │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── interactions │ │ │ ├── demo │ │ │ │ ├── element-selected.ts │ │ │ │ ├── funnel-element-selected.ts │ │ │ │ ├── meta.json │ │ │ │ └── pie-element-selected.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── statistical-scenario │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── compare-funnel.ts │ │ │ ├── conversion-funnel.ts │ │ │ ├── funnel-analysis.jsx │ │ │ ├── funnel.jsx │ │ │ ├── meta.json │ │ │ ├── pie.ts │ │ │ ├── trend-funnel.ts │ │ │ └── trend.jsx │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── column │ │ ├── basic │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── color.ts │ │ │ │ ├── conversion-tag.ts │ │ │ │ ├── coordinate.ts │ │ │ │ ├── custom-shape.ts │ │ │ │ ├── meta.json │ │ │ │ ├── region-annotation.ts │ │ │ │ ├── scrollbar.ts │ │ │ │ ├── slider.ts │ │ │ │ ├── width-ratio.ts │ │ │ │ └── width.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── grouped │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── corner-radius.ts │ │ │ │ ├── dodge-padding.ts │ │ │ │ ├── interval-padding.ts │ │ │ │ ├── meta.json │ │ │ │ ├── rc-tooltip.jsx │ │ │ │ ├── stacked.ts │ │ │ │ ├── stacked2.ts │ │ │ │ └── tooltip-formatter.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── percent │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── interaction.ts │ │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── range │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── scenario │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── stacked │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── annotation-label.ts │ │ │ ├── basic.ts │ │ │ ├── column-background.ts │ │ │ ├── connect-area.ts │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── component │ │ ├── annotation │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── image-annotation.ts │ │ │ │ ├── line-annotation-accurate.ts │ │ │ │ ├── line-annotation-position.jsx │ │ │ │ ├── line-annotation.ts │ │ │ │ ├── meta.json │ │ │ │ ├── operate-annotation.ts │ │ │ │ ├── region-and-data-marker.ts │ │ │ │ ├── region-annotation.ts │ │ │ │ ├── text-annotation1.ts │ │ │ │ └── text-annotation2.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── label │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── custom-label.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── legend │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── legend-flippage.ts │ │ │ │ ├── legend-focus.ts │ │ │ │ ├── legend-item-cfg.ts │ │ │ │ ├── legend-item-value.ts │ │ │ │ ├── legend-marker-customize.ts │ │ │ │ ├── legend-position.jsx │ │ │ │ ├── legend-radio.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── tooltip │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── html-tooltip.ts │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── dual-axes │ │ ├── column-line │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── column-line.ts │ │ │ │ ├── column-multi-line.ts │ │ │ │ ├── custom-column-line.ts │ │ │ │ ├── demo-more-1.ts │ │ │ │ ├── meta.json │ │ │ │ ├── pattern.ts │ │ │ │ ├── range-column-line.ts │ │ │ │ └── slider-column-line.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── dual-line │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── custom-dual-line.ts │ │ │ │ ├── dual-line.ts │ │ │ │ ├── dual-multi-line.ts │ │ │ │ ├── dual-step-line.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── grouped-column-line │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── custom-grouped-column-line.ts │ │ │ │ ├── grouped-column-line.ts │ │ │ │ ├── grouped-column-multi-line.ts │ │ │ │ ├── meta.json │ │ │ │ └── pattern-with-callback.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── grouped-stacked-line │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── meta.json │ │ │ │ └── stacked-grouped-column-line.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── stacked-column-line │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── custom-stacked-column-line.ts │ │ │ ├── meta.json │ │ │ ├── stacked-column-line.ts │ │ │ ├── stacked-column-multi-line.ts │ │ │ └── stacked-percent-column-line.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── dynamic-plots │ │ ├── animation │ │ │ ├── demo │ │ │ │ ├── animation-column.jsx │ │ │ │ ├── animation-line.jsx │ │ │ │ ├── animation-pie.jsx │ │ │ │ ├── easing-effects.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── basic │ │ │ ├── demo │ │ │ │ ├── dynamic-area.ts │ │ │ │ ├── dynamic-column.ts │ │ │ │ ├── dynamic-gauge.ts │ │ │ │ ├── dynamic-pie.ts │ │ │ │ ├── dynamic-spline.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── brush │ │ │ ├── demo │ │ │ ├── advanced-brush1.ts │ │ │ ├── advanced-brush2.ts │ │ │ ├── advanced-brush3.ts │ │ │ ├── bar-brush.ts │ │ │ ├── column-brush-y-highlight.ts │ │ │ ├── column-brush-y.ts │ │ │ ├── column-brush.ts │ │ │ ├── meta.json │ │ │ ├── scatter-brush-filter.ts │ │ │ └── scatter-brush.jsx │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── general │ │ ├── events │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── conversion-tag-with-link.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── state │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── custom-state-style.ts │ │ │ │ ├── meta.json │ │ │ │ └── set-state.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── theme │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── custom-theme.ts │ │ │ ├── dark.ts │ │ │ ├── meta.json │ │ │ └── register-theme.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── heatmap │ │ ├── basic │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── calendar.ts │ │ │ │ ├── meta.json │ │ │ │ ├── pattern.ts │ │ │ │ ├── polar.ts │ │ │ │ ├── shape.ts │ │ │ │ └── size.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── density │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── basic.ts │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── line │ │ ├── basic │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── custom-marker.ts │ │ │ │ ├── line-annotation.ts │ │ │ │ ├── line-point-style.ts │ │ │ │ ├── line-slider.ts │ │ │ │ ├── line-with-data-marker.ts │ │ │ │ ├── line.ts │ │ │ │ ├── meta.json │ │ │ │ ├── reflect-y.ts │ │ │ │ └── spline.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── multiple │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── line-area.ts │ │ │ │ ├── line-color.ts │ │ │ │ ├── line-grid.ts │ │ │ │ ├── line-label.ts │ │ │ │ ├── line-large-data.ts │ │ │ │ ├── marker-active.ts │ │ │ │ ├── meta.json │ │ │ │ └── style-callback.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── scenario │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── derived-measures-line.ts │ │ │ │ ├── meta.json │ │ │ │ ├── multiple-measures-line.ts │ │ │ │ └── series-multiple-measures-line.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── step │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── line-multiple.ts │ │ │ ├── line.ts │ │ │ └── meta.json │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── more-plots │ │ ├── bidirectional-bar │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── label.ts │ │ │ │ ├── layout.ts │ │ │ │ ├── meta.json │ │ │ │ └── vertical-label.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── box │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── group.ts │ │ │ │ ├── label.ts │ │ │ │ ├── meta-alias.ts │ │ │ │ ├── meta.json │ │ │ │ ├── outliers.ts │ │ │ │ └── tooltip.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── circle-packing │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── custom-padding.ts │ │ │ │ ├── label.ts │ │ │ │ ├── meta.json │ │ │ │ ├── nest.ts │ │ │ │ └── philosopher.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── funnel │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic-transpose.ts │ │ │ │ ├── basic.ts │ │ │ │ ├── compare-transpose.ts │ │ │ │ ├── compare.ts │ │ │ │ ├── dynamic-height-transpose.ts │ │ │ │ ├── dynamic-height.ts │ │ │ │ ├── facet-transpose.ts │ │ │ │ ├── facet.ts │ │ │ │ ├── meta.json │ │ │ │ ├── pyramid.ts │ │ │ │ └── static-field.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── histogram │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── binWidth.ts │ │ │ │ ├── meta.json │ │ │ │ └── stack.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── radar │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── area-alternate-grid.ts │ │ │ │ ├── area-grid.ts │ │ │ │ ├── area.ts │ │ │ │ ├── basic.ts │ │ │ │ ├── line-alternate-grid.ts │ │ │ │ ├── line-grid.ts │ │ │ │ ├── line.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── radial-bar │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── apple-watch-activity.ts │ │ │ │ ├── background.ts │ │ │ │ ├── basic.ts │ │ │ │ ├── color.ts │ │ │ │ ├── grouped.ts │ │ │ │ ├── line.ts │ │ │ │ ├── meta.json │ │ │ │ ├── round-corner.ts │ │ │ │ └── stacked.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── stock │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── custom-color.ts │ │ │ │ ├── custom-crosshairs.ts │ │ │ │ ├── custom-style.ts │ │ │ │ ├── custom-tooltip.ts │ │ │ │ ├── large-data.ts │ │ │ │ ├── meta-alias.ts │ │ │ │ ├── meta.json │ │ │ │ └── slider.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── sunburst │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── active-depth.ts │ │ │ │ ├── basic.ts │ │ │ │ ├── basic2.ts │ │ │ │ ├── color-field.ts │ │ │ │ ├── color.ts │ │ │ │ ├── custom-tooltip-items.ts │ │ │ │ ├── label.ts │ │ │ │ ├── meta.json │ │ │ │ ├── pattern.ts │ │ │ │ ├── style.ts │ │ │ │ └── tooltip-fields.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── treemap │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── drill-down.ts │ │ │ │ ├── meta.json │ │ │ │ └── treemap-nest.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── venn │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── blend-mode.ts │ │ │ │ ├── color.ts │ │ │ │ ├── customize.ts │ │ │ │ ├── element-active.ts │ │ │ │ ├── element-highlight.ts │ │ │ │ ├── interaction.ts │ │ │ │ ├── label.ts │ │ │ │ ├── legend-active.ts │ │ │ │ ├── legend-highlight.ts │ │ │ │ ├── meta.json │ │ │ │ └── tooltip.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── violin │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── group.ts │ │ │ │ ├── meta.json │ │ │ │ ├── shape.ts │ │ │ │ └── tooltip.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── waterfall │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── absolute-label.ts │ │ │ │ ├── annotation.ts │ │ │ │ ├── basic.ts │ │ │ │ ├── custom-color.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── word-cloud │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── basic.ts │ │ │ ├── color-field.ts │ │ │ ├── douban-2020-movie.ts │ │ │ ├── image-mask-base64.ts │ │ │ ├── image-mask.ts │ │ │ ├── meta.json │ │ │ ├── placement-strategy.ts │ │ │ └── same-place.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── pie │ │ ├── basic │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── legend-interaction.ts │ │ │ │ ├── meta.json │ │ │ │ ├── outer-label.ts │ │ │ │ ├── pie-custome-label.ts │ │ │ │ ├── pie-texture.ts │ │ │ │ ├── quarter-circle.ts │ │ │ │ └── spider-label.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── donut │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── basic.ts │ │ │ ├── meta.json │ │ │ └── statistics.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── plugin │ │ ├── association │ │ │ ├── demo │ │ │ │ ├── association-filter.ts │ │ │ │ ├── association-highlight.ts │ │ │ │ ├── association-line.ts │ │ │ │ ├── association-pie.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── basic │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── hill-column.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── custom-pattern │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── meta.json │ │ │ │ ├── pattern1.ts │ │ │ │ ├── pattern2.ts │ │ │ │ └── pattern3.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── custom-shape │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── bar-custom-shape.ts │ │ │ │ ├── conversion-bar-shape.ts │ │ │ │ ├── meta.json │ │ │ │ └── pie-custom-shape.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── facet │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── circle.ts │ │ │ │ ├── column.ts │ │ │ │ ├── list.ts │ │ │ │ ├── matrix.ts │ │ │ │ ├── meta.json │ │ │ │ ├── mirror.ts │ │ │ │ ├── rect.ts │ │ │ │ ├── tree-column.ts │ │ │ │ └── tree.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── multi-view │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── anomaly-detection-line-chart.ts │ │ │ │ ├── brush-filter-record.ts │ │ │ │ ├── combo-plot.ts │ │ │ │ ├── composite-funnel.ts │ │ │ │ ├── customized-stock.jsx │ │ │ │ ├── drinks.ts │ │ │ │ ├── meta.json │ │ │ │ ├── nest-pie.ts │ │ │ │ ├── range-area.ts │ │ │ │ ├── sales-analysis.ts │ │ │ │ └── series-columns.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── pattern │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── area-pattern.ts │ │ │ ├── bar-pattern.ts │ │ │ ├── donut-pattern.ts │ │ │ ├── group-column-pattern.ts │ │ │ ├── heatmap-cookie-pattern.ts │ │ │ ├── heatmap-pattern.ts │ │ │ ├── legend-marker-with-pattern.ts │ │ │ ├── liquid-pattern.ts │ │ │ ├── meta.json │ │ │ ├── pie-pattern.ts │ │ │ ├── stack-bar-pattern.ts │ │ │ └── stacked-group-column-pattern.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── progress-plots │ │ ├── bullet │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── color.ts │ │ │ │ ├── grouped.ts │ │ │ │ ├── layout.ts │ │ │ │ ├── meta.json │ │ │ │ └── stacked.ts │ │ │ ├── design.en.md │ │ │ ├── design.zh.md │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── gauge │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── complex.ts │ │ │ │ ├── custom-color.ts │ │ │ │ ├── custom-indicator.ts │ │ │ │ ├── custom-indicator2.ts │ │ │ │ ├── custom-indicator3.ts │ │ │ │ ├── custom-meter-step.ts │ │ │ │ ├── meta.json │ │ │ │ ├── meter-gauge.ts │ │ │ │ ├── range-width.ts │ │ │ │ ├── simple-indicator.ts │ │ │ │ ├── single-gradient.ts │ │ │ │ └── tooltip-gauge.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── liquid │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── basic.ts │ │ │ ├── custom.ts │ │ │ ├── diamond.ts │ │ │ ├── meta.json │ │ │ ├── outline-style.ts │ │ │ ├── pattern.ts │ │ │ ├── rect.ts │ │ │ └── style.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── relation-plots │ │ ├── chord │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── chord-population.ts │ │ │ │ ├── custom-tooltip.ts │ │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── sankey │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── alipay.ts │ │ │ ├── draggable.ts │ │ │ ├── energy.ts │ │ │ ├── meta.json │ │ │ ├── node-sort-sankey.ts │ │ │ └── set-state.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── rose │ │ ├── basic │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── inner-label.ts │ │ │ │ ├── interaction.ts │ │ │ │ ├── meta.json │ │ │ │ ├── rose-pattern.ts │ │ │ │ └── rose-state.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ ├── grouped │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── basic.ts │ │ │ │ ├── meta.json │ │ │ │ └── pattern.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── stacked │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── basic.ts │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ ├── scatter │ │ ├── bubble │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ │ ├── axis-right.ts │ │ │ │ ├── bubble-3d.ts │ │ │ │ ├── meta.json │ │ │ │ ├── quadrant-tooltip.ts │ │ │ │ └── quadrant.ts │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ │ └── scatter │ │ │ ├── API.en.md │ │ │ ├── API.zh.md │ │ │ ├── demo │ │ │ ├── color-mapping.ts │ │ │ ├── custom-shape.ts │ │ │ ├── label.ts │ │ │ ├── line.ts │ │ │ ├── mapping-color-and-shape.ts │ │ │ └── meta.json │ │ │ ├── index.en.md │ │ │ └── index.zh.md │ └── tiny │ │ ├── progress │ │ ├── API.en.md │ │ ├── API.zh.md │ │ ├── demo │ │ │ ├── meta.json │ │ │ ├── progress-style.ts │ │ │ └── progress.ts │ │ ├── index.en.md │ │ └── index.zh.md │ │ ├── ring-progress │ │ ├── API.en.md │ │ ├── API.zh.md │ │ ├── demo │ │ │ ├── meta.json │ │ │ ├── ring-progress-style.ts │ │ │ └── ring-progress.ts │ │ ├── index.en.md │ │ └── index.zh.md │ │ ├── tiny-area │ │ ├── API.en.md │ │ ├── API.zh.md │ │ ├── demo │ │ │ ├── area-annotation.ts │ │ │ ├── basic-area.ts │ │ │ ├── filled-area.ts │ │ │ ├── meta.json │ │ │ └── pattern.ts │ │ ├── index.en.md │ │ └── index.zh.md │ │ ├── tiny-column │ │ ├── API.en.md │ │ ├── API.zh.md │ │ ├── demo │ │ │ ├── basic-column.ts │ │ │ ├── column-annotation.ts │ │ │ ├── meta.json │ │ │ └── tiny-column-pattern.ts │ │ ├── index.en.md │ │ └── index.zh.md │ │ └── tiny-line │ │ ├── API.en.md │ │ ├── API.zh.md │ │ ├── demo │ │ ├── basic-line.ts │ │ ├── line-annotation.ts │ │ └── meta.json │ │ ├── index.en.md │ │ └── index.zh.md ├── package.json └── tsconfig.json ├── src ├── adaptor │ ├── brush.ts │ ├── common.ts │ ├── connected-area.ts │ ├── conversion-tag.ts │ ├── geometries │ │ ├── area.ts │ │ ├── base.ts │ │ ├── edge.ts │ │ ├── index.ts │ │ ├── interval.ts │ │ ├── line.ts │ │ ├── point.ts │ │ ├── polygon.ts │ │ ├── schema.ts │ │ └── violin.ts │ └── pattern.ts ├── constant.ts ├── core │ ├── adaptor.ts │ ├── global.ts │ ├── locale.ts │ └── plot.ts ├── index.ts ├── interactions │ ├── actions │ │ ├── drill-down.ts │ │ └── reset-button.ts │ ├── brush.ts │ ├── drag-move.ts │ └── drill-down.ts ├── lab.ts ├── locales │ ├── en_US.ts │ └── zh_CN.ts ├── plots │ ├── _template │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ └── types.ts │ ├── area │ │ ├── adaptor.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ └── types.ts │ ├── bar │ │ ├── adaptor.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ └── types.ts │ ├── bidirectional-bar │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── box │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── bullet │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── chord │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ └── types.ts │ ├── circle-packing │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── interactions │ │ │ └── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── column │ │ ├── adaptor.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ └── types.ts │ ├── dual-axes │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── util │ │ │ ├── geometry.ts │ │ │ ├── legend.ts │ │ │ ├── option.ts │ │ │ └── render-sider.ts │ ├── facet │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── funnel │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── geometries │ │ │ ├── basic.ts │ │ │ ├── common.ts │ │ │ ├── compare.ts │ │ │ ├── dynamic-height.ts │ │ │ └── facet.ts │ │ ├── index.ts │ │ ├── interactions │ │ │ ├── funnel-conversion-tag.ts │ │ │ └── index.ts │ │ └── types.ts │ ├── gauge │ │ ├── adaptor.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ ├── shapes │ │ │ ├── indicator.ts │ │ │ └── meter-gauge.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── heatmap │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── shapes │ │ │ ├── circle.ts │ │ │ └── square.ts │ │ └── types.ts │ ├── histogram │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ └── types.ts │ ├── line │ │ ├── adaptor.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ ├── interactions │ │ │ ├── index.ts │ │ │ └── marker-active.ts │ │ └── types.ts │ ├── liquid │ │ ├── adaptor.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ ├── shapes │ │ │ └── liquid.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── mix │ │ ├── adaptor.ts │ │ ├── index.ts │ │ ├── interactions │ │ │ ├── association.ts │ │ │ ├── index.ts │ │ │ └── utils.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── pie │ │ ├── adaptor.ts │ │ ├── contants.ts │ │ ├── index.ts │ │ ├── interactions │ │ │ ├── actions │ │ │ │ ├── legend-active.ts │ │ │ │ └── statistic-active.ts │ │ │ ├── index.ts │ │ │ └── util.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── progress │ │ ├── adaptor.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── radar │ │ ├── adaptor.ts │ │ ├── index.ts │ │ ├── interactions │ │ │ ├── index.ts │ │ │ └── radar-tooltip-action.ts │ │ └── types.ts │ ├── radial-bar │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── ring-progress │ │ ├── adaptor.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ └── types.ts │ ├── rose │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ └── types.ts │ ├── sankey │ │ ├── adaptor.ts │ │ ├── circle.ts │ │ ├── constant.ts │ │ ├── helper.ts │ │ ├── index.ts │ │ ├── interactions │ │ │ ├── actions │ │ │ │ └── node-drag.ts │ │ │ ├── index.ts │ │ │ └── node-draggable.ts │ │ ├── layout.ts │ │ ├── sankey │ │ │ ├── align.ts │ │ │ ├── helper.ts │ │ │ ├── index.ts │ │ │ └── sankey.ts │ │ └── types.ts │ ├── scatter │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── interactions │ │ │ └── index.ts │ │ ├── types.ts │ │ └── util.ts │ ├── stock │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── sunburst │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── interactions │ │ │ └── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── tiny-area │ │ ├── adaptor.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ └── types.ts │ ├── tiny-column │ │ ├── adaptor.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ └── types.ts │ ├── tiny-line │ │ ├── adaptor.ts │ │ ├── constants.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── treemap │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── interactions │ │ │ └── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── venn │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── interactions │ │ │ ├── actions │ │ │ │ ├── active.ts │ │ │ │ ├── highlight.ts │ │ │ │ └── selected.ts │ │ │ ├── index.ts │ │ │ └── util.ts │ │ ├── label.ts │ │ ├── layout │ │ │ ├── circleintersection.ts │ │ │ ├── diagram.ts │ │ │ └── layout.ts │ │ ├── shape.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── violin │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── waterfall │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── shape.ts │ │ ├── types.ts │ │ └── utils.ts │ └── word-cloud │ │ ├── adaptor.ts │ │ ├── constant.ts │ │ ├── index.ts │ │ ├── shapes │ │ └── word-cloud.ts │ │ ├── types.ts │ │ └── utils.ts ├── plugin │ └── index.ts ├── types │ ├── animation.ts │ ├── annotation.ts │ ├── attr.ts │ ├── axis.ts │ ├── button.ts │ ├── common.ts │ ├── coordinate.ts │ ├── drill-down.ts │ ├── index.ts │ ├── interaction.ts │ ├── label.ts │ ├── legend.ts │ ├── locale.ts │ ├── meta.ts │ ├── pattern.ts │ ├── relation-data.ts │ ├── scrollbar.ts │ ├── slider.ts │ ├── state.ts │ ├── statistic.ts │ └── tooltip.ts └── utils │ ├── color │ └── blend.ts │ ├── context.ts │ ├── conversion.ts │ ├── data.ts │ ├── deep-assign.ts │ ├── dom.ts │ ├── flow.ts │ ├── geometry.ts │ ├── hierarchy │ ├── pack.ts │ ├── partition.ts │ ├── treemap.ts │ ├── types.ts │ └── util.ts │ ├── index.ts │ ├── invariant.ts │ ├── kebab-case.ts │ ├── label.ts │ ├── matrix.ts │ ├── measure-text.ts │ ├── number.ts │ ├── padding.ts │ ├── path.ts │ ├── pattern │ ├── dot.ts │ ├── index.ts │ ├── line.ts │ ├── square.ts │ └── util.ts │ ├── pick.ts │ ├── statistic.ts │ ├── template.ts │ ├── tooltip.ts │ ├── transform │ ├── chord.ts │ ├── histogram.ts │ ├── percent.ts │ ├── quantile.ts │ ├── sankey.ts │ └── word-cloud.ts │ └── view.ts ├── tsconfig.json └── webpack.config.js /.commitlintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@commitlint/config-angular'], 3 | rules: { 4 | 'type-enum': [ 5 | 2, 6 | 'always', 7 | ['build', 'chore', 'ci', 'docs', 'feat', 'fix', 'perf', 'refactor', 'revert', 'style', 'test', 'wip'], 8 | ], 9 | }, 10 | }; 11 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | # Unix-style newlines with a newline ending every file 7 | [*] 8 | end_of_line = lf 9 | charset = utf-8 10 | insert_final_newline = true 11 | trim_trailing_whitespace = true 12 | indent_style = space 13 | indent_size = 2 14 | 15 | [Makefile] 16 | indent_style = tab 17 | indent_size = 1 18 | 19 | [*.md] 20 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist/ 3 | test 4 | build/ -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/---ask-for-question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F914 Ask for question" 3 | about: Look for some help or ask question 4 | title: "\U0001F914 [QUESTION]" 5 | labels: Question 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### 🐛 Question description [Please make everyone to understand it] 11 | 12 | ### 💻 Link to minimal reproduction 13 | 14 | Please provide a link by forking these links [g2plot](https://codesandbox.io/s/g2plot-reproduction-template-gyej1) or GitHub repo. What is a minimal reproduction, and why is it required? 15 | 16 | ### 🏞 Expected result 17 | 18 | ### 🚑 Any additional [like screenshots] 19 | 20 | * **G2Plot Version**: 21 | * **Platform**: 22 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/---feature-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F970 Feature request" 3 | about: Suggest an idea for this project 4 | title: "\U0001F970 [FEATURE]" 5 | labels: Feature 6 | assignees: '' 7 | 8 | --- 9 | 10 | ### 🥰 Features description [Please make everyone to understand it] 11 | 12 | ### 🏞 What problem does this feature solve 13 | 14 | ### 🧐 What does the proposed API look like 15 | 16 | ### 🚑 Any additional [like screenshots] 17 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### PR includes 2 | 3 | 4 | - [ ] fixed #0 5 | - [ ] add / modify test cases 6 | - [ ] documents, demos 7 | 8 | ### Screenshot 9 | 10 | | Before | After | 11 | |----|----| 12 | | ❌ | ✅ | 13 | -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- 1 | # .github/release.yml 2 | 3 | changelog: 4 | exclude: 5 | labels: 6 | - ignore-for-release 7 | - chore 8 | categories: 9 | - title: 🎉 New Features 10 | labels: 11 | - feature 12 | - enhancement 13 | - title: 📖 Documentation Changes 14 | labels: 15 | - documentation 16 | - title: 🐛 Bug Fixes 17 | labels: 18 | - bugfix 19 | - title: 🛠 Breaking Changes 20 | labels: 21 | - breaking 22 | - title: Other Changes 23 | labels: 24 | - "*" 25 | -------------------------------------------------------------------------------- /.github/workflows/conventional-labels.yml: -------------------------------------------------------------------------------- 1 | # Warning, do not check out untrusted code with 2 | # the pull_request_target event. 3 | on: 4 | pull_request_target: 5 | types: [ opened, edited ] 6 | name: conventional-release-labels 7 | jobs: 8 | label: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: bcoe/conventional-release-labels@v1 12 | with: 13 | token: ${{ secrets.GITHUB_TOKEN }} 14 | type_labels: '{"feat": "feature", "fix": "bugfix", "breaking": "breaking", "docs": "documentation", "chore": "chore"}' -------------------------------------------------------------------------------- /.github/workflows/emoji-helper.yml: -------------------------------------------------------------------------------- 1 | name: Emoji Helper 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | emoji: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions-cool/emoji-helper@v1.0.0 12 | with: 13 | type: 'release' 14 | emoji: '+1, laugh, heart, hooray, rocket, eyes' 15 | -------------------------------------------------------------------------------- /.lintmdrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "no-long-code": 0 4 | } 5 | } -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | stats.json 2 | .cache 3 | dist 4 | .umi 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "singleQuote": true, 4 | "trailingComma": "es5", 5 | "bracketSpacing": true, 6 | "printWidth": 120, 7 | "arrowParens": "always", 8 | "endOfLine": "auto" 9 | } 10 | -------------------------------------------------------------------------------- /__tests__/bugs/issue-1-spec.ts: -------------------------------------------------------------------------------- 1 | describe('#1', () => { 2 | it('example', () => { 3 | expect(1).toBe(1); 4 | }); 5 | }); 6 | -------------------------------------------------------------------------------- /__tests__/bugs/issue-1754-spec.ts: -------------------------------------------------------------------------------- 1 | import { WordCloud } from '../../src'; 2 | import { CountryEconomy } from '../data/country-economy'; 3 | import { createDiv } from '../utils/dom'; 4 | 5 | describe('issue 1754', () => { 6 | it('customContent', () => { 7 | const cloud = new WordCloud(createDiv(), { 8 | width: 400, 9 | height: 300, 10 | data: CountryEconomy, 11 | wordField: 'Country', 12 | weightField: 'GDP', 13 | }); 14 | 15 | cloud.render(); 16 | 17 | // @ts-ignore 18 | expect(cloud.chart.getOptions().tooltip.fields).toEqual(['text', 'value', 'color']); 19 | 20 | cloud.destroy(); 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /__tests__/bugs/issue-2616-spec.ts: -------------------------------------------------------------------------------- 1 | import { Funnel } from '../../src'; 2 | import { createDiv } from '../utils/dom'; 3 | 4 | describe('#2616', () => { 5 | it('funel data is empty', () => { 6 | const funnelPlot = new Funnel(createDiv(), { 7 | data: [], 8 | xField: 'stage', 9 | yField: 'number', 10 | legend: false, 11 | }); 12 | 13 | expect(() => { 14 | funnelPlot.render(); 15 | funnelPlot.destroy(); 16 | }).not.toThrow(); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /__tests__/bugs/issue-3262-spec.ts: -------------------------------------------------------------------------------- 1 | import { Gauge } from '../../src'; 2 | import { createDiv } from '../utils/dom'; 3 | 4 | describe('#3262', () => { 5 | it('gauge percent 0', () => { 6 | const gauge = new Gauge(createDiv(), { 7 | percent: 0, 8 | }); 9 | 10 | gauge.render(); 11 | 12 | expect(gauge.chart.views[1].getOptions().data.length).toBe(2); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /__tests__/data/antv-star.ts: -------------------------------------------------------------------------------- 1 | export const antvStar = [ 2 | { name: 'X6', star: 297 }, 3 | { name: 'G', star: 506 }, 4 | { name: 'AVA', star: 805 }, 5 | { name: 'G2Plot', star: 1478 }, 6 | { name: 'L7', star: 2029 }, 7 | { name: 'F2', star: 7346 }, 8 | { name: 'G6', star: 7100 }, 9 | { name: 'G2', star: 10178 }, 10 | ]; 11 | -------------------------------------------------------------------------------- /__tests__/data/bi-directional.ts: -------------------------------------------------------------------------------- 1 | export const data = [ 2 | { country: '乌拉圭', '2016年耕地总面积': 13.4, '2016年转基因种植面积': 12.3 }, 3 | { country: '巴拉圭', '2016年耕地总面积': 14.4, '2016年转基因种植面积': 6.3 }, 4 | { country: '南非', '2016年耕地总面积': 18.4, '2016年转基因种植面积': 8.3 }, 5 | { country: '巴基斯坦', '2016年耕地总面积': 34.4, '2016年转基因种植面积': 13.8 }, 6 | { country: '阿根廷', '2016年耕地总面积': 44.4, '2016年转基因种植面积': 19.5 }, 7 | { country: '巴西', '2016年耕地总面积': 24.4, '2016年转基因种植面积': 18.8 }, 8 | { country: '加拿大', '2016年耕地总面积': 54.4, '2016年转基因种植面积': 24.7 }, 9 | { country: '中国', '2016年耕地总面积': 104.4, '2016年转基因种植面积': 5.3 }, 10 | { country: '美国', '2016年耕地总面积': 165.2, '2016年转基因种植面积': 72.9 }, 11 | ]; 12 | -------------------------------------------------------------------------------- /__tests__/data/bullet.ts: -------------------------------------------------------------------------------- 1 | export const bulletData = [{ title: '数学', ranges: [30, 50, 100], measures: [20], target: 85 }]; 2 | 3 | export const bulletDatas = [{ title: '数学', ranges: [30, 50, 100], measures: [20, 30], target: 85 }]; 4 | -------------------------------------------------------------------------------- /__tests__/unit/core/global-spec.ts: -------------------------------------------------------------------------------- 1 | import { GLOBAL, setGlobal } from '../../../src/core/global'; 2 | 3 | describe('global variables', () => { 4 | it('global locale', () => { 5 | // 单测环境,默认 中文 6 | expect(GLOBAL.locale).toBe('zh-CN'); 7 | }); 8 | 9 | it('setGlobal', () => { 10 | setGlobal({ locale: 'en-US' }); 11 | expect(GLOBAL.locale).toBe('en-US'); 12 | }); 13 | }); 14 | -------------------------------------------------------------------------------- /__tests__/unit/index-spec.ts: -------------------------------------------------------------------------------- 1 | import pkg from '../../package.json'; 2 | import { adaptors, version } from '../../src'; 3 | 4 | describe('index', () => { 5 | it('version', () => { 6 | expect(version).toBe(pkg.version); 7 | }); 8 | 9 | it('export common adaptors', () => { 10 | expect(adaptors.scale).toBeDefined(); 11 | expect(adaptors.tooltip).toBeDefined(); 12 | expect(adaptors.legend).toBeDefined(); 13 | expect(adaptors.animation).toBeDefined(); 14 | expect(adaptors.interaction).toBeDefined(); 15 | expect(adaptors.annotation).toBeDefined(); 16 | expect(adaptors.theme).toBeDefined(); 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /__tests__/unit/plots/treemap/axis-spec.ts: -------------------------------------------------------------------------------- 1 | import { Treemap } from '../../../../src'; 2 | import { TREEMAP } from '../../../data/treemap'; 3 | import { createDiv } from '../../../utils/dom'; 4 | 5 | describe('treemap axis', () => { 6 | it('treemap axis', () => { 7 | const treemapPlot = new Treemap(createDiv(), { 8 | data: TREEMAP, 9 | colorField: 'name', 10 | }); 11 | 12 | treemapPlot.render(); 13 | 14 | // @ts-ignore 15 | expect(treemapPlot.chart.getController('axis').option).toBeFalsy(); 16 | 17 | treemapPlot.destroy(); 18 | }); 19 | }); 20 | -------------------------------------------------------------------------------- /__tests__/unit/plots/word-cloud/axis-spec.ts: -------------------------------------------------------------------------------- 1 | import { WordCloud } from '../../../../src'; 2 | import { CountryEconomy } from '../../../data/country-economy'; 3 | import { createDiv } from '../../../utils/dom'; 4 | 5 | describe('word-cloud', () => { 6 | it('xAxis & yAxis', () => { 7 | const cloud = new WordCloud(createDiv('x*y'), { 8 | width: 400, 9 | height: 300, 10 | data: CountryEconomy, 11 | wordField: 'Country', 12 | weightField: 'GDP', 13 | }); 14 | 15 | cloud.render(); 16 | 17 | // 不显示轴信息 18 | expect(cloud.chart.getOptions().axes).toBe(false); 19 | 20 | cloud.destroy(); 21 | }); 22 | }); 23 | -------------------------------------------------------------------------------- /__tests__/unit/utils/flow-spec.ts: -------------------------------------------------------------------------------- 1 | import { flow } from '../../../src/utils'; 2 | 3 | describe('flow', () => { 4 | it('flow', () => { 5 | function square(n: number) { 6 | return n * n; 7 | } 8 | 9 | function plus(n: number) { 10 | return n + 1; 11 | } 12 | 13 | expect(flow(square, plus)(4)).toBe(17); 14 | expect(flow(plus, square)(4)).toBe(25); 15 | }); 16 | }); 17 | -------------------------------------------------------------------------------- /__tests__/unit/utils/hierarchy/partition-spec.ts: -------------------------------------------------------------------------------- 1 | import { partition } from '../../../../src/utils/hierarchy/partition'; 2 | 3 | describe('hierarchy/partition', () => { 4 | it('partition', () => { 5 | expect(() => { 6 | // @ts-ignore 7 | partition([], { 8 | as: null, 9 | }); 10 | }).toThrow(`Invalid as: it must be an array with 2 strings (e.g. [ "x", "y" ])!`); 11 | 12 | expect(() => { 13 | partition([], { 14 | // @ts-ignore 15 | as: ['x', 'y', 'z'], 16 | }); 17 | }).toThrow(`Invalid as: it must be an array with 2 strings (e.g. [ "x", "y" ])!`); 18 | }); 19 | }); 20 | -------------------------------------------------------------------------------- /__tests__/unit/utils/is-between-spec.ts: -------------------------------------------------------------------------------- 1 | import { isBetween } from '../../../src/utils'; 2 | 3 | describe('isBetween', () => { 4 | it('isBetween', () => { 5 | expect(isBetween(2, 1, 3)).toBeTruthy(); 6 | expect(isBetween(2, 3, 1)).toBeTruthy(); 7 | expect(isBetween(1, 3, 1)).toBeTruthy(); 8 | expect(isBetween(3, 3, 1)).toBeTruthy(); 9 | expect(isBetween(0, 3, 1)).toBeFalsy(); 10 | expect(isBetween(5, 3, 1)).toBeFalsy(); 11 | }); 12 | }); 13 | -------------------------------------------------------------------------------- /__tests__/unit/utils/kebab-case-spec.ts: -------------------------------------------------------------------------------- 1 | import { kebabCase } from '../../../src/utils'; 2 | 3 | describe('kebabCase', () => { 4 | it('kebabCase', () => { 5 | expect(kebabCase(null)).toEqual(null); 6 | expect(kebabCase('')).toEqual(''); 7 | expect(kebabCase('AAA')).toEqual('a-a-a'); 8 | 9 | expect(kebabCase('fontSize')).toEqual('font-size'); 10 | expect(kebabCase('aBBB')).toEqual('a-b-b-b'); 11 | expect(kebabCase('aBcDeFggggHHH')).toEqual('a-bc-de-fgggg-h-h-h'); 12 | 13 | expect(kebabCase('520')).toEqual('5-2-0'); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /__tests__/unit/utils/matrix-spec.ts: -------------------------------------------------------------------------------- 1 | import { transform } from '../../../src/utils/matrix'; 2 | 3 | describe('transform', () => { 4 | it('transform', () => { 5 | expect(transform([['t', 100, 100]])).toEqual([1, 0, 0, 0, 1, 0, 100, 100, 1]); 6 | expect(transform([['t', 100, 100]], [1, 0, 0, 0, 1, 1, 0, 0, 1])).toEqual([1, 0, 0, 100, 101, 1, 100, 100, 1]); 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /__tests__/unit/utils/number-spec.ts: -------------------------------------------------------------------------------- 1 | import { isRealNumber } from '../../../src/utils/number'; 2 | 3 | describe('number', () => { 4 | it('isRealNumber', () => { 5 | expect(isRealNumber(null)).toBe(false); 6 | expect(isRealNumber(true)).toBe(false); 7 | expect(isRealNumber('a')).toBe(false); 8 | expect(isRealNumber(undefined)).toBe(false); 9 | 10 | expect(isRealNumber(1)).toBe(true); 11 | expect(isRealNumber(0)).toBe(true); 12 | expect(isRealNumber(0.00001)).toBe(true); 13 | expect(isRealNumber(-1)).toBe(true); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /__tests__/unit/utils/pick-spec.ts: -------------------------------------------------------------------------------- 1 | import { pick } from '../../../src/utils'; 2 | 3 | describe('pick', () => { 4 | it('pick', () => { 5 | expect(pick(null, [])).toEqual({}); 6 | expect(pick(undefined, [])).toEqual({}); 7 | expect(pick(1, [])).toEqual({}); 8 | 9 | expect(pick({ a: 1, b: 2, c: undefined }, ['a'])).toEqual({ a: 1 }); 10 | expect(pick({ a: 1, b: 2, c: undefined }, ['a', 'd'])).toEqual({ a: 1 }); 11 | expect(pick({ a: 1, b: 2, c: undefined }, ['a', 'c', 'd'])).toEqual({ a: 1 }); 12 | }); 13 | }); 14 | -------------------------------------------------------------------------------- /__tests__/utils/delay.ts: -------------------------------------------------------------------------------- 1 | export function delay(interval = 1000): Promise { 2 | return new Promise((resolve) => { 3 | setTimeout(() => { 4 | resolve(); 5 | }, interval); 6 | }); 7 | } 8 | -------------------------------------------------------------------------------- /__tests__/utils/number.ts: -------------------------------------------------------------------------------- 1 | /** 判断两个数值是否相近 */ 2 | export function near(a: number, b: number, e: number = Number.EPSILON ** 0.5) { 3 | return Math.abs(a - b) < e; 4 | } 5 | -------------------------------------------------------------------------------- /jest.setup.js: -------------------------------------------------------------------------------- 1 | const { setGlobal } = require('./src/core/global'); 2 | 3 | setGlobal({ locale: 'zh-CN' }); 4 | -------------------------------------------------------------------------------- /site/.dumi/style.css: -------------------------------------------------------------------------------- 1 | .demo-card-screenshot { 2 | background-size: cover !important; 3 | padding-top: 62.5% !important; 4 | transition: background-position 2s !important; 5 | } 6 | 7 | .demo-card-screenshot:hover { 8 | background-position: right bottom !important; 9 | } 10 | -------------------------------------------------------------------------------- /site/CNAME: -------------------------------------------------------------------------------- 1 | g2plot.antv.vision 2 | -------------------------------------------------------------------------------- /site/docs/api/advanced-plots/facet.en.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Facet 3 | order: 9 4 | --- 5 | 6 | 7 | -------------------------------------------------------------------------------- /site/docs/api/components/slider.en.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Slider 3 | order: 2 4 | --- 5 | 6 | 7 | 8 | 🎨 Go to [AntV Design | 缩略轴 Axis Navigator](https://www.yuque.com/mo-college/vis-design/gs5ow9) of 墨者学院 to learn more about **Design guide** 9 | 10 | #### Slider 11 | 12 | slider 13 | 14 | #### Properties - _SliderCfg_ 15 | 16 | -------------------------------------------------------------------------------- /site/docs/api/components/slider.zh.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 缩略轴 - Slider 3 | order: 2 4 | --- 5 | 6 | 7 | 8 | 🎨 前往墨者学院 [AntV 设计 | 缩略轴 Axis Navigator](https://www.yuque.com/mo-college/vis-design/gs5ow9) 查看**设计指引**。 9 | 10 | #### 构成元素 11 | 12 | slider 13 | 14 | #### 配置属性 - _SliderCfg_ 15 | 16 | -------------------------------------------------------------------------------- /site/docs/api/options/g2plot.en.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: G2Plot 3 | order: 0 4 | --- 5 | 6 | -------------------------------------------------------------------------------- /site/docs/api/options/theme.en.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Theme 3 | order: 9 4 | --- 5 | 6 | 7 | 8 | #### Refer 9 | 10 | - [G2 自定义主题](https://g2.antv.vision/en/docs/api/advanced/register-theme) 11 | - [G2 主题配置项详解](https://g2.antv.vision/en/docs/api/advanced/dive-into-theme) -------------------------------------------------------------------------------- /site/docs/api/options/theme.zh.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 图表主题 3 | order: 9 4 | --- 5 | 6 | 7 | 8 | #### 参阅 9 | 10 | - [G2 自定义主题](https://g2.antv.vision/zh/docs/api/advanced/register-theme) 11 | - [G2 主题配置项详解](https://g2.antv.vision/zh/docs/api/advanced/dive-into-theme) -------------------------------------------------------------------------------- /site/docs/common/annotations/arc.en.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/docs/common/annotations/base-annotation.en.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /site/docs/common/annotations/base-annotation.zh.md: -------------------------------------------------------------------------------- 1 | ##### top 2 | 3 | **optional** _boolean_ 4 | 5 | 指定 annotation 是否绘制在 canvas 最上层,默认为 false, 即绘制在最下层。 6 | 7 | ##### offsetX 8 | 9 | **optional** _number_ 10 | 11 | x 轴方向的偏移量。 12 | 13 | ##### offsetY 14 | 15 | **optional** _number_ 16 | 17 | y 轴方向的偏移量。 18 | 19 | ##### animate 20 | 21 | **optional** _boolean_ 22 | 23 | 是否进行动画。 24 | 25 | ##### animateOption 26 | 27 | **optional** _object_ 28 | 29 | 动画参数配置,当且仅当 `animate` 属性为 true,即动画开启时生效。,参考[动画参数配置](/zh/docs/api/options/animation) 30 | -------------------------------------------------------------------------------- /site/docs/common/annotations/data-marker.en.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/docs/common/annotations/data-region.en.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/docs/common/annotations/html.en.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/docs/common/annotations/image.en.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/docs/common/annotations/line.en.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/docs/common/annotations/region-filter.en.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/docs/common/annotations/region.en.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /site/docs/common/annotations/shape.en.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/docs/common/annotations/shape.zh.md: -------------------------------------------------------------------------------- 1 | #### 💠 Shape Annotation 2 | 3 | ##### type 4 | 5 | **optional** _string_ 6 | 7 | 需要指定 `type: 'shape',`。自定义任意类型的图形标记,通过 option 中的 render 回调函数来在图表区域绘制自定义标记。option 配置如下: 8 | 9 | ##### render 10 | 11 | _( 12 | container: IGroup, 13 | view: View, 14 | helpers: { parsePosition: (position: [string | number, string | number] | Datum) => Point } 15 | ) => void_ 16 | 17 | 自定义标记的绘制 render 函数,其他 _container_ 为标记绘制的父容器, _view_ 为图形实例, _helpers_ 为辅助函数,其他 _parserPosition_ 可以用来计算数据点对应的坐标位置 18 | 19 | 20 | -------------------------------------------------------------------------------- /site/docs/common/annotations/text.en.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/docs/common/chart-methods.en.md: -------------------------------------------------------------------------------- 1 | #### render() 2 | 3 | Render the chart. 4 | 5 | #### update() 6 | 7 | **optional** 8 | 9 | Update chart configuration and overwrite it without comparing difference. 10 | 11 | Example: 12 | 13 | ```ts 14 | plot.update({ 15 | ...currentConfig, 16 | legend: false, 17 | }); 18 | ``` 19 | 20 | 34 | -------------------------------------------------------------------------------- /site/docs/common/chart-methods.zh.md: -------------------------------------------------------------------------------- 1 | #### render() 2 | 3 | 渲染图表。 4 | 5 | #### update() 6 | 7 | 更新图表配置项,配置覆盖,不会做差异比对。 8 | 9 | 使用示例: 10 | 11 | ```ts 12 | plot.update({ 13 | ...currentConfig, 14 | legend: false, 15 | }); 16 | ``` 17 | 18 | 31 | -------------------------------------------------------------------------------- /site/docs/common/color.zh.md: -------------------------------------------------------------------------------- 1 | #### color 2 | 3 | **optional** _string | string[] | Function_ 4 | 5 | 指定点的颜色。如没有配置 colorField,指定一个单值即可。对 colorFiled 进行了配置的情况下,即可以指定一系列色值,也可以通过回调函数的方法根据对应数值进行设置。 6 | 7 | 默认配置:采用 theme 中的色板。 8 | 9 | ```ts 10 | // 设置单一颜色 11 | { 12 | color: '#a8ddb5' 13 | } 14 | // 设置多色 15 | { 16 | colorField: 'type', // 部分图表使用 seriesField 17 | color: ['#d62728', '#2ca02c', '#000000'], 18 | } 19 | // Function 20 | { 21 | colorField: 'type', // 部分图表使用 seriesField 22 | color: ({ type }) => { 23 | if(type === 'male'){ 24 | return 'red'; 25 | } 26 | return 'yellow'; 27 | } 28 | } 29 | ``` 30 | -------------------------------------------------------------------------------- /site/docs/common/component-no-axis.en.md: -------------------------------------------------------------------------------- 1 | #### tooltip 2 | 3 | 4 | 5 | #### label 6 | 7 | Configure label style. 8 | 9 | 10 | 11 | #### legend 12 | 13 | 14 | 15 | #### annotations 16 | 17 | 详细配置见:各 Annotation 配置项说明。 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /site/docs/common/component-no-axis.zh.md: -------------------------------------------------------------------------------- 1 | #### tooltip 2 | 3 | 4 | 5 | #### 标签文本 6 | 7 | 8 | 9 | #### 图例 10 | 11 | 12 | 13 | #### annotations 14 | 15 | 详细配置见:各 Annotation 配置项说明。 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /site/docs/common/component-polygon.en.md: -------------------------------------------------------------------------------- 1 | #### label 2 | 3 | 4 | 5 | #### tooltip 6 | 7 | 8 | 9 | #### annotations 10 | 11 | 详细配置见:各 Annotation 配置项说明。 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /site/docs/common/component-polygon.zh.md: -------------------------------------------------------------------------------- 1 | #### label 2 | 3 | 4 | 5 | #### tooltip 6 | 7 | 8 | 9 | #### annotations 10 | 11 | 详细配置见:各 Annotation 配置项说明。 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /site/docs/common/component-progress.en.md: -------------------------------------------------------------------------------- 1 | #### tooltip 2 | 3 | 4 | 5 | #### annotations 6 | 7 | 详细配置见:各 Annotation 配置项说明。 8 | 9 | 10 | 11 | 12 | ### Plot Theme 13 | 14 | 15 | 16 | ### Plot Event 17 | 18 | 19 | 20 | ### Plot Method 21 | 22 | 23 | -------------------------------------------------------------------------------- /site/docs/common/component-progress.zh.md: -------------------------------------------------------------------------------- 1 | #### tooltip 2 | 3 | 4 | 5 | #### annotations 6 | 7 | 详细配置见:各 Annotation 配置项说明。 8 | 9 | 10 | 11 | 12 | ### 图表主题 13 | 14 | 15 | -------------------------------------------------------------------------------- /site/docs/common/component-tiny.en.md: -------------------------------------------------------------------------------- 1 | #### tooltip 2 | 3 | 4 | 5 | #### axis 6 | 7 | Same for xAxis and yAxis. 8 | 9 | 10 | 11 | #### annotations 12 | 13 | 详细配置见:各 Annotation 配置项说明。 14 | 15 | 16 | 17 | 18 | ### Plot Theme 19 | 20 | 21 | 22 | ### Plot Event 23 | 24 | 25 | 26 | ### Plot Method 27 | 28 | 29 | -------------------------------------------------------------------------------- /site/docs/common/component-tiny.zh.md: -------------------------------------------------------------------------------- 1 | #### tooltip 2 | 3 | 4 | 5 | #### axis 6 | 7 | xAxis、yAxis 配置相同。 8 | 9 | 10 | 11 | #### annotations 12 | 13 | 详细配置见:各 Annotation 配置项说明。 14 | 15 | 16 | 17 | 18 | ### 图表主题 19 | 20 | 21 | 22 | ### 图表事件 23 | 24 | 25 | 26 | ### 图表方法 27 | 28 | 29 | -------------------------------------------------------------------------------- /site/docs/common/component.en.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | #### slider 4 | 5 | 6 | -------------------------------------------------------------------------------- /site/docs/common/component.zh.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | #### slider 4 | 5 | 6 | -------------------------------------------------------------------------------- /site/docs/common/coordinate.en.md: -------------------------------------------------------------------------------- 1 | #### coordinate 2 | 3 | **optional** _Transformation[] _ 4 | 5 | Transformations of coordinate; 6 | 7 | Types of _Transformation_ are as follows: 8 | 9 | ```ts 10 | type Transformation = 11 | | { 12 | type: 'reflectX'; // send (x, y) to (-x, y) 13 | } 14 | | { 15 | type: 'reflectY'; // send (x, y) to (x, -y) 16 | } 17 | | { 18 | type: 'transpose'; // send (x, y) to (y, x) 19 | }; 20 | ``` 21 | -------------------------------------------------------------------------------- /site/docs/common/coordinate.zh.md: -------------------------------------------------------------------------------- 1 | #### coordinate 2 | 3 | **optional** _Transformation[] _ 4 | 5 | 坐标转换配置。 6 | 7 | __Transformation_ 类型定义如下: 8 | 9 | ```ts 10 | type Transformation = 11 | | { 12 | type: 'reflectX'; // send (x, y) to (-x, y) 13 | } 14 | | { 15 | type: 'reflectY'; // send (x, y) to (x, -y) 16 | } 17 | | { 18 | type: 'transpose'; // send (x, y) to (y, x) 19 | }; 20 | ``` 21 | -------------------------------------------------------------------------------- /site/docs/common/data.en.md: -------------------------------------------------------------------------------- 1 | 2 | **required** _array object_ 3 | 4 | Configure the data source. The data source is a collection of objects. For example: 5 | 6 | ```ts 7 | const data = [ 8 | { time: '1991',value: 20 }, 9 | { time: '1992',value: 20 }, 10 | ]; 11 | ``` 12 | -------------------------------------------------------------------------------- /site/docs/common/data.zh.md: -------------------------------------------------------------------------------- 1 | **required** _array object_ 2 | 3 | 设置图表数据源。数据源为对象集合,例如: 4 | 5 | ```ts 6 | const data = [ 7 | { time: '1991',value: 20 }, 8 | { time: '1992',value: 20 }, 9 | ]; 10 | ``` 11 | -------------------------------------------------------------------------------- /site/docs/common/facet-title.en.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /site/docs/common/facet-title.zh.md: -------------------------------------------------------------------------------- 1 | _FacetTitle_ 配置如下: 2 | 3 | | 参数名 | 类型 | 默认值 | 描述 | 4 | | --------- | ---------------------------------------- | ------ | ------------------- | 5 | | offsetX | number | - | x 方向偏移 | 6 | | offsetY | number | - | y 方向偏移 | 7 | | style | [ShapeAttrs](/zh/docs/api/graphic-style) | - | 文本样式 | 8 | | formatter | (val: any) => any | - | 回调配置 title 内容 | 9 | -------------------------------------------------------------------------------- /site/docs/common/legend.en.md: -------------------------------------------------------------------------------- 1 | There are two ways to configure legends 2 | 3 | Method 1, pass in 'Boolean' to set whether to display a legend. 4 | 5 | ```ts 6 | legend: false; // close legend 7 | ``` 8 | 9 | Method 2, pass in _LegendCfg_ to configure the legend as a whole. 10 | 11 | ```ts 12 | legend: { 13 | layout: 'horizontal', 14 | position: 'right' 15 | } 16 | ``` 17 | 18 | 19 | -------------------------------------------------------------------------------- /site/docs/common/legend.zh.md: -------------------------------------------------------------------------------- 1 | 配置图例有两种方式 2 | 第一种,传入 `boolean` 设置是否显示图例。 3 | 4 | ```ts 5 | legend: false; // 关闭图例 6 | ``` 7 | 8 | 第二种,传入 _LegendCfg_ 对图例进行整体配置。 9 | 10 | ```ts 11 | legend: { 12 | layout: 'horizontal', 13 | position: 'right' 14 | } 15 | ``` 16 | 17 | -------------------------------------------------------------------------------- /site/docs/common/meta.zh.md: -------------------------------------------------------------------------------- 1 | **optional** _object_ 2 | 3 | 全局化配置图表数据元信息,以字段为单位进行配置,来定义数据的类型和展示方式。在 meta 上的配置将同时影响所有组件的文本信息。 4 | 5 | | 细分配置项名称 | 类型 | 功能描述 | 6 | | -------------- | ---------- | ------------------------------------------- | 7 | | alias | _string_ | 字段的别名 | 8 | | formatter | _function_ | callback 方法,对该字段所有值进行格式化处理 | 9 | | values | _string[]_ | 枚举该字段下所有值 | 10 | | range | _number[]_ | 字段的数据映射区间,默认为[0,1] | 11 | 12 | 关于 `meta` 的更多配置项,请查看 [Meta Options](/zh/docs/api/options/meta) -------------------------------------------------------------------------------- /site/docs/common/point-style.zh.md: -------------------------------------------------------------------------------- 1 | | 细分配置 | 类型 | 功能描述 | 2 | | -------- | -------- | ---------- | 3 | | color | _string \| string[] \| Function_ | 数据点颜色,也可以支持回调的方式设置,回调参数为 `color: (datum: object) => string` | 4 | | shape | _string \| Function_ | 数据点形状,也可以支持回调的方式设置,回调参数为 `shape: (datum: object) => string` | 5 | | size | _number \| Function_ | 数据点大小,也可以支持回调的方式设置,回调参数为 `size: (datum: object) => number` | 6 | | style | _object \| Function_ | 数据点样式,也可以支持回调的方式设置,回调参数为 `style: (datum: object) => object` | 7 | | state | _object_ | 数据点状态样式,设置对应状态的样式。详细参考 [_state_](#state) | 8 | -------------------------------------------------------------------------------- /site/docs/common/state-style.en.md: -------------------------------------------------------------------------------- 1 | Set the style of the corresponding state. Now you can config four state styles: `'default' | 'active' | 'inactive' | 'selected'`. 2 | 3 | Example: 4 | 5 | ```ts 6 | { 7 | interactions: [{ type: 'element-active' }], 8 | state: { 9 | // 设置 active 激活状态的样式 10 | active: { 11 | animate: { duration: 100, easing: 'easeLinear' }, 12 | style: { 13 | lineWidth: 2, 14 | stroke: '#000', 15 | }, 16 | }, 17 | } 18 | }; 19 | ``` 20 | -------------------------------------------------------------------------------- /site/docs/common/state-style.zh.md: -------------------------------------------------------------------------------- 1 | 设置对应状态的样式,开放的状态有:`'default' | 'active' | 'inactive' | 'selected'` 四种。 2 | 3 | 示例: 4 | 5 | ```ts 6 | { 7 | interactions: [{ type: 'element-active' }], 8 | state: { 9 | // 设置 active 激活状态的样式 10 | active: { 11 | animate: { duration: 100, easing: 'easeLinear' }, 12 | style: { 13 | lineWidth: 2, 14 | stroke: '#000', 15 | }, 16 | }, 17 | } 18 | }; 19 | ``` 20 | -------------------------------------------------------------------------------- /site/docs/common/xy-field.en.md: -------------------------------------------------------------------------------- 1 | #### xField 2 | 3 | **required** _string_ 4 | 5 | The name of the data field corresponding to the graph in the x direction, usually the field corresponding to the horizontal coordinate axis. For example, to see how many people are in different classes, the class field is the corresponding xField. 6 | 7 | #### yField 8 | 9 | **required** _string_ 10 | 11 | The name of the data field corresponding to the graph in the y direction, usually the field corresponding to the vertical coordinate axis. For example, to see the number of students in different classes, the number field is the corresponding yField. 12 | -------------------------------------------------------------------------------- /site/docs/common/xy-field.zh.md: -------------------------------------------------------------------------------- 1 | #### xField 2 | 3 | **required** _string_ 4 | 5 | 图形在 x 方向对应的数据字段名,一般是横向的坐标轴对应的字段。比如:要看不同班级的人数情况,那么班级字段就是对应的 xField。 6 | 7 | #### yField 8 | 9 | **required** _string_ 10 | 11 | 图形在 y 方向对应的数据字段名,一般是纵向的坐标轴对应的字段。比如:要看不同班级的人数情况,那么人数字段就是对应的 yField。 12 | -------------------------------------------------------------------------------- /site/docs/manual/contact.en.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Contact Us 3 | order: 9 4 | --- 5 | 6 | If you have any questions, suggestions, feedback or willingness to communicate, please contact us: 7 | 8 | - Recommanded: [GitHub issues](https://github.com/antvis/G2Plot/issues) 9 | 10 | - Email:antv@antfin.com 11 | 12 | - Yuque:https://www.yuque.com/antv 13 | 14 | - Zhihu:https://zhuanlan.zhihu.com/aiux-antv 15 | 16 | - Contribution Guide:https://www.yuque.com/antv/g2plot/apubgw 17 | -------------------------------------------------------------------------------- /site/docs/manual/contact.zh.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 联系我们 3 | order: 9 4 | --- 5 | 6 | 如果你有任何的问题、建议、反馈或者交流意愿,可以通过如下方式联系我们: 7 | 8 | - 官方推荐 [GitHub issues](https://github.com/antvis/G2Plot/issues) 9 | 10 | - 邮件:antv@antfin.com 11 | 12 | - 语雀专栏:https://www.yuque.com/antv 13 | 14 | - 知乎专栏:https://zhuanlan.zhihu.com/aiux-antv 15 | 16 | - 共建指南:https://www.yuque.com/antv/g2plot/apubgw 17 | -------------------------------------------------------------------------------- /site/docs/manual/plots/funnel.en.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Funnel 3 | order: 6 4 | --- 5 | 6 | 7 | -------------------------------------------------------------------------------- /site/docs/manual/plots/heatmap.en.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Heatmap 3 | order: 5 4 | --- 5 | 6 | -------------------------------------------------------------------------------- /site/docs/manual/plots/heatmap.zh.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 色块图 / 热力图 3 | order: 5 4 | --- 5 | 6 |