@antv/gpt-vis 0.6.0 → 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +183 -114
- package/README.zh-CN.md +185 -112
- package/dist/cjs/gpt-vis/index.d.ts +108 -0
- package/dist/cjs/gpt-vis/index.js +173 -0
- package/dist/cjs/index.d.ts +44 -13
- package/dist/cjs/index.js +65 -35
- package/dist/cjs/syntax/index.d.ts +2 -0
- package/dist/cjs/{Text/mini-charts/hooks → syntax}/index.js +9 -7
- package/dist/cjs/syntax/parser.d.ts +67 -0
- package/dist/cjs/syntax/parser.js +235 -0
- package/dist/cjs/types/index.d.ts +33 -2
- package/dist/cjs/types/index.js +0 -6
- package/dist/cjs/util/theme.d.ts +21 -0
- package/dist/cjs/{theme.js → util/theme.js} +63 -14
- package/dist/cjs/vis/area/index.d.ts +60 -0
- package/dist/cjs/vis/area/index.js +151 -0
- package/dist/cjs/vis/bar/index.d.ts +60 -0
- package/dist/cjs/vis/bar/index.js +122 -0
- package/dist/cjs/vis/boxplot/index.d.ts +59 -0
- package/dist/cjs/vis/boxplot/index.js +106 -0
- package/dist/cjs/vis/column/index.d.ts +60 -0
- package/dist/cjs/vis/column/index.js +121 -0
- package/dist/cjs/vis/dual-axes/index.d.ts +64 -0
- package/dist/cjs/vis/dual-axes/index.js +147 -0
- package/dist/cjs/vis/funnel/index.d.ts +54 -0
- package/dist/cjs/vis/funnel/index.js +189 -0
- package/dist/cjs/vis/histogram/index.d.ts +47 -0
- package/dist/cjs/vis/histogram/index.js +112 -0
- package/dist/cjs/vis/line/index.d.ts +59 -0
- package/dist/cjs/vis/line/index.js +104 -0
- package/dist/cjs/vis/liquid/index.d.ts +44 -0
- package/dist/cjs/vis/liquid/index.js +87 -0
- package/dist/cjs/vis/pie/index.d.ts +55 -0
- package/dist/cjs/vis/pie/index.js +108 -0
- package/dist/cjs/vis/radar/index.d.ts +57 -0
- package/dist/cjs/vis/radar/index.js +152 -0
- package/dist/cjs/vis/sankey/index.d.ts +56 -0
- package/dist/cjs/vis/sankey/index.js +93 -0
- package/dist/cjs/vis/scatter/index.d.ts +54 -0
- package/dist/cjs/vis/scatter/index.js +94 -0
- package/dist/cjs/vis/summary/index.d.ts +41 -0
- package/dist/cjs/{Text/utils/getThemeColor.js → vis/summary/index.js} +33 -22
- package/dist/cjs/vis/table/index.d.ts +49 -0
- package/dist/cjs/vis/table/index.js +173 -0
- package/dist/cjs/vis/treemap/index.d.ts +68 -0
- package/dist/cjs/vis/treemap/index.js +105 -0
- package/dist/cjs/vis/venn/index.d.ts +54 -0
- package/dist/cjs/vis/venn/index.js +100 -0
- package/dist/cjs/vis/violin/index.d.ts +59 -0
- package/dist/cjs/vis/violin/index.js +155 -0
- package/dist/cjs/vis/waterfall/index.d.ts +67 -0
- package/dist/cjs/vis/waterfall/index.js +172 -0
- package/dist/cjs/vis/word-cloud/index.d.ts +53 -0
- package/dist/cjs/vis/word-cloud/index.js +89 -0
- package/dist/cjs/vis-wrapper/icons.d.ts +8 -0
- package/dist/cjs/vis-wrapper/icons.js +63 -0
- package/dist/cjs/vis-wrapper/index.d.ts +24 -0
- package/dist/cjs/vis-wrapper/index.js +231 -0
- package/dist/cjs/vis-wrapper/styles.d.ts +8 -0
- package/dist/cjs/vis-wrapper/styles.js +214 -0
- package/dist/esm/gpt-vis/index.d.ts +108 -0
- package/dist/esm/gpt-vis/index.js +224 -0
- package/dist/esm/index.d.ts +44 -13
- package/dist/esm/index.js +22 -15
- package/dist/esm/syntax/index.d.ts +2 -0
- package/dist/esm/syntax/index.js +1 -0
- package/dist/esm/syntax/parser.d.ts +67 -0
- package/dist/esm/syntax/parser.js +401 -0
- package/dist/esm/types/index.d.ts +33 -2
- package/dist/esm/types/index.js +0 -1
- package/dist/esm/util/theme.d.ts +21 -0
- package/dist/esm/util/theme.js +141 -0
- package/dist/esm/vis/area/index.d.ts +60 -0
- package/dist/esm/vis/area/index.js +230 -0
- package/dist/esm/vis/bar/index.d.ts +60 -0
- package/dist/esm/vis/bar/index.js +203 -0
- package/dist/esm/vis/boxplot/index.d.ts +59 -0
- package/dist/esm/vis/boxplot/index.js +164 -0
- package/dist/esm/vis/column/index.d.ts +60 -0
- package/dist/esm/vis/column/index.js +198 -0
- package/dist/esm/vis/dual-axes/index.d.ts +64 -0
- package/dist/esm/vis/dual-axes/index.js +234 -0
- package/dist/esm/vis/funnel/index.d.ts +54 -0
- package/dist/esm/vis/funnel/index.js +246 -0
- package/dist/esm/vis/histogram/index.d.ts +47 -0
- package/dist/esm/vis/histogram/index.js +148 -0
- package/dist/esm/vis/line/index.d.ts +59 -0
- package/dist/esm/vis/line/index.js +172 -0
- package/dist/esm/vis/liquid/index.d.ts +44 -0
- package/dist/esm/vis/liquid/index.js +130 -0
- package/dist/esm/vis/pie/index.d.ts +55 -0
- package/dist/esm/vis/pie/index.js +168 -0
- package/dist/esm/vis/radar/index.d.ts +57 -0
- package/dist/esm/vis/radar/index.js +222 -0
- package/dist/esm/vis/sankey/index.d.ts +56 -0
- package/dist/esm/vis/sankey/index.js +135 -0
- package/dist/esm/vis/scatter/index.d.ts +54 -0
- package/dist/esm/vis/scatter/index.js +158 -0
- package/dist/esm/vis/summary/index.d.ts +41 -0
- package/dist/esm/vis/summary/index.js +80 -0
- package/dist/esm/vis/table/index.d.ts +49 -0
- package/dist/esm/vis/table/index.js +160 -0
- package/dist/esm/vis/treemap/index.d.ts +68 -0
- package/dist/esm/vis/treemap/index.js +158 -0
- package/dist/esm/vis/venn/index.d.ts +54 -0
- package/dist/esm/vis/venn/index.js +142 -0
- package/dist/esm/vis/violin/index.d.ts +59 -0
- package/dist/esm/vis/violin/index.js +245 -0
- package/dist/esm/vis/waterfall/index.d.ts +67 -0
- package/dist/esm/vis/waterfall/index.js +245 -0
- package/dist/esm/vis/word-cloud/index.d.ts +53 -0
- package/dist/esm/vis/word-cloud/index.js +128 -0
- package/dist/esm/vis-wrapper/icons.d.ts +8 -0
- package/dist/esm/vis-wrapper/icons.js +29 -0
- package/dist/esm/vis-wrapper/index.d.ts +24 -0
- package/dist/esm/vis-wrapper/index.js +237 -0
- package/dist/esm/vis-wrapper/styles.d.ts +8 -0
- package/dist/esm/vis-wrapper/styles.js +21 -0
- package/dist/umd/index.min.js +1 -1
- package/package.json +26 -67
- package/src/gpt-vis/index.ts +283 -0
- package/src/index.ts +44 -0
- package/src/readme.md +37 -0
- package/src/syntax/index.ts +2 -0
- package/src/syntax/parser.ts +411 -0
- package/src/types/index.ts +29 -0
- package/src/util/theme.ts +167 -0
- package/src/vis/area/README.md +143 -0
- package/src/vis/area/index.ts +212 -0
- package/src/vis/bar/README.md +158 -0
- package/src/vis/bar/index.ts +186 -0
- package/src/vis/boxplot/README.md +168 -0
- package/src/vis/boxplot/index.ts +162 -0
- package/src/vis/column/README.md +158 -0
- package/src/vis/column/index.ts +185 -0
- package/src/vis/dual-axes/README.md +191 -0
- package/src/vis/dual-axes/index.ts +218 -0
- package/src/vis/funnel/README.md +143 -0
- package/src/vis/funnel/index.ts +238 -0
- package/src/vis/histogram/README.md +130 -0
- package/src/vis/histogram/index.ts +153 -0
- package/src/vis/line/README.md +138 -0
- package/src/vis/line/index.ts +159 -0
- package/src/vis/liquid/README.md +150 -0
- package/src/vis/liquid/index.ts +130 -0
- package/src/vis/pie/README.md +127 -0
- package/src/vis/pie/index.ts +163 -0
- package/src/vis/radar/README.md +184 -0
- package/src/vis/radar/index.ts +214 -0
- package/src/vis/sankey/README.md +144 -0
- package/src/vis/sankey/index.ts +144 -0
- package/src/vis/scatter/README.md +145 -0
- package/src/vis/scatter/index.ts +147 -0
- package/src/vis/summary/README.md +272 -0
- package/src/vis/summary/index.ts +91 -0
- package/src/vis/table/README.md +174 -0
- package/src/vis/table/index.ts +241 -0
- package/src/vis/treemap/README.md +199 -0
- package/src/vis/treemap/index.ts +167 -0
- package/src/vis/venn/README.md +153 -0
- package/src/vis/venn/index.ts +149 -0
- package/src/vis/violin/README.md +168 -0
- package/src/vis/violin/index.ts +216 -0
- package/src/vis/waterfall/README.md +178 -0
- package/src/vis/waterfall/index.ts +258 -0
- package/src/vis/word-cloud/README.md +137 -0
- package/src/vis/word-cloud/index.ts +137 -0
- package/src/vis-wrapper/README.md +159 -0
- package/src/vis-wrapper/icons.ts +35 -0
- package/src/vis-wrapper/index.ts +276 -0
- package/src/vis-wrapper/styles.ts +195 -0
- package/README.ja-JP.md +0 -164
- package/dist/cjs/Area/index.d.ts +0 -11
- package/dist/cjs/Area/index.js +0 -105
- package/dist/cjs/Bar/index.d.ts +0 -14
- package/dist/cjs/Bar/index.js +0 -101
- package/dist/cjs/Boxplot/index.d.ts +0 -11
- package/dist/cjs/Boxplot/index.js +0 -88
- package/dist/cjs/ChartCodeRender/Loading.d.ts +0 -6
- package/dist/cjs/ChartCodeRender/Loading.js +0 -54
- package/dist/cjs/ChartCodeRender/VisChart.d.ts +0 -19
- package/dist/cjs/ChartCodeRender/VisChart.js +0 -338
- package/dist/cjs/ChartCodeRender/icon.d.ts +0 -10
- package/dist/cjs/ChartCodeRender/icon.js +0 -162
- package/dist/cjs/ChartCodeRender/index.d.ts +0 -8
- package/dist/cjs/ChartCodeRender/index.js +0 -113
- package/dist/cjs/ChartCodeRender/styles.d.ts +0 -19
- package/dist/cjs/ChartCodeRender/styles.js +0 -232
- package/dist/cjs/ChartCodeRender/type.d.ts +0 -176
- package/dist/cjs/ChartCodeRender/type.js +0 -17
- package/dist/cjs/ChartCodeRender/utils.d.ts +0 -1
- package/dist/cjs/ChartCodeRender/utils.js +0 -51
- package/dist/cjs/Column/index.d.ts +0 -14
- package/dist/cjs/Column/index.js +0 -102
- package/dist/cjs/ConfigProvider/context.d.ts +0 -3
- package/dist/cjs/ConfigProvider/context.js +0 -41
- package/dist/cjs/ConfigProvider/hooks/index.d.ts +0 -1
- package/dist/cjs/ConfigProvider/hooks/index.js +0 -23
- package/dist/cjs/ConfigProvider/hooks/useConfig.d.ts +0 -13
- package/dist/cjs/ConfigProvider/hooks/useConfig.js +0 -109
- package/dist/cjs/ConfigProvider/index.d.ts +0 -7
- package/dist/cjs/ConfigProvider/index.js +0 -43
- package/dist/cjs/DualAxes/index.d.ts +0 -20
- package/dist/cjs/DualAxes/index.js +0 -84
- package/dist/cjs/DualAxes/util.d.ts +0 -9
- package/dist/cjs/DualAxes/util.js +0 -77
- package/dist/cjs/FishboneDiagram/index.d.ts +0 -7
- package/dist/cjs/FishboneDiagram/index.js +0 -66
- package/dist/cjs/FlowDiagram/helper.d.ts +0 -7
- package/dist/cjs/FlowDiagram/helper.js +0 -83
- package/dist/cjs/FlowDiagram/index.d.ts +0 -6
- package/dist/cjs/FlowDiagram/index.js +0 -107
- package/dist/cjs/Funnel/index.d.ts +0 -12
- package/dist/cjs/Funnel/index.js +0 -173
- package/dist/cjs/GPTVis/Lite.d.ts +0 -19
- package/dist/cjs/GPTVis/Lite.js +0 -81
- package/dist/cjs/GPTVis/hooks/useContext.d.ts +0 -8
- package/dist/cjs/GPTVis/hooks/useContext.js +0 -49
- package/dist/cjs/GPTVis/hooks/useEvent.d.ts +0 -1
- package/dist/cjs/GPTVis/hooks/useEvent.js +0 -33
- package/dist/cjs/GPTVis/index.d.ts +0 -6
- package/dist/cjs/GPTVis/index.js +0 -42
- package/dist/cjs/HeatMap/index.d.ts +0 -12
- package/dist/cjs/HeatMap/index.js +0 -67
- package/dist/cjs/Histogram/index.d.ts +0 -8
- package/dist/cjs/Histogram/index.js +0 -79
- package/dist/cjs/IndentedTree/index.d.ts +0 -7
- package/dist/cjs/IndentedTree/index.js +0 -78
- package/dist/cjs/Line/index.d.ts +0 -11
- package/dist/cjs/Line/index.js +0 -94
- package/dist/cjs/Liquid/index.d.ts +0 -11
- package/dist/cjs/Liquid/index.js +0 -85
- package/dist/cjs/Map/Component/MapView.d.ts +0 -3
- package/dist/cjs/Map/Component/MapView.js +0 -40
- package/dist/cjs/Map/Component/Marker.d.ts +0 -3
- package/dist/cjs/Map/Component/Marker.js +0 -53
- package/dist/cjs/Map/Component/Polyline.d.ts +0 -3
- package/dist/cjs/Map/Component/Polyline.js +0 -50
- package/dist/cjs/Map/Component/index.d.ts +0 -4
- package/dist/cjs/Map/Component/index.js +0 -45
- package/dist/cjs/Map/data.json +0 -305
- package/dist/cjs/Map/index.d.ts +0 -5
- package/dist/cjs/Map/index.js +0 -61
- package/dist/cjs/MindMap/index.d.ts +0 -7
- package/dist/cjs/MindMap/index.js +0 -75
- package/dist/cjs/NetworkGraph/index.d.ts +0 -6
- package/dist/cjs/NetworkGraph/index.js +0 -75
- package/dist/cjs/OrganizationChart/index.d.ts +0 -6
- package/dist/cjs/OrganizationChart/index.js +0 -95
- package/dist/cjs/PathMap/index.d.ts +0 -6
- package/dist/cjs/PathMap/index.js +0 -58
- package/dist/cjs/Pie/index.d.ts +0 -23
- package/dist/cjs/Pie/index.js +0 -94
- package/dist/cjs/PinMap/index.d.ts +0 -6
- package/dist/cjs/PinMap/index.js +0 -44
- package/dist/cjs/PinMap/maker.svg +0 -1
- package/dist/cjs/Radar/index.d.ts +0 -13
- package/dist/cjs/Radar/index.js +0 -153
- package/dist/cjs/Sankey/index.d.ts +0 -14
- package/dist/cjs/Sankey/index.js +0 -110
- package/dist/cjs/Scatter/index.d.ts +0 -13
- package/dist/cjs/Scatter/index.js +0 -103
- package/dist/cjs/Spreadsheet/index.d.ts +0 -28
- package/dist/cjs/Spreadsheet/index.js +0 -113
- package/dist/cjs/Table/index.d.ts +0 -9
- package/dist/cjs/Table/index.js +0 -91
- package/dist/cjs/Text/VisText.d.ts +0 -4
- package/dist/cjs/Text/VisText.js +0 -82
- package/dist/cjs/Text/config.d.ts +0 -18
- package/dist/cjs/Text/config.js +0 -91
- package/dist/cjs/Text/custom-icons/index.d.ts +0 -3
- package/dist/cjs/Text/custom-icons/index.js +0 -66
- package/dist/cjs/Text/index.d.ts +0 -3
- package/dist/cjs/Text/index.js +0 -42
- package/dist/cjs/Text/mini-charts/hooks/getElementFontSize.d.ts +0 -1
- package/dist/cjs/Text/mini-charts/hooks/getElementFontSize.js +0 -65
- package/dist/cjs/Text/mini-charts/hooks/index.d.ts +0 -1
- package/dist/cjs/Text/mini-charts/hooks/useSvgWrapper.d.ts +0 -5
- package/dist/cjs/Text/mini-charts/hooks/useSvgWrapper.js +0 -65
- package/dist/cjs/Text/mini-charts/index.d.ts +0 -2
- package/dist/cjs/Text/mini-charts/index.js +0 -25
- package/dist/cjs/Text/mini-charts/line/SingleLineChart.d.ts +0 -3
- package/dist/cjs/Text/mini-charts/line/SingleLineChart.js +0 -63
- package/dist/cjs/Text/mini-charts/line/index.d.ts +0 -1
- package/dist/cjs/Text/mini-charts/line/index.js +0 -29
- package/dist/cjs/Text/mini-charts/line/scaleLinear.d.ts +0 -4
- package/dist/cjs/Text/mini-charts/line/scaleLinear.js +0 -35
- package/dist/cjs/Text/mini-charts/line/useLineCompute.d.ts +0 -6
- package/dist/cjs/Text/mini-charts/line/useLineCompute.js +0 -103
- package/dist/cjs/Text/mini-charts/proportion/getArcPath.d.ts +0 -1
- package/dist/cjs/Text/mini-charts/proportion/getArcPath.js +0 -51
- package/dist/cjs/Text/mini-charts/proportion/index.d.ts +0 -3
- package/dist/cjs/Text/mini-charts/proportion/index.js +0 -71
- package/dist/cjs/Text/theme.d.ts +0 -24
- package/dist/cjs/Text/theme.js +0 -52
- package/dist/cjs/Text/types.d.ts +0 -20
- package/dist/cjs/Text/types.js +0 -17
- package/dist/cjs/Text/utils/getThemeColor.d.ts +0 -11
- package/dist/cjs/Text/utils/index.d.ts +0 -2
- package/dist/cjs/Text/utils/index.js +0 -25
- package/dist/cjs/Text/utils/useAntdDarkAlgorithm.d.ts +0 -2
- package/dist/cjs/Text/utils/useAntdDarkAlgorithm.js +0 -40
- package/dist/cjs/Treemap/index.d.ts +0 -10
- package/dist/cjs/Treemap/index.js +0 -93
- package/dist/cjs/Venn/index.d.ts +0 -32
- package/dist/cjs/Venn/index.js +0 -87
- package/dist/cjs/Violin/index.d.ts +0 -10
- package/dist/cjs/Violin/index.js +0 -190
- package/dist/cjs/Waterfall/index.d.ts +0 -25
- package/dist/cjs/Waterfall/index.js +0 -184
- package/dist/cjs/WordCloud/index.d.ts +0 -9
- package/dist/cjs/WordCloud/index.js +0 -76
- package/dist/cjs/constants/index.d.ts +0 -2
- package/dist/cjs/constants/index.js +0 -35
- package/dist/cjs/export-map.browser.d.ts +0 -4
- package/dist/cjs/export-map.browser.js +0 -48
- package/dist/cjs/export-map.d.ts +0 -10
- package/dist/cjs/export-map.js +0 -41
- package/dist/cjs/export.d.ts +0 -76
- package/dist/cjs/export.js +0 -159
- package/dist/cjs/render.d.ts +0 -2
- package/dist/cjs/render.js +0 -67
- package/dist/cjs/theme.d.ts +0 -2
- package/dist/cjs/types/chart.d.ts +0 -88
- package/dist/cjs/types/chart.js +0 -61
- package/dist/cjs/types/config.d.ts +0 -25
- package/dist/cjs/types/config.js +0 -17
- package/dist/cjs/types/map.d.ts +0 -242
- package/dist/cjs/types/map.js +0 -17
- package/dist/cjs/utils/config.d.ts +0 -5
- package/dist/cjs/utils/config.js +0 -76
- package/dist/cjs/utils/graph.d.ts +0 -18
- package/dist/cjs/utils/graph.js +0 -64
- package/dist/cjs/utils/index.d.ts +0 -1
- package/dist/cjs/utils/index.js +0 -23
- package/dist/cjs/utils/map/context.d.ts +0 -3
- package/dist/cjs/utils/map/context.js +0 -45
- package/dist/cjs/utils/map/controls.d.ts +0 -0
- package/dist/cjs/utils/map/controls.js +0 -0
- package/dist/cjs/utils/map/index.d.ts +0 -6
- package/dist/cjs/utils/map/index.js +0 -33
- package/dist/cjs/utils/map/markers.d.ts +0 -2
- package/dist/cjs/utils/map/markers.js +0 -88
- package/dist/cjs/utils/map/polyline.d.ts +0 -2
- package/dist/cjs/utils/map/polyline.js +0 -52
- package/dist/cjs/utils/map/style.d.ts +0 -45
- package/dist/cjs/utils/map/style.js +0 -112
- package/dist/cjs/utils/map/util.d.ts +0 -1
- package/dist/cjs/utils/map/util.js +0 -38
- package/dist/cjs/utils/map/view.d.ts +0 -5
- package/dist/cjs/utils/map/view.js +0 -100
- package/dist/cjs/utils/palette.d.ts +0 -2
- package/dist/cjs/utils/palette.js +0 -54
- package/dist/cjs/utils/plot.d.ts +0 -5
- package/dist/cjs/utils/plot.js +0 -90
- package/dist/cjs/version.d.ts +0 -2
- package/dist/cjs/version.js +0 -25
- package/dist/esm/Area/index.d.ts +0 -11
- package/dist/esm/Area/index.js +0 -108
- package/dist/esm/Bar/index.d.ts +0 -14
- package/dist/esm/Bar/index.js +0 -92
- package/dist/esm/Boxplot/index.d.ts +0 -11
- package/dist/esm/Boxplot/index.js +0 -86
- package/dist/esm/ChartCodeRender/Loading.d.ts +0 -6
- package/dist/esm/ChartCodeRender/Loading.js +0 -21
- package/dist/esm/ChartCodeRender/VisChart.d.ts +0 -19
- package/dist/esm/ChartCodeRender/VisChart.js +0 -450
- package/dist/esm/ChartCodeRender/icon.d.ts +0 -10
- package/dist/esm/ChartCodeRender/icon.js +0 -103
- package/dist/esm/ChartCodeRender/index.d.ts +0 -8
- package/dist/esm/ChartCodeRender/index.js +0 -99
- package/dist/esm/ChartCodeRender/styles.d.ts +0 -19
- package/dist/esm/ChartCodeRender/styles.js +0 -61
- package/dist/esm/ChartCodeRender/type.d.ts +0 -176
- package/dist/esm/ChartCodeRender/type.js +0 -1
- package/dist/esm/ChartCodeRender/utils.d.ts +0 -1
- package/dist/esm/ChartCodeRender/utils.js +0 -37
- package/dist/esm/Column/index.d.ts +0 -14
- package/dist/esm/Column/index.js +0 -93
- package/dist/esm/ConfigProvider/context.d.ts +0 -3
- package/dist/esm/ConfigProvider/context.js +0 -3
- package/dist/esm/ConfigProvider/hooks/index.d.ts +0 -1
- package/dist/esm/ConfigProvider/hooks/index.js +0 -1
- package/dist/esm/ConfigProvider/hooks/useConfig.d.ts +0 -13
- package/dist/esm/ConfigProvider/hooks/useConfig.js +0 -71
- package/dist/esm/ConfigProvider/index.d.ts +0 -7
- package/dist/esm/ConfigProvider/index.js +0 -17
- package/dist/esm/DualAxes/index.d.ts +0 -20
- package/dist/esm/DualAxes/index.js +0 -77
- package/dist/esm/DualAxes/util.d.ts +0 -9
- package/dist/esm/DualAxes/util.js +0 -77
- package/dist/esm/FishboneDiagram/index.d.ts +0 -7
- package/dist/esm/FishboneDiagram/index.js +0 -43
- package/dist/esm/FlowDiagram/helper.d.ts +0 -7
- package/dist/esm/FlowDiagram/helper.js +0 -76
- package/dist/esm/FlowDiagram/index.d.ts +0 -6
- package/dist/esm/FlowDiagram/index.js +0 -72
- package/dist/esm/Funnel/index.d.ts +0 -12
- package/dist/esm/Funnel/index.js +0 -171
- package/dist/esm/GPTVis/Lite.d.ts +0 -19
- package/dist/esm/GPTVis/Lite.js +0 -57
- package/dist/esm/GPTVis/hooks/useContext.d.ts +0 -8
- package/dist/esm/GPTVis/hooks/useContext.js +0 -9
- package/dist/esm/GPTVis/hooks/useEvent.d.ts +0 -1
- package/dist/esm/GPTVis/hooks/useEvent.js +0 -6
- package/dist/esm/GPTVis/index.d.ts +0 -6
- package/dist/esm/GPTVis/index.js +0 -25
- package/dist/esm/HeatMap/index.d.ts +0 -12
- package/dist/esm/HeatMap/index.js +0 -45
- package/dist/esm/Histogram/index.d.ts +0 -8
- package/dist/esm/Histogram/index.js +0 -75
- package/dist/esm/IndentedTree/index.d.ts +0 -7
- package/dist/esm/IndentedTree/index.js +0 -68
- package/dist/esm/Line/index.d.ts +0 -11
- package/dist/esm/Line/index.js +0 -92
- package/dist/esm/Liquid/index.d.ts +0 -11
- package/dist/esm/Liquid/index.js +0 -100
- package/dist/esm/Map/Component/MapView.d.ts +0 -3
- package/dist/esm/Map/Component/MapView.js +0 -18
- package/dist/esm/Map/Component/Marker.d.ts +0 -3
- package/dist/esm/Map/Component/Marker.js +0 -40
- package/dist/esm/Map/Component/Polyline.d.ts +0 -3
- package/dist/esm/Map/Component/Polyline.js +0 -35
- package/dist/esm/Map/Component/index.d.ts +0 -4
- package/dist/esm/Map/Component/index.js +0 -4
- package/dist/esm/Map/data.json +0 -305
- package/dist/esm/Map/index.d.ts +0 -5
- package/dist/esm/Map/index.js +0 -50
- package/dist/esm/MindMap/index.d.ts +0 -7
- package/dist/esm/MindMap/index.js +0 -69
- package/dist/esm/NetworkGraph/index.d.ts +0 -6
- package/dist/esm/NetworkGraph/index.js +0 -64
- package/dist/esm/OrganizationChart/index.d.ts +0 -6
- package/dist/esm/OrganizationChart/index.js +0 -75
- package/dist/esm/PathMap/index.d.ts +0 -6
- package/dist/esm/PathMap/index.js +0 -41
- package/dist/esm/Pie/index.d.ts +0 -23
- package/dist/esm/Pie/index.js +0 -96
- package/dist/esm/PinMap/index.d.ts +0 -6
- package/dist/esm/PinMap/index.js +0 -22
- package/dist/esm/PinMap/maker.svg +0 -1
- package/dist/esm/Radar/index.d.ts +0 -13
- package/dist/esm/Radar/index.js +0 -150
- package/dist/esm/Sankey/index.d.ts +0 -14
- package/dist/esm/Sankey/index.js +0 -98
- package/dist/esm/Scatter/index.d.ts +0 -13
- package/dist/esm/Scatter/index.js +0 -95
- package/dist/esm/Spreadsheet/index.d.ts +0 -28
- package/dist/esm/Spreadsheet/index.js +0 -129
- package/dist/esm/Table/index.d.ts +0 -9
- package/dist/esm/Table/index.js +0 -30
- package/dist/esm/Text/VisText.d.ts +0 -4
- package/dist/esm/Text/VisText.js +0 -55
- package/dist/esm/Text/config.d.ts +0 -18
- package/dist/esm/Text/config.js +0 -82
- package/dist/esm/Text/custom-icons/index.d.ts +0 -3
- package/dist/esm/Text/custom-icons/index.js +0 -37
- package/dist/esm/Text/index.d.ts +0 -3
- package/dist/esm/Text/index.js +0 -2
- package/dist/esm/Text/mini-charts/hooks/getElementFontSize.d.ts +0 -1
- package/dist/esm/Text/mini-charts/hooks/getElementFontSize.js +0 -32
- package/dist/esm/Text/mini-charts/hooks/index.d.ts +0 -1
- package/dist/esm/Text/mini-charts/hooks/index.js +0 -1
- package/dist/esm/Text/mini-charts/hooks/useSvgWrapper.d.ts +0 -5
- package/dist/esm/Text/mini-charts/hooks/useSvgWrapper.js +0 -37
- package/dist/esm/Text/mini-charts/index.d.ts +0 -2
- package/dist/esm/Text/mini-charts/index.js +0 -2
- package/dist/esm/Text/mini-charts/line/SingleLineChart.d.ts +0 -3
- package/dist/esm/Text/mini-charts/line/SingleLineChart.js +0 -62
- package/dist/esm/Text/mini-charts/line/index.d.ts +0 -1
- package/dist/esm/Text/mini-charts/line/index.js +0 -1
- package/dist/esm/Text/mini-charts/line/scaleLinear.d.ts +0 -4
- package/dist/esm/Text/mini-charts/line/scaleLinear.js +0 -19
- package/dist/esm/Text/mini-charts/line/useLineCompute.d.ts +0 -6
- package/dist/esm/Text/mini-charts/line/useLineCompute.js +0 -118
- package/dist/esm/Text/mini-charts/proportion/getArcPath.d.ts +0 -1
- package/dist/esm/Text/mini-charts/proportion/getArcPath.js +0 -19
- package/dist/esm/Text/mini-charts/proportion/index.d.ts +0 -3
- package/dist/esm/Text/mini-charts/proportion/index.js +0 -64
- package/dist/esm/Text/theme.d.ts +0 -24
- package/dist/esm/Text/theme.js +0 -24
- package/dist/esm/Text/types.d.ts +0 -20
- package/dist/esm/Text/types.js +0 -1
- package/dist/esm/Text/utils/getThemeColor.d.ts +0 -11
- package/dist/esm/Text/utils/getThemeColor.js +0 -29
- package/dist/esm/Text/utils/index.d.ts +0 -2
- package/dist/esm/Text/utils/index.js +0 -2
- package/dist/esm/Text/utils/useAntdDarkAlgorithm.d.ts +0 -2
- package/dist/esm/Text/utils/useAntdDarkAlgorithm.js +0 -14
- package/dist/esm/Treemap/index.d.ts +0 -10
- package/dist/esm/Treemap/index.js +0 -88
- package/dist/esm/Venn/index.d.ts +0 -32
- package/dist/esm/Venn/index.js +0 -69
- package/dist/esm/Violin/index.d.ts +0 -10
- package/dist/esm/Violin/index.js +0 -199
- package/dist/esm/Waterfall/index.d.ts +0 -25
- package/dist/esm/Waterfall/index.js +0 -185
- package/dist/esm/WordCloud/index.d.ts +0 -9
- package/dist/esm/WordCloud/index.js +0 -59
- package/dist/esm/constants/index.d.ts +0 -2
- package/dist/esm/constants/index.js +0 -9
- package/dist/esm/export-map.browser.d.ts +0 -4
- package/dist/esm/export-map.browser.js +0 -5
- package/dist/esm/export-map.d.ts +0 -10
- package/dist/esm/export-map.js +0 -9
- package/dist/esm/export.d.ts +0 -76
- package/dist/esm/export.js +0 -51
- package/dist/esm/render.d.ts +0 -2
- package/dist/esm/render.js +0 -32
- package/dist/esm/theme.d.ts +0 -2
- package/dist/esm/theme.js +0 -103
- package/dist/esm/types/chart.d.ts +0 -88
- package/dist/esm/types/chart.js +0 -33
- package/dist/esm/types/config.d.ts +0 -25
- package/dist/esm/types/config.js +0 -1
- package/dist/esm/types/map.d.ts +0 -242
- package/dist/esm/types/map.js +0 -1
- package/dist/esm/utils/config.d.ts +0 -5
- package/dist/esm/utils/config.js +0 -53
- package/dist/esm/utils/graph.d.ts +0 -18
- package/dist/esm/utils/graph.js +0 -55
- package/dist/esm/utils/index.d.ts +0 -1
- package/dist/esm/utils/index.js +0 -1
- package/dist/esm/utils/map/context.d.ts +0 -3
- package/dist/esm/utils/map/context.js +0 -42
- package/dist/esm/utils/map/controls.d.ts +0 -0
- package/dist/esm/utils/map/controls.js +0 -0
- package/dist/esm/utils/map/index.d.ts +0 -6
- package/dist/esm/utils/map/index.js +0 -6
- package/dist/esm/utils/map/markers.d.ts +0 -2
- package/dist/esm/utils/map/markers.js +0 -69
- package/dist/esm/utils/map/polyline.d.ts +0 -2
- package/dist/esm/utils/map/polyline.js +0 -31
- package/dist/esm/utils/map/style.d.ts +0 -45
- package/dist/esm/utils/map/style.js +0 -80
- package/dist/esm/utils/map/util.d.ts +0 -1
- package/dist/esm/utils/map/util.js +0 -11
- package/dist/esm/utils/map/view.d.ts +0 -5
- package/dist/esm/utils/map/view.js +0 -83
- package/dist/esm/utils/palette.d.ts +0 -2
- package/dist/esm/utils/palette.js +0 -2
- package/dist/esm/utils/plot.d.ts +0 -5
- package/dist/esm/utils/plot.js +0 -86
- package/dist/esm/version.d.ts +0 -2
- package/dist/esm/version.js +0 -1
- package/dist/umd/737.async.js +0 -1
- package/dist/umd/index.min.css +0 -1
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { Chart } from '@antv/g2';
|
|
2
|
+
import type { VisualizationOptions } from '../../types';
|
|
3
|
+
import { getBackgroundColor, getThemeColors, getThemeObject } from '../../util/theme';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* SankeyDataItem is the type for each data item in the sankey chart.
|
|
7
|
+
*/
|
|
8
|
+
export type SankeyDataItem = {
|
|
9
|
+
source: string;
|
|
10
|
+
target: string;
|
|
11
|
+
value: number;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* SankeyConfig defines the configuration for rendering the sankey chart.
|
|
16
|
+
*/
|
|
17
|
+
export interface SankeyConfig {
|
|
18
|
+
type?: 'sankey';
|
|
19
|
+
data: SankeyDataItem[];
|
|
20
|
+
nodeAlign?: 'left' | 'center' | 'right' | 'justify';
|
|
21
|
+
theme?: 'default' | 'academy' | 'dark';
|
|
22
|
+
title?: string;
|
|
23
|
+
style?: {
|
|
24
|
+
backgroundColor?: string;
|
|
25
|
+
palette?: string[];
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* SankeyInstance represents a sankey chart instance with render and destroy methods.
|
|
31
|
+
*/
|
|
32
|
+
export interface SankeyInstance {
|
|
33
|
+
render: (config: SankeyConfig) => void;
|
|
34
|
+
destroy: () => void;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Sankey chart component using G2 5.0.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* const sankey = Sankey({
|
|
43
|
+
* container: '#container',
|
|
44
|
+
* width: 600,
|
|
45
|
+
* height: 400,
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* sankey.render({
|
|
49
|
+
* type: 'sankey',
|
|
50
|
+
* data: [
|
|
51
|
+
* { source: '煤炭', target: '发电厂', value: 120 },
|
|
52
|
+
* { source: '天然气', target: '发电厂', value: 80 },
|
|
53
|
+
* { source: '发电厂', target: '工业', value: 100 },
|
|
54
|
+
* ],
|
|
55
|
+
* nodeAlign: 'justify',
|
|
56
|
+
* theme: 'academy'
|
|
57
|
+
* });
|
|
58
|
+
*
|
|
59
|
+
* sankey.destroy();
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export const Sankey = (options: VisualizationOptions): SankeyInstance => {
|
|
63
|
+
const { container, width, height, theme: chartTheme = 'default' } = options;
|
|
64
|
+
let chart: Chart | null = null;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Render the sankey chart with the given configuration.
|
|
68
|
+
*/
|
|
69
|
+
const render = (config: SankeyConfig): void => {
|
|
70
|
+
const { data = [], nodeAlign = 'center', theme = chartTheme, title, style = {} } = config;
|
|
71
|
+
|
|
72
|
+
// Clean up previous chart if exists
|
|
73
|
+
if (chart) {
|
|
74
|
+
chart.destroy();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Get colors from style.palette or theme defaults
|
|
78
|
+
const colors = style.palette || getThemeColors(theme);
|
|
79
|
+
const backgroundColor = style.backgroundColor || getBackgroundColor(theme);
|
|
80
|
+
|
|
81
|
+
// Create chart
|
|
82
|
+
chart = new Chart({
|
|
83
|
+
container,
|
|
84
|
+
width,
|
|
85
|
+
height,
|
|
86
|
+
autoFit: true,
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
// Configure chart options
|
|
90
|
+
// Note: Using 'any' type due to G2's complex type system with transformations
|
|
91
|
+
// This is consistent with how G2 5.0 is used elsewhere in the codebase
|
|
92
|
+
const chartOptions: any = {
|
|
93
|
+
type: 'sankey',
|
|
94
|
+
data: {
|
|
95
|
+
value: data,
|
|
96
|
+
transform: [
|
|
97
|
+
{
|
|
98
|
+
type: 'custom',
|
|
99
|
+
callback: (data: SankeyDataItem[]) => ({
|
|
100
|
+
links: data,
|
|
101
|
+
}),
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
},
|
|
105
|
+
layout: {
|
|
106
|
+
nodeAlign,
|
|
107
|
+
nodePadding: 0.01,
|
|
108
|
+
},
|
|
109
|
+
title: title ?? '',
|
|
110
|
+
scale: {
|
|
111
|
+
color: { range: colors },
|
|
112
|
+
},
|
|
113
|
+
style: {
|
|
114
|
+
labelSpacing: 2,
|
|
115
|
+
nodeLineWidth: 1,
|
|
116
|
+
linkFillOpacity: 0.3,
|
|
117
|
+
},
|
|
118
|
+
viewStyle: {
|
|
119
|
+
viewFill: backgroundColor,
|
|
120
|
+
},
|
|
121
|
+
theme: getThemeObject(theme),
|
|
122
|
+
legend: false,
|
|
123
|
+
tooltip: false,
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
chart.options(chartOptions);
|
|
127
|
+
chart.render();
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Destroy the chart instance and clean up resources.
|
|
132
|
+
*/
|
|
133
|
+
const destroy = (): void => {
|
|
134
|
+
if (chart) {
|
|
135
|
+
chart.destroy();
|
|
136
|
+
chart = null;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
return {
|
|
141
|
+
render,
|
|
142
|
+
destroy,
|
|
143
|
+
};
|
|
144
|
+
};
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Scatter
|
|
2
|
+
|
|
3
|
+
A scatter chart component for visualizing the relationship between two numerical variables, built with G2 5.0.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { Scatter } from '@antv/gpt-vis/ai';
|
|
9
|
+
|
|
10
|
+
const scatter = Scatter({
|
|
11
|
+
container: '#container',
|
|
12
|
+
width: 600,
|
|
13
|
+
height: 400,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
scatter.render({
|
|
17
|
+
data: [
|
|
18
|
+
{ x: 10, y: 15 },
|
|
19
|
+
{ x: 20, y: 25 },
|
|
20
|
+
{ x: 30, y: 35 },
|
|
21
|
+
{ x: 40, y: 45 },
|
|
22
|
+
],
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
scatter.destroy();
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Configuration
|
|
29
|
+
|
|
30
|
+
### Constructor Options (ScatterOptions)
|
|
31
|
+
|
|
32
|
+
| Property | Type | Default | Description |
|
|
33
|
+
| --------- | --------------------- | ------- | ----------------------------- |
|
|
34
|
+
| container | string \| HTMLElement | - | Container element or selector |
|
|
35
|
+
| width | number | 640 | Chart width in pixels |
|
|
36
|
+
| height | number | 480 | Chart height in pixels |
|
|
37
|
+
|
|
38
|
+
### Render Config (ScatterConfig)
|
|
39
|
+
|
|
40
|
+
| Property | Type | Default | Description |
|
|
41
|
+
| -------- | ------ | --------- | ------------------------- |
|
|
42
|
+
| type | string | 'scatter' | Chart type |
|
|
43
|
+
| data | Array | - | Chart data array |
|
|
44
|
+
| theme | string | 'default' | Color theme |
|
|
45
|
+
| title | string | - | Chart title |
|
|
46
|
+
| style | object | - | Chart style configuration |
|
|
47
|
+
|
|
48
|
+
### Data Structure
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
type ScatterDataItem = {
|
|
52
|
+
x: number; // X-axis value
|
|
53
|
+
y: number; // Y-axis value
|
|
54
|
+
group?: string; // Optional: group for multiple series
|
|
55
|
+
};
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Style Options
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
style?: {
|
|
62
|
+
backgroundColor?: string; // Background color
|
|
63
|
+
palette?: string[]; // Color palette for groups
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Examples
|
|
68
|
+
|
|
69
|
+
### Basic Scatter Chart
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
scatter.render({
|
|
73
|
+
data: [
|
|
74
|
+
{ x: 10, y: 15 },
|
|
75
|
+
{ x: 20, y: 25 },
|
|
76
|
+
{ x: 30, y: 35 },
|
|
77
|
+
{ x: 40, y: 45 },
|
|
78
|
+
],
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### With Title
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
scatter.render({
|
|
86
|
+
data: [
|
|
87
|
+
{ x: 10, y: 15 },
|
|
88
|
+
{ x: 20, y: 25 },
|
|
89
|
+
{ x: 30, y: 35 },
|
|
90
|
+
{ x: 40, y: 45 },
|
|
91
|
+
],
|
|
92
|
+
title: 'Advertisement vs Sales',
|
|
93
|
+
});
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### With Groups
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
scatter.render({
|
|
100
|
+
data: [
|
|
101
|
+
{ x: 25, y: 5000, group: 'A' },
|
|
102
|
+
{ x: 35, y: 7000, group: 'A' },
|
|
103
|
+
{ x: 45, y: 10000, group: 'A' },
|
|
104
|
+
{ x: 30, y: 6000, group: 'B' },
|
|
105
|
+
{ x: 40, y: 8000, group: 'B' },
|
|
106
|
+
{ x: 50, y: 11000, group: 'B' },
|
|
107
|
+
],
|
|
108
|
+
});
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### With Academy Theme
|
|
112
|
+
|
|
113
|
+
```ts
|
|
114
|
+
scatter.render({
|
|
115
|
+
data: [
|
|
116
|
+
{ x: 10, y: 15 },
|
|
117
|
+
{ x: 20, y: 25 },
|
|
118
|
+
{ x: 30, y: 35 },
|
|
119
|
+
{ x: 40, y: 45 },
|
|
120
|
+
],
|
|
121
|
+
theme: 'academy',
|
|
122
|
+
});
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### With Custom Styles
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
scatter.render({
|
|
129
|
+
data: [
|
|
130
|
+
{ x: 10, y: 15, group: 'Group A' },
|
|
131
|
+
{ x: 20, y: 25, group: 'Group A' },
|
|
132
|
+
{ x: 30, y: 35, group: 'Group B' },
|
|
133
|
+
{ x: 40, y: 45, group: 'Group B' },
|
|
134
|
+
],
|
|
135
|
+
style: {
|
|
136
|
+
palette: ['#FF6B6B', '#4ECDC4', '#45B7D1'],
|
|
137
|
+
backgroundColor: '#F8F9FA',
|
|
138
|
+
},
|
|
139
|
+
});
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Methods
|
|
143
|
+
|
|
144
|
+
- `render(config: ScatterConfig): void` - Render or update the chart
|
|
145
|
+
- `destroy(): void` - Destroy the chart instance and clean up resources
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { Chart } from '@antv/g2';
|
|
2
|
+
import type { VisualizationOptions } from '../../types';
|
|
3
|
+
import { getBackgroundColor, getThemeColors, getThemeObject } from '../../util/theme';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* ScatterDataItem is the type for each data item in the scatter chart.
|
|
7
|
+
*/
|
|
8
|
+
export type ScatterDataItem = {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
group?: string;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* ScatterConfig defines the configuration for rendering the scatter chart.
|
|
16
|
+
*/
|
|
17
|
+
export interface ScatterConfig {
|
|
18
|
+
type?: 'scatter';
|
|
19
|
+
data: ScatterDataItem[];
|
|
20
|
+
title?: string;
|
|
21
|
+
theme?: 'default' | 'academy' | 'dark';
|
|
22
|
+
style?: {
|
|
23
|
+
backgroundColor?: string;
|
|
24
|
+
palette?: string[];
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* ScatterInstance represents a scatter chart instance with render and destroy methods.
|
|
30
|
+
*/
|
|
31
|
+
export interface ScatterInstance {
|
|
32
|
+
render: (config: ScatterConfig) => void;
|
|
33
|
+
destroy: () => void;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Scatter chart component using G2 5.0.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* const scatter = Scatter({
|
|
42
|
+
* container: '#container',
|
|
43
|
+
* width: 600,
|
|
44
|
+
* height: 400,
|
|
45
|
+
* });
|
|
46
|
+
*
|
|
47
|
+
* scatter.render({
|
|
48
|
+
* type: 'scatter',
|
|
49
|
+
* data: [
|
|
50
|
+
* { x: 10, y: 15 },
|
|
51
|
+
* { x: 20, y: 25 },
|
|
52
|
+
* { x: 30, y: 35 },
|
|
53
|
+
* { x: 40, y: 45 },
|
|
54
|
+
* ],
|
|
55
|
+
* });
|
|
56
|
+
*
|
|
57
|
+
* scatter.destroy();
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export const Scatter = (options: VisualizationOptions): ScatterInstance => {
|
|
61
|
+
const { container, width, height, theme: chartTheme = 'default' } = options;
|
|
62
|
+
let chart: Chart | null = null;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Render the scatter chart with the given configuration.
|
|
66
|
+
*/
|
|
67
|
+
const render = (config: ScatterConfig): void => {
|
|
68
|
+
const { data = [], theme = chartTheme, title, style = {} } = config;
|
|
69
|
+
|
|
70
|
+
// Clean up previous chart if exists
|
|
71
|
+
if (chart) {
|
|
72
|
+
chart.destroy();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Get colors from style.palette or theme defaults
|
|
76
|
+
const colors = style.palette || getThemeColors(theme);
|
|
77
|
+
const backgroundColor = style.backgroundColor || getBackgroundColor(theme);
|
|
78
|
+
|
|
79
|
+
// Check if data has group field
|
|
80
|
+
const hasGroupField = data.length > 0 && data[0]?.group !== undefined;
|
|
81
|
+
|
|
82
|
+
// Create chart
|
|
83
|
+
chart = new Chart({
|
|
84
|
+
container,
|
|
85
|
+
width,
|
|
86
|
+
height,
|
|
87
|
+
autoFit: true,
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
// Configure chart encode based on whether there's a group field
|
|
91
|
+
let encode: any = {};
|
|
92
|
+
const scaleConfig: any = {
|
|
93
|
+
y: { nice: true },
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
if (hasGroupField) {
|
|
97
|
+
encode = { x: 'x', y: 'y', color: 'group' };
|
|
98
|
+
scaleConfig.color = { range: colors };
|
|
99
|
+
} else {
|
|
100
|
+
encode = { x: 'x', y: 'y', color: () => 'all' };
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Configure chart options
|
|
104
|
+
// Note: Using 'any' type due to G2's complex type system with transformations
|
|
105
|
+
// This is consistent with how G2 5.0 is used elsewhere in the codebase
|
|
106
|
+
const chartOptions: any = {
|
|
107
|
+
type: 'point',
|
|
108
|
+
data,
|
|
109
|
+
title: title ?? '',
|
|
110
|
+
encode,
|
|
111
|
+
legend: hasGroupField ? { color: { position: 'top' } } : false,
|
|
112
|
+
scale: scaleConfig,
|
|
113
|
+
style: {
|
|
114
|
+
lineWidth: 1,
|
|
115
|
+
},
|
|
116
|
+
tooltip: {
|
|
117
|
+
title: (d: any) => (d?.group ? d.group : false),
|
|
118
|
+
items: [
|
|
119
|
+
{ channel: 'x', name: 'x' },
|
|
120
|
+
{ channel: 'y', name: 'y' },
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
viewStyle: {
|
|
124
|
+
viewFill: backgroundColor,
|
|
125
|
+
},
|
|
126
|
+
theme: getThemeObject(theme),
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
chart.options(chartOptions);
|
|
130
|
+
chart.render();
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Destroy the chart instance and clean up resources.
|
|
135
|
+
*/
|
|
136
|
+
const destroy = (): void => {
|
|
137
|
+
if (chart) {
|
|
138
|
+
chart.destroy();
|
|
139
|
+
chart = null;
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
return {
|
|
144
|
+
render,
|
|
145
|
+
destroy,
|
|
146
|
+
};
|
|
147
|
+
};
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
# Summary
|
|
2
|
+
|
|
3
|
+
A narrative text visualization component for creating data interpretation reports and summaries with semantic entity annotations, built with AntV T8.
|
|
4
|
+
|
|
5
|
+
## What is Summary
|
|
6
|
+
|
|
7
|
+
Summary is a text visualization component that transforms data into structured narrative text using **T8 Syntax** - a declarative Markdown-like language for creating data narratives. Instead of traditional charts, Summary presents insights through natural language with semantically annotated data entities.
|
|
8
|
+
|
|
9
|
+
**Key Features:**
|
|
10
|
+
|
|
11
|
+
- **LLM-Friendly**: Simple syntax ideal for AI-generated content
|
|
12
|
+
- **Semantic Annotations**: Mark metrics, trends, and comparisons with meaning
|
|
13
|
+
- **Built-in Visualizations**: Mini charts embedded in text
|
|
14
|
+
- **Professional Styling**: Consistent, report-quality appearance
|
|
15
|
+
- **Theme Support**: Light and dark themes
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
import { Summary } from '@antv/gpt-vis/ai';
|
|
21
|
+
|
|
22
|
+
const summary = Summary({
|
|
23
|
+
container: '#container',
|
|
24
|
+
theme: 'light', // optional, default 'light'
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
summary.render(`
|
|
28
|
+
# Sales Report
|
|
29
|
+
|
|
30
|
+
Total sales reached [¥1,234,567](metric_value, origin=1234567) this quarter,
|
|
31
|
+
showing a [15.2% increase](ratio_value, origin=0.152, assessment="positive")
|
|
32
|
+
compared to last quarter.
|
|
33
|
+
`);
|
|
34
|
+
|
|
35
|
+
summary.destroy();
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Configuration
|
|
39
|
+
|
|
40
|
+
### Constructor Options (SummaryOptions)
|
|
41
|
+
|
|
42
|
+
| Property | Type | Default | Description |
|
|
43
|
+
| --------- | --------------------- | ------- | ----------------------------- |
|
|
44
|
+
| container | string \| HTMLElement | - | Container element or selector |
|
|
45
|
+
| theme | 'light' \| 'dark' | 'light' | Visual theme |
|
|
46
|
+
| width | number | - | Container width in pixels |
|
|
47
|
+
| height | number | - | Container height in pixels |
|
|
48
|
+
|
|
49
|
+
### Render Config
|
|
50
|
+
|
|
51
|
+
The `render()` method accepts a **T8 Syntax** string (see T8 Syntax Reference below).
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
type SummaryConfig = string; // T8 Syntax string
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## T8 Syntax Reference
|
|
58
|
+
|
|
59
|
+
T8 Syntax is a Markdown-like language for creating narrative text with semantic entity annotations.
|
|
60
|
+
|
|
61
|
+
### Document Structure
|
|
62
|
+
|
|
63
|
+
#### Headings
|
|
64
|
+
|
|
65
|
+
Use standard Markdown heading syntax:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
# Level 1 Heading (Main Title)
|
|
69
|
+
## Level 2 Heading (Section)
|
|
70
|
+
### Level 3 Heading (Subsection)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
#### Paragraphs
|
|
74
|
+
|
|
75
|
+
Regular text paragraphs are separated by blank lines:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
This is the first paragraph.
|
|
79
|
+
|
|
80
|
+
This is the second paragraph.
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
#### Lists
|
|
84
|
+
|
|
85
|
+
**Unordered Lists:**
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
- First item
|
|
89
|
+
- Second item
|
|
90
|
+
- Third item
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Ordered Lists:**
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
1. First step
|
|
97
|
+
2. Second step
|
|
98
|
+
3. Third step
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Text Formatting
|
|
102
|
+
|
|
103
|
+
- **Bold**: `This is **bold text**`
|
|
104
|
+
- **Italic**: `This is *italic text*`
|
|
105
|
+
- **Underline**: `This is __underlined text__`
|
|
106
|
+
- **Links**: `Visit [our website](https://example.com)`
|
|
107
|
+
|
|
108
|
+
### Entity Annotation Syntax
|
|
109
|
+
|
|
110
|
+
The core feature of T8 Syntax is **entity annotation** - marking data points with semantic meaning.
|
|
111
|
+
|
|
112
|
+
#### Basic Syntax
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
[displayText](entityType)
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Example:**
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
The [sales revenue](metric_name) reached [¥1.5 million](metric_value).
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
#### With Metadata
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
[displayText](entityType, key1=value1, key2=value2)
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Example:**
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
Revenue grew by [15.3%](ratio_value, origin=0.153, assessment="positive").
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Entity Types
|
|
137
|
+
|
|
138
|
+
| Entity Type | Description | Example |
|
|
139
|
+
| -------------------- | -------------------------- | --------------------------------------- |
|
|
140
|
+
| `metric_name` | Name of a metric or KPI | `[revenue](metric_name)` |
|
|
141
|
+
| `metric_value` | Primary metric value | `[¥1.5M](metric_value, origin=1500000)` |
|
|
142
|
+
| `other_metric_value` | Secondary metric value | `[avg: $120](other_metric_value)` |
|
|
143
|
+
| `delta_value` | Absolute change | `[+1,200](delta_value)` |
|
|
144
|
+
| `ratio_value` | Percentage change | `[+15.3%](ratio_value, origin=0.153)` |
|
|
145
|
+
| `contribute_ratio` | Contribution percentage | `[45%](contribute_ratio, origin=0.45)` |
|
|
146
|
+
| `trend_desc` | Trend description | `[rising](trend_desc)` |
|
|
147
|
+
| `dim_value` | Dimensional value/category | `[North America](dim_value)` |
|
|
148
|
+
| `time_desc` | Time period | `[Q3 2024](time_desc)` |
|
|
149
|
+
| `proportion` | Proportion or ratio | `[3 out of 5](proportion, origin=0.6)` |
|
|
150
|
+
|
|
151
|
+
### Metadata Fields
|
|
152
|
+
|
|
153
|
+
#### `origin` (number)
|
|
154
|
+
|
|
155
|
+
The raw numerical value behind the displayed text.
|
|
156
|
+
|
|
157
|
+
**Examples:**
|
|
158
|
+
|
|
159
|
+
- `[¥1.5M](metric_value, origin=1500000)`
|
|
160
|
+
- `[23.7%](ratio_value, origin=0.237)`
|
|
161
|
+
|
|
162
|
+
#### `assessment` (string)
|
|
163
|
+
|
|
164
|
+
Evaluates whether a change is positive, negative, or neutral.
|
|
165
|
+
|
|
166
|
+
**Valid values:** `"positive"`, `"negative"`, `"equal"`, `"neutral"`
|
|
167
|
+
|
|
168
|
+
**Examples:**
|
|
169
|
+
|
|
170
|
+
- `[increased 15%](ratio_value, assessment="positive")`
|
|
171
|
+
- `[dropped 8%](ratio_value, assessment="negative")`
|
|
172
|
+
|
|
173
|
+
#### `unit` (string)
|
|
174
|
+
|
|
175
|
+
The unit of measurement for the value.
|
|
176
|
+
|
|
177
|
+
**Example:**
|
|
178
|
+
|
|
179
|
+
- `[150](metric_value, unit="units")`
|
|
180
|
+
|
|
181
|
+
## Examples
|
|
182
|
+
|
|
183
|
+
### Basic Report
|
|
184
|
+
|
|
185
|
+
```ts
|
|
186
|
+
summary.render(`
|
|
187
|
+
# Q4 Sales Report
|
|
188
|
+
|
|
189
|
+
## Overview
|
|
190
|
+
Total [revenue](metric_name) reached [¥5,234,567](metric_value, origin=5234567),
|
|
191
|
+
representing a [15.2% increase](ratio_value, origin=0.152, assessment="positive")
|
|
192
|
+
compared to Q3.
|
|
193
|
+
|
|
194
|
+
## Key Metrics
|
|
195
|
+
- New customers: [1,234](metric_value, origin=1234)
|
|
196
|
+
- Retention rate: [89.5%](ratio_value, origin=0.895)
|
|
197
|
+
- Average order: [¥4,567](metric_value, origin=4567)
|
|
198
|
+
`);
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### With Multiple Sections
|
|
202
|
+
|
|
203
|
+
```ts
|
|
204
|
+
summary.render(`
|
|
205
|
+
# Market Analysis Report
|
|
206
|
+
|
|
207
|
+
## Executive Summary
|
|
208
|
+
[Global smartphone shipments](metric_name) reached [1.2 billion units](metric_value, origin=1200000000)
|
|
209
|
+
in [2024](time_desc), showing a [modest decline of 2.1%](ratio_value, origin=-0.021, assessment="negative").
|
|
210
|
+
|
|
211
|
+
## Regional Performance
|
|
212
|
+
|
|
213
|
+
### Asia-Pacific
|
|
214
|
+
[Asia-Pacific](dim_value) remains the largest market with [680M units](metric_value, origin=680000000),
|
|
215
|
+
accounting for [56.7%](contribute_ratio, origin=0.567) of global sales.
|
|
216
|
+
|
|
217
|
+
### North America
|
|
218
|
+
[North America](dim_value) showed [steady growth](trend_desc, assessment="positive")
|
|
219
|
+
with [220M units](metric_value, origin=220000000).
|
|
220
|
+
`);
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Dark Theme
|
|
224
|
+
|
|
225
|
+
```ts
|
|
226
|
+
const summaryDark = Summary({
|
|
227
|
+
container: '#container',
|
|
228
|
+
theme: 'dark',
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
summaryDark.render(`
|
|
232
|
+
# Sales Performance
|
|
233
|
+
Revenue reached [¥2.5M](metric_value, origin=2500000), up [18%](ratio_value, origin=0.18, assessment="positive").
|
|
234
|
+
`);
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Methods
|
|
238
|
+
|
|
239
|
+
- `render(syntax: string): void` - Render narrative text using T8 Syntax
|
|
240
|
+
- `destroy(): void` - Destroy the component and clean up resources
|
|
241
|
+
|
|
242
|
+
## Best Practices
|
|
243
|
+
|
|
244
|
+
### Content Guidelines
|
|
245
|
+
|
|
246
|
+
1. **Use Natural Language**: Write fluent, readable prose
|
|
247
|
+
2. **Annotate All Data**: Mark every metric, percentage, and value
|
|
248
|
+
3. **Provide Context**: Explain significance, not just numbers
|
|
249
|
+
4. **Structure Clearly**: Use headings and sections logically
|
|
250
|
+
5. **Add Metadata**: Include `origin`, `assessment` for richer visualization
|
|
251
|
+
|
|
252
|
+
### Entity Annotation Tips
|
|
253
|
+
|
|
254
|
+
✅ **DO annotate:**
|
|
255
|
+
|
|
256
|
+
- All numeric values and percentages
|
|
257
|
+
- Metric names and KPIs
|
|
258
|
+
- Time periods and geographic regions
|
|
259
|
+
- Trends and changes
|
|
260
|
+
- Comparisons and contributions
|
|
261
|
+
|
|
262
|
+
❌ **DON'T annotate:**
|
|
263
|
+
|
|
264
|
+
- Generic text without data meaning
|
|
265
|
+
- Connecting phrases
|
|
266
|
+
- Context without measurable concepts
|
|
267
|
+
|
|
268
|
+
## References
|
|
269
|
+
|
|
270
|
+
- [T8 GitHub Repository](https://github.com/antvis/T8)
|
|
271
|
+
- [T8 Documentation](https://github.com/antvis/T8/blob/main/site/en/tutorial/quick-start.md)
|
|
272
|
+
- [T8 Skill Guide](https://github.com/antvis/chart-visualization-skills/blob/master/skills/narrative-text-visualization/SKILL.md)
|