@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.
Files changed (547) hide show
  1. package/README.md +183 -114
  2. package/README.zh-CN.md +185 -112
  3. package/dist/cjs/gpt-vis/index.d.ts +108 -0
  4. package/dist/cjs/gpt-vis/index.js +173 -0
  5. package/dist/cjs/index.d.ts +44 -13
  6. package/dist/cjs/index.js +65 -35
  7. package/dist/cjs/syntax/index.d.ts +2 -0
  8. package/dist/cjs/{Text/mini-charts/hooks → syntax}/index.js +9 -7
  9. package/dist/cjs/syntax/parser.d.ts +67 -0
  10. package/dist/cjs/syntax/parser.js +235 -0
  11. package/dist/cjs/types/index.d.ts +33 -2
  12. package/dist/cjs/types/index.js +0 -6
  13. package/dist/cjs/util/theme.d.ts +21 -0
  14. package/dist/cjs/{theme.js → util/theme.js} +63 -14
  15. package/dist/cjs/vis/area/index.d.ts +60 -0
  16. package/dist/cjs/vis/area/index.js +151 -0
  17. package/dist/cjs/vis/bar/index.d.ts +60 -0
  18. package/dist/cjs/vis/bar/index.js +122 -0
  19. package/dist/cjs/vis/boxplot/index.d.ts +59 -0
  20. package/dist/cjs/vis/boxplot/index.js +106 -0
  21. package/dist/cjs/vis/column/index.d.ts +60 -0
  22. package/dist/cjs/vis/column/index.js +121 -0
  23. package/dist/cjs/vis/dual-axes/index.d.ts +64 -0
  24. package/dist/cjs/vis/dual-axes/index.js +147 -0
  25. package/dist/cjs/vis/funnel/index.d.ts +54 -0
  26. package/dist/cjs/vis/funnel/index.js +189 -0
  27. package/dist/cjs/vis/histogram/index.d.ts +47 -0
  28. package/dist/cjs/vis/histogram/index.js +112 -0
  29. package/dist/cjs/vis/line/index.d.ts +59 -0
  30. package/dist/cjs/vis/line/index.js +104 -0
  31. package/dist/cjs/vis/liquid/index.d.ts +44 -0
  32. package/dist/cjs/vis/liquid/index.js +87 -0
  33. package/dist/cjs/vis/pie/index.d.ts +55 -0
  34. package/dist/cjs/vis/pie/index.js +108 -0
  35. package/dist/cjs/vis/radar/index.d.ts +57 -0
  36. package/dist/cjs/vis/radar/index.js +152 -0
  37. package/dist/cjs/vis/sankey/index.d.ts +56 -0
  38. package/dist/cjs/vis/sankey/index.js +93 -0
  39. package/dist/cjs/vis/scatter/index.d.ts +54 -0
  40. package/dist/cjs/vis/scatter/index.js +94 -0
  41. package/dist/cjs/vis/summary/index.d.ts +41 -0
  42. package/dist/cjs/{Text/utils/getThemeColor.js → vis/summary/index.js} +33 -22
  43. package/dist/cjs/vis/table/index.d.ts +49 -0
  44. package/dist/cjs/vis/table/index.js +173 -0
  45. package/dist/cjs/vis/treemap/index.d.ts +68 -0
  46. package/dist/cjs/vis/treemap/index.js +105 -0
  47. package/dist/cjs/vis/venn/index.d.ts +54 -0
  48. package/dist/cjs/vis/venn/index.js +100 -0
  49. package/dist/cjs/vis/violin/index.d.ts +59 -0
  50. package/dist/cjs/vis/violin/index.js +155 -0
  51. package/dist/cjs/vis/waterfall/index.d.ts +67 -0
  52. package/dist/cjs/vis/waterfall/index.js +172 -0
  53. package/dist/cjs/vis/word-cloud/index.d.ts +53 -0
  54. package/dist/cjs/vis/word-cloud/index.js +89 -0
  55. package/dist/cjs/vis-wrapper/icons.d.ts +8 -0
  56. package/dist/cjs/vis-wrapper/icons.js +63 -0
  57. package/dist/cjs/vis-wrapper/index.d.ts +24 -0
  58. package/dist/cjs/vis-wrapper/index.js +231 -0
  59. package/dist/cjs/vis-wrapper/styles.d.ts +8 -0
  60. package/dist/cjs/vis-wrapper/styles.js +214 -0
  61. package/dist/esm/gpt-vis/index.d.ts +108 -0
  62. package/dist/esm/gpt-vis/index.js +224 -0
  63. package/dist/esm/index.d.ts +44 -13
  64. package/dist/esm/index.js +22 -15
  65. package/dist/esm/syntax/index.d.ts +2 -0
  66. package/dist/esm/syntax/index.js +1 -0
  67. package/dist/esm/syntax/parser.d.ts +67 -0
  68. package/dist/esm/syntax/parser.js +401 -0
  69. package/dist/esm/types/index.d.ts +33 -2
  70. package/dist/esm/types/index.js +0 -1
  71. package/dist/esm/util/theme.d.ts +21 -0
  72. package/dist/esm/util/theme.js +141 -0
  73. package/dist/esm/vis/area/index.d.ts +60 -0
  74. package/dist/esm/vis/area/index.js +230 -0
  75. package/dist/esm/vis/bar/index.d.ts +60 -0
  76. package/dist/esm/vis/bar/index.js +203 -0
  77. package/dist/esm/vis/boxplot/index.d.ts +59 -0
  78. package/dist/esm/vis/boxplot/index.js +164 -0
  79. package/dist/esm/vis/column/index.d.ts +60 -0
  80. package/dist/esm/vis/column/index.js +198 -0
  81. package/dist/esm/vis/dual-axes/index.d.ts +64 -0
  82. package/dist/esm/vis/dual-axes/index.js +234 -0
  83. package/dist/esm/vis/funnel/index.d.ts +54 -0
  84. package/dist/esm/vis/funnel/index.js +246 -0
  85. package/dist/esm/vis/histogram/index.d.ts +47 -0
  86. package/dist/esm/vis/histogram/index.js +148 -0
  87. package/dist/esm/vis/line/index.d.ts +59 -0
  88. package/dist/esm/vis/line/index.js +172 -0
  89. package/dist/esm/vis/liquid/index.d.ts +44 -0
  90. package/dist/esm/vis/liquid/index.js +130 -0
  91. package/dist/esm/vis/pie/index.d.ts +55 -0
  92. package/dist/esm/vis/pie/index.js +168 -0
  93. package/dist/esm/vis/radar/index.d.ts +57 -0
  94. package/dist/esm/vis/radar/index.js +222 -0
  95. package/dist/esm/vis/sankey/index.d.ts +56 -0
  96. package/dist/esm/vis/sankey/index.js +135 -0
  97. package/dist/esm/vis/scatter/index.d.ts +54 -0
  98. package/dist/esm/vis/scatter/index.js +158 -0
  99. package/dist/esm/vis/summary/index.d.ts +41 -0
  100. package/dist/esm/vis/summary/index.js +80 -0
  101. package/dist/esm/vis/table/index.d.ts +49 -0
  102. package/dist/esm/vis/table/index.js +160 -0
  103. package/dist/esm/vis/treemap/index.d.ts +68 -0
  104. package/dist/esm/vis/treemap/index.js +158 -0
  105. package/dist/esm/vis/venn/index.d.ts +54 -0
  106. package/dist/esm/vis/venn/index.js +142 -0
  107. package/dist/esm/vis/violin/index.d.ts +59 -0
  108. package/dist/esm/vis/violin/index.js +245 -0
  109. package/dist/esm/vis/waterfall/index.d.ts +67 -0
  110. package/dist/esm/vis/waterfall/index.js +245 -0
  111. package/dist/esm/vis/word-cloud/index.d.ts +53 -0
  112. package/dist/esm/vis/word-cloud/index.js +128 -0
  113. package/dist/esm/vis-wrapper/icons.d.ts +8 -0
  114. package/dist/esm/vis-wrapper/icons.js +29 -0
  115. package/dist/esm/vis-wrapper/index.d.ts +24 -0
  116. package/dist/esm/vis-wrapper/index.js +237 -0
  117. package/dist/esm/vis-wrapper/styles.d.ts +8 -0
  118. package/dist/esm/vis-wrapper/styles.js +21 -0
  119. package/dist/umd/index.min.js +1 -1
  120. package/package.json +26 -67
  121. package/src/gpt-vis/index.ts +283 -0
  122. package/src/index.ts +44 -0
  123. package/src/readme.md +37 -0
  124. package/src/syntax/index.ts +2 -0
  125. package/src/syntax/parser.ts +411 -0
  126. package/src/types/index.ts +29 -0
  127. package/src/util/theme.ts +167 -0
  128. package/src/vis/area/README.md +143 -0
  129. package/src/vis/area/index.ts +212 -0
  130. package/src/vis/bar/README.md +158 -0
  131. package/src/vis/bar/index.ts +186 -0
  132. package/src/vis/boxplot/README.md +168 -0
  133. package/src/vis/boxplot/index.ts +162 -0
  134. package/src/vis/column/README.md +158 -0
  135. package/src/vis/column/index.ts +185 -0
  136. package/src/vis/dual-axes/README.md +191 -0
  137. package/src/vis/dual-axes/index.ts +218 -0
  138. package/src/vis/funnel/README.md +143 -0
  139. package/src/vis/funnel/index.ts +238 -0
  140. package/src/vis/histogram/README.md +130 -0
  141. package/src/vis/histogram/index.ts +153 -0
  142. package/src/vis/line/README.md +138 -0
  143. package/src/vis/line/index.ts +159 -0
  144. package/src/vis/liquid/README.md +150 -0
  145. package/src/vis/liquid/index.ts +130 -0
  146. package/src/vis/pie/README.md +127 -0
  147. package/src/vis/pie/index.ts +163 -0
  148. package/src/vis/radar/README.md +184 -0
  149. package/src/vis/radar/index.ts +214 -0
  150. package/src/vis/sankey/README.md +144 -0
  151. package/src/vis/sankey/index.ts +144 -0
  152. package/src/vis/scatter/README.md +145 -0
  153. package/src/vis/scatter/index.ts +147 -0
  154. package/src/vis/summary/README.md +272 -0
  155. package/src/vis/summary/index.ts +91 -0
  156. package/src/vis/table/README.md +174 -0
  157. package/src/vis/table/index.ts +241 -0
  158. package/src/vis/treemap/README.md +199 -0
  159. package/src/vis/treemap/index.ts +167 -0
  160. package/src/vis/venn/README.md +153 -0
  161. package/src/vis/venn/index.ts +149 -0
  162. package/src/vis/violin/README.md +168 -0
  163. package/src/vis/violin/index.ts +216 -0
  164. package/src/vis/waterfall/README.md +178 -0
  165. package/src/vis/waterfall/index.ts +258 -0
  166. package/src/vis/word-cloud/README.md +137 -0
  167. package/src/vis/word-cloud/index.ts +137 -0
  168. package/src/vis-wrapper/README.md +159 -0
  169. package/src/vis-wrapper/icons.ts +35 -0
  170. package/src/vis-wrapper/index.ts +276 -0
  171. package/src/vis-wrapper/styles.ts +195 -0
  172. package/README.ja-JP.md +0 -164
  173. package/dist/cjs/Area/index.d.ts +0 -11
  174. package/dist/cjs/Area/index.js +0 -105
  175. package/dist/cjs/Bar/index.d.ts +0 -14
  176. package/dist/cjs/Bar/index.js +0 -101
  177. package/dist/cjs/Boxplot/index.d.ts +0 -11
  178. package/dist/cjs/Boxplot/index.js +0 -88
  179. package/dist/cjs/ChartCodeRender/Loading.d.ts +0 -6
  180. package/dist/cjs/ChartCodeRender/Loading.js +0 -54
  181. package/dist/cjs/ChartCodeRender/VisChart.d.ts +0 -19
  182. package/dist/cjs/ChartCodeRender/VisChart.js +0 -338
  183. package/dist/cjs/ChartCodeRender/icon.d.ts +0 -10
  184. package/dist/cjs/ChartCodeRender/icon.js +0 -162
  185. package/dist/cjs/ChartCodeRender/index.d.ts +0 -8
  186. package/dist/cjs/ChartCodeRender/index.js +0 -113
  187. package/dist/cjs/ChartCodeRender/styles.d.ts +0 -19
  188. package/dist/cjs/ChartCodeRender/styles.js +0 -232
  189. package/dist/cjs/ChartCodeRender/type.d.ts +0 -176
  190. package/dist/cjs/ChartCodeRender/type.js +0 -17
  191. package/dist/cjs/ChartCodeRender/utils.d.ts +0 -1
  192. package/dist/cjs/ChartCodeRender/utils.js +0 -51
  193. package/dist/cjs/Column/index.d.ts +0 -14
  194. package/dist/cjs/Column/index.js +0 -102
  195. package/dist/cjs/ConfigProvider/context.d.ts +0 -3
  196. package/dist/cjs/ConfigProvider/context.js +0 -41
  197. package/dist/cjs/ConfigProvider/hooks/index.d.ts +0 -1
  198. package/dist/cjs/ConfigProvider/hooks/index.js +0 -23
  199. package/dist/cjs/ConfigProvider/hooks/useConfig.d.ts +0 -13
  200. package/dist/cjs/ConfigProvider/hooks/useConfig.js +0 -109
  201. package/dist/cjs/ConfigProvider/index.d.ts +0 -7
  202. package/dist/cjs/ConfigProvider/index.js +0 -43
  203. package/dist/cjs/DualAxes/index.d.ts +0 -20
  204. package/dist/cjs/DualAxes/index.js +0 -84
  205. package/dist/cjs/DualAxes/util.d.ts +0 -9
  206. package/dist/cjs/DualAxes/util.js +0 -77
  207. package/dist/cjs/FishboneDiagram/index.d.ts +0 -7
  208. package/dist/cjs/FishboneDiagram/index.js +0 -66
  209. package/dist/cjs/FlowDiagram/helper.d.ts +0 -7
  210. package/dist/cjs/FlowDiagram/helper.js +0 -83
  211. package/dist/cjs/FlowDiagram/index.d.ts +0 -6
  212. package/dist/cjs/FlowDiagram/index.js +0 -107
  213. package/dist/cjs/Funnel/index.d.ts +0 -12
  214. package/dist/cjs/Funnel/index.js +0 -173
  215. package/dist/cjs/GPTVis/Lite.d.ts +0 -19
  216. package/dist/cjs/GPTVis/Lite.js +0 -81
  217. package/dist/cjs/GPTVis/hooks/useContext.d.ts +0 -8
  218. package/dist/cjs/GPTVis/hooks/useContext.js +0 -49
  219. package/dist/cjs/GPTVis/hooks/useEvent.d.ts +0 -1
  220. package/dist/cjs/GPTVis/hooks/useEvent.js +0 -33
  221. package/dist/cjs/GPTVis/index.d.ts +0 -6
  222. package/dist/cjs/GPTVis/index.js +0 -42
  223. package/dist/cjs/HeatMap/index.d.ts +0 -12
  224. package/dist/cjs/HeatMap/index.js +0 -67
  225. package/dist/cjs/Histogram/index.d.ts +0 -8
  226. package/dist/cjs/Histogram/index.js +0 -79
  227. package/dist/cjs/IndentedTree/index.d.ts +0 -7
  228. package/dist/cjs/IndentedTree/index.js +0 -78
  229. package/dist/cjs/Line/index.d.ts +0 -11
  230. package/dist/cjs/Line/index.js +0 -94
  231. package/dist/cjs/Liquid/index.d.ts +0 -11
  232. package/dist/cjs/Liquid/index.js +0 -85
  233. package/dist/cjs/Map/Component/MapView.d.ts +0 -3
  234. package/dist/cjs/Map/Component/MapView.js +0 -40
  235. package/dist/cjs/Map/Component/Marker.d.ts +0 -3
  236. package/dist/cjs/Map/Component/Marker.js +0 -53
  237. package/dist/cjs/Map/Component/Polyline.d.ts +0 -3
  238. package/dist/cjs/Map/Component/Polyline.js +0 -50
  239. package/dist/cjs/Map/Component/index.d.ts +0 -4
  240. package/dist/cjs/Map/Component/index.js +0 -45
  241. package/dist/cjs/Map/data.json +0 -305
  242. package/dist/cjs/Map/index.d.ts +0 -5
  243. package/dist/cjs/Map/index.js +0 -61
  244. package/dist/cjs/MindMap/index.d.ts +0 -7
  245. package/dist/cjs/MindMap/index.js +0 -75
  246. package/dist/cjs/NetworkGraph/index.d.ts +0 -6
  247. package/dist/cjs/NetworkGraph/index.js +0 -75
  248. package/dist/cjs/OrganizationChart/index.d.ts +0 -6
  249. package/dist/cjs/OrganizationChart/index.js +0 -95
  250. package/dist/cjs/PathMap/index.d.ts +0 -6
  251. package/dist/cjs/PathMap/index.js +0 -58
  252. package/dist/cjs/Pie/index.d.ts +0 -23
  253. package/dist/cjs/Pie/index.js +0 -94
  254. package/dist/cjs/PinMap/index.d.ts +0 -6
  255. package/dist/cjs/PinMap/index.js +0 -44
  256. package/dist/cjs/PinMap/maker.svg +0 -1
  257. package/dist/cjs/Radar/index.d.ts +0 -13
  258. package/dist/cjs/Radar/index.js +0 -153
  259. package/dist/cjs/Sankey/index.d.ts +0 -14
  260. package/dist/cjs/Sankey/index.js +0 -110
  261. package/dist/cjs/Scatter/index.d.ts +0 -13
  262. package/dist/cjs/Scatter/index.js +0 -103
  263. package/dist/cjs/Spreadsheet/index.d.ts +0 -28
  264. package/dist/cjs/Spreadsheet/index.js +0 -113
  265. package/dist/cjs/Table/index.d.ts +0 -9
  266. package/dist/cjs/Table/index.js +0 -91
  267. package/dist/cjs/Text/VisText.d.ts +0 -4
  268. package/dist/cjs/Text/VisText.js +0 -82
  269. package/dist/cjs/Text/config.d.ts +0 -18
  270. package/dist/cjs/Text/config.js +0 -91
  271. package/dist/cjs/Text/custom-icons/index.d.ts +0 -3
  272. package/dist/cjs/Text/custom-icons/index.js +0 -66
  273. package/dist/cjs/Text/index.d.ts +0 -3
  274. package/dist/cjs/Text/index.js +0 -42
  275. package/dist/cjs/Text/mini-charts/hooks/getElementFontSize.d.ts +0 -1
  276. package/dist/cjs/Text/mini-charts/hooks/getElementFontSize.js +0 -65
  277. package/dist/cjs/Text/mini-charts/hooks/index.d.ts +0 -1
  278. package/dist/cjs/Text/mini-charts/hooks/useSvgWrapper.d.ts +0 -5
  279. package/dist/cjs/Text/mini-charts/hooks/useSvgWrapper.js +0 -65
  280. package/dist/cjs/Text/mini-charts/index.d.ts +0 -2
  281. package/dist/cjs/Text/mini-charts/index.js +0 -25
  282. package/dist/cjs/Text/mini-charts/line/SingleLineChart.d.ts +0 -3
  283. package/dist/cjs/Text/mini-charts/line/SingleLineChart.js +0 -63
  284. package/dist/cjs/Text/mini-charts/line/index.d.ts +0 -1
  285. package/dist/cjs/Text/mini-charts/line/index.js +0 -29
  286. package/dist/cjs/Text/mini-charts/line/scaleLinear.d.ts +0 -4
  287. package/dist/cjs/Text/mini-charts/line/scaleLinear.js +0 -35
  288. package/dist/cjs/Text/mini-charts/line/useLineCompute.d.ts +0 -6
  289. package/dist/cjs/Text/mini-charts/line/useLineCompute.js +0 -103
  290. package/dist/cjs/Text/mini-charts/proportion/getArcPath.d.ts +0 -1
  291. package/dist/cjs/Text/mini-charts/proportion/getArcPath.js +0 -51
  292. package/dist/cjs/Text/mini-charts/proportion/index.d.ts +0 -3
  293. package/dist/cjs/Text/mini-charts/proportion/index.js +0 -71
  294. package/dist/cjs/Text/theme.d.ts +0 -24
  295. package/dist/cjs/Text/theme.js +0 -52
  296. package/dist/cjs/Text/types.d.ts +0 -20
  297. package/dist/cjs/Text/types.js +0 -17
  298. package/dist/cjs/Text/utils/getThemeColor.d.ts +0 -11
  299. package/dist/cjs/Text/utils/index.d.ts +0 -2
  300. package/dist/cjs/Text/utils/index.js +0 -25
  301. package/dist/cjs/Text/utils/useAntdDarkAlgorithm.d.ts +0 -2
  302. package/dist/cjs/Text/utils/useAntdDarkAlgorithm.js +0 -40
  303. package/dist/cjs/Treemap/index.d.ts +0 -10
  304. package/dist/cjs/Treemap/index.js +0 -93
  305. package/dist/cjs/Venn/index.d.ts +0 -32
  306. package/dist/cjs/Venn/index.js +0 -87
  307. package/dist/cjs/Violin/index.d.ts +0 -10
  308. package/dist/cjs/Violin/index.js +0 -190
  309. package/dist/cjs/Waterfall/index.d.ts +0 -25
  310. package/dist/cjs/Waterfall/index.js +0 -184
  311. package/dist/cjs/WordCloud/index.d.ts +0 -9
  312. package/dist/cjs/WordCloud/index.js +0 -76
  313. package/dist/cjs/constants/index.d.ts +0 -2
  314. package/dist/cjs/constants/index.js +0 -35
  315. package/dist/cjs/export-map.browser.d.ts +0 -4
  316. package/dist/cjs/export-map.browser.js +0 -48
  317. package/dist/cjs/export-map.d.ts +0 -10
  318. package/dist/cjs/export-map.js +0 -41
  319. package/dist/cjs/export.d.ts +0 -76
  320. package/dist/cjs/export.js +0 -159
  321. package/dist/cjs/render.d.ts +0 -2
  322. package/dist/cjs/render.js +0 -67
  323. package/dist/cjs/theme.d.ts +0 -2
  324. package/dist/cjs/types/chart.d.ts +0 -88
  325. package/dist/cjs/types/chart.js +0 -61
  326. package/dist/cjs/types/config.d.ts +0 -25
  327. package/dist/cjs/types/config.js +0 -17
  328. package/dist/cjs/types/map.d.ts +0 -242
  329. package/dist/cjs/types/map.js +0 -17
  330. package/dist/cjs/utils/config.d.ts +0 -5
  331. package/dist/cjs/utils/config.js +0 -76
  332. package/dist/cjs/utils/graph.d.ts +0 -18
  333. package/dist/cjs/utils/graph.js +0 -64
  334. package/dist/cjs/utils/index.d.ts +0 -1
  335. package/dist/cjs/utils/index.js +0 -23
  336. package/dist/cjs/utils/map/context.d.ts +0 -3
  337. package/dist/cjs/utils/map/context.js +0 -45
  338. package/dist/cjs/utils/map/controls.d.ts +0 -0
  339. package/dist/cjs/utils/map/controls.js +0 -0
  340. package/dist/cjs/utils/map/index.d.ts +0 -6
  341. package/dist/cjs/utils/map/index.js +0 -33
  342. package/dist/cjs/utils/map/markers.d.ts +0 -2
  343. package/dist/cjs/utils/map/markers.js +0 -88
  344. package/dist/cjs/utils/map/polyline.d.ts +0 -2
  345. package/dist/cjs/utils/map/polyline.js +0 -52
  346. package/dist/cjs/utils/map/style.d.ts +0 -45
  347. package/dist/cjs/utils/map/style.js +0 -112
  348. package/dist/cjs/utils/map/util.d.ts +0 -1
  349. package/dist/cjs/utils/map/util.js +0 -38
  350. package/dist/cjs/utils/map/view.d.ts +0 -5
  351. package/dist/cjs/utils/map/view.js +0 -100
  352. package/dist/cjs/utils/palette.d.ts +0 -2
  353. package/dist/cjs/utils/palette.js +0 -54
  354. package/dist/cjs/utils/plot.d.ts +0 -5
  355. package/dist/cjs/utils/plot.js +0 -90
  356. package/dist/cjs/version.d.ts +0 -2
  357. package/dist/cjs/version.js +0 -25
  358. package/dist/esm/Area/index.d.ts +0 -11
  359. package/dist/esm/Area/index.js +0 -108
  360. package/dist/esm/Bar/index.d.ts +0 -14
  361. package/dist/esm/Bar/index.js +0 -92
  362. package/dist/esm/Boxplot/index.d.ts +0 -11
  363. package/dist/esm/Boxplot/index.js +0 -86
  364. package/dist/esm/ChartCodeRender/Loading.d.ts +0 -6
  365. package/dist/esm/ChartCodeRender/Loading.js +0 -21
  366. package/dist/esm/ChartCodeRender/VisChart.d.ts +0 -19
  367. package/dist/esm/ChartCodeRender/VisChart.js +0 -450
  368. package/dist/esm/ChartCodeRender/icon.d.ts +0 -10
  369. package/dist/esm/ChartCodeRender/icon.js +0 -103
  370. package/dist/esm/ChartCodeRender/index.d.ts +0 -8
  371. package/dist/esm/ChartCodeRender/index.js +0 -99
  372. package/dist/esm/ChartCodeRender/styles.d.ts +0 -19
  373. package/dist/esm/ChartCodeRender/styles.js +0 -61
  374. package/dist/esm/ChartCodeRender/type.d.ts +0 -176
  375. package/dist/esm/ChartCodeRender/type.js +0 -1
  376. package/dist/esm/ChartCodeRender/utils.d.ts +0 -1
  377. package/dist/esm/ChartCodeRender/utils.js +0 -37
  378. package/dist/esm/Column/index.d.ts +0 -14
  379. package/dist/esm/Column/index.js +0 -93
  380. package/dist/esm/ConfigProvider/context.d.ts +0 -3
  381. package/dist/esm/ConfigProvider/context.js +0 -3
  382. package/dist/esm/ConfigProvider/hooks/index.d.ts +0 -1
  383. package/dist/esm/ConfigProvider/hooks/index.js +0 -1
  384. package/dist/esm/ConfigProvider/hooks/useConfig.d.ts +0 -13
  385. package/dist/esm/ConfigProvider/hooks/useConfig.js +0 -71
  386. package/dist/esm/ConfigProvider/index.d.ts +0 -7
  387. package/dist/esm/ConfigProvider/index.js +0 -17
  388. package/dist/esm/DualAxes/index.d.ts +0 -20
  389. package/dist/esm/DualAxes/index.js +0 -77
  390. package/dist/esm/DualAxes/util.d.ts +0 -9
  391. package/dist/esm/DualAxes/util.js +0 -77
  392. package/dist/esm/FishboneDiagram/index.d.ts +0 -7
  393. package/dist/esm/FishboneDiagram/index.js +0 -43
  394. package/dist/esm/FlowDiagram/helper.d.ts +0 -7
  395. package/dist/esm/FlowDiagram/helper.js +0 -76
  396. package/dist/esm/FlowDiagram/index.d.ts +0 -6
  397. package/dist/esm/FlowDiagram/index.js +0 -72
  398. package/dist/esm/Funnel/index.d.ts +0 -12
  399. package/dist/esm/Funnel/index.js +0 -171
  400. package/dist/esm/GPTVis/Lite.d.ts +0 -19
  401. package/dist/esm/GPTVis/Lite.js +0 -57
  402. package/dist/esm/GPTVis/hooks/useContext.d.ts +0 -8
  403. package/dist/esm/GPTVis/hooks/useContext.js +0 -9
  404. package/dist/esm/GPTVis/hooks/useEvent.d.ts +0 -1
  405. package/dist/esm/GPTVis/hooks/useEvent.js +0 -6
  406. package/dist/esm/GPTVis/index.d.ts +0 -6
  407. package/dist/esm/GPTVis/index.js +0 -25
  408. package/dist/esm/HeatMap/index.d.ts +0 -12
  409. package/dist/esm/HeatMap/index.js +0 -45
  410. package/dist/esm/Histogram/index.d.ts +0 -8
  411. package/dist/esm/Histogram/index.js +0 -75
  412. package/dist/esm/IndentedTree/index.d.ts +0 -7
  413. package/dist/esm/IndentedTree/index.js +0 -68
  414. package/dist/esm/Line/index.d.ts +0 -11
  415. package/dist/esm/Line/index.js +0 -92
  416. package/dist/esm/Liquid/index.d.ts +0 -11
  417. package/dist/esm/Liquid/index.js +0 -100
  418. package/dist/esm/Map/Component/MapView.d.ts +0 -3
  419. package/dist/esm/Map/Component/MapView.js +0 -18
  420. package/dist/esm/Map/Component/Marker.d.ts +0 -3
  421. package/dist/esm/Map/Component/Marker.js +0 -40
  422. package/dist/esm/Map/Component/Polyline.d.ts +0 -3
  423. package/dist/esm/Map/Component/Polyline.js +0 -35
  424. package/dist/esm/Map/Component/index.d.ts +0 -4
  425. package/dist/esm/Map/Component/index.js +0 -4
  426. package/dist/esm/Map/data.json +0 -305
  427. package/dist/esm/Map/index.d.ts +0 -5
  428. package/dist/esm/Map/index.js +0 -50
  429. package/dist/esm/MindMap/index.d.ts +0 -7
  430. package/dist/esm/MindMap/index.js +0 -69
  431. package/dist/esm/NetworkGraph/index.d.ts +0 -6
  432. package/dist/esm/NetworkGraph/index.js +0 -64
  433. package/dist/esm/OrganizationChart/index.d.ts +0 -6
  434. package/dist/esm/OrganizationChart/index.js +0 -75
  435. package/dist/esm/PathMap/index.d.ts +0 -6
  436. package/dist/esm/PathMap/index.js +0 -41
  437. package/dist/esm/Pie/index.d.ts +0 -23
  438. package/dist/esm/Pie/index.js +0 -96
  439. package/dist/esm/PinMap/index.d.ts +0 -6
  440. package/dist/esm/PinMap/index.js +0 -22
  441. package/dist/esm/PinMap/maker.svg +0 -1
  442. package/dist/esm/Radar/index.d.ts +0 -13
  443. package/dist/esm/Radar/index.js +0 -150
  444. package/dist/esm/Sankey/index.d.ts +0 -14
  445. package/dist/esm/Sankey/index.js +0 -98
  446. package/dist/esm/Scatter/index.d.ts +0 -13
  447. package/dist/esm/Scatter/index.js +0 -95
  448. package/dist/esm/Spreadsheet/index.d.ts +0 -28
  449. package/dist/esm/Spreadsheet/index.js +0 -129
  450. package/dist/esm/Table/index.d.ts +0 -9
  451. package/dist/esm/Table/index.js +0 -30
  452. package/dist/esm/Text/VisText.d.ts +0 -4
  453. package/dist/esm/Text/VisText.js +0 -55
  454. package/dist/esm/Text/config.d.ts +0 -18
  455. package/dist/esm/Text/config.js +0 -82
  456. package/dist/esm/Text/custom-icons/index.d.ts +0 -3
  457. package/dist/esm/Text/custom-icons/index.js +0 -37
  458. package/dist/esm/Text/index.d.ts +0 -3
  459. package/dist/esm/Text/index.js +0 -2
  460. package/dist/esm/Text/mini-charts/hooks/getElementFontSize.d.ts +0 -1
  461. package/dist/esm/Text/mini-charts/hooks/getElementFontSize.js +0 -32
  462. package/dist/esm/Text/mini-charts/hooks/index.d.ts +0 -1
  463. package/dist/esm/Text/mini-charts/hooks/index.js +0 -1
  464. package/dist/esm/Text/mini-charts/hooks/useSvgWrapper.d.ts +0 -5
  465. package/dist/esm/Text/mini-charts/hooks/useSvgWrapper.js +0 -37
  466. package/dist/esm/Text/mini-charts/index.d.ts +0 -2
  467. package/dist/esm/Text/mini-charts/index.js +0 -2
  468. package/dist/esm/Text/mini-charts/line/SingleLineChart.d.ts +0 -3
  469. package/dist/esm/Text/mini-charts/line/SingleLineChart.js +0 -62
  470. package/dist/esm/Text/mini-charts/line/index.d.ts +0 -1
  471. package/dist/esm/Text/mini-charts/line/index.js +0 -1
  472. package/dist/esm/Text/mini-charts/line/scaleLinear.d.ts +0 -4
  473. package/dist/esm/Text/mini-charts/line/scaleLinear.js +0 -19
  474. package/dist/esm/Text/mini-charts/line/useLineCompute.d.ts +0 -6
  475. package/dist/esm/Text/mini-charts/line/useLineCompute.js +0 -118
  476. package/dist/esm/Text/mini-charts/proportion/getArcPath.d.ts +0 -1
  477. package/dist/esm/Text/mini-charts/proportion/getArcPath.js +0 -19
  478. package/dist/esm/Text/mini-charts/proportion/index.d.ts +0 -3
  479. package/dist/esm/Text/mini-charts/proportion/index.js +0 -64
  480. package/dist/esm/Text/theme.d.ts +0 -24
  481. package/dist/esm/Text/theme.js +0 -24
  482. package/dist/esm/Text/types.d.ts +0 -20
  483. package/dist/esm/Text/types.js +0 -1
  484. package/dist/esm/Text/utils/getThemeColor.d.ts +0 -11
  485. package/dist/esm/Text/utils/getThemeColor.js +0 -29
  486. package/dist/esm/Text/utils/index.d.ts +0 -2
  487. package/dist/esm/Text/utils/index.js +0 -2
  488. package/dist/esm/Text/utils/useAntdDarkAlgorithm.d.ts +0 -2
  489. package/dist/esm/Text/utils/useAntdDarkAlgorithm.js +0 -14
  490. package/dist/esm/Treemap/index.d.ts +0 -10
  491. package/dist/esm/Treemap/index.js +0 -88
  492. package/dist/esm/Venn/index.d.ts +0 -32
  493. package/dist/esm/Venn/index.js +0 -69
  494. package/dist/esm/Violin/index.d.ts +0 -10
  495. package/dist/esm/Violin/index.js +0 -199
  496. package/dist/esm/Waterfall/index.d.ts +0 -25
  497. package/dist/esm/Waterfall/index.js +0 -185
  498. package/dist/esm/WordCloud/index.d.ts +0 -9
  499. package/dist/esm/WordCloud/index.js +0 -59
  500. package/dist/esm/constants/index.d.ts +0 -2
  501. package/dist/esm/constants/index.js +0 -9
  502. package/dist/esm/export-map.browser.d.ts +0 -4
  503. package/dist/esm/export-map.browser.js +0 -5
  504. package/dist/esm/export-map.d.ts +0 -10
  505. package/dist/esm/export-map.js +0 -9
  506. package/dist/esm/export.d.ts +0 -76
  507. package/dist/esm/export.js +0 -51
  508. package/dist/esm/render.d.ts +0 -2
  509. package/dist/esm/render.js +0 -32
  510. package/dist/esm/theme.d.ts +0 -2
  511. package/dist/esm/theme.js +0 -103
  512. package/dist/esm/types/chart.d.ts +0 -88
  513. package/dist/esm/types/chart.js +0 -33
  514. package/dist/esm/types/config.d.ts +0 -25
  515. package/dist/esm/types/config.js +0 -1
  516. package/dist/esm/types/map.d.ts +0 -242
  517. package/dist/esm/types/map.js +0 -1
  518. package/dist/esm/utils/config.d.ts +0 -5
  519. package/dist/esm/utils/config.js +0 -53
  520. package/dist/esm/utils/graph.d.ts +0 -18
  521. package/dist/esm/utils/graph.js +0 -55
  522. package/dist/esm/utils/index.d.ts +0 -1
  523. package/dist/esm/utils/index.js +0 -1
  524. package/dist/esm/utils/map/context.d.ts +0 -3
  525. package/dist/esm/utils/map/context.js +0 -42
  526. package/dist/esm/utils/map/controls.d.ts +0 -0
  527. package/dist/esm/utils/map/controls.js +0 -0
  528. package/dist/esm/utils/map/index.d.ts +0 -6
  529. package/dist/esm/utils/map/index.js +0 -6
  530. package/dist/esm/utils/map/markers.d.ts +0 -2
  531. package/dist/esm/utils/map/markers.js +0 -69
  532. package/dist/esm/utils/map/polyline.d.ts +0 -2
  533. package/dist/esm/utils/map/polyline.js +0 -31
  534. package/dist/esm/utils/map/style.d.ts +0 -45
  535. package/dist/esm/utils/map/style.js +0 -80
  536. package/dist/esm/utils/map/util.d.ts +0 -1
  537. package/dist/esm/utils/map/util.js +0 -11
  538. package/dist/esm/utils/map/view.d.ts +0 -5
  539. package/dist/esm/utils/map/view.js +0 -83
  540. package/dist/esm/utils/palette.d.ts +0 -2
  541. package/dist/esm/utils/palette.js +0 -2
  542. package/dist/esm/utils/plot.d.ts +0 -5
  543. package/dist/esm/utils/plot.js +0 -86
  544. package/dist/esm/version.d.ts +0 -2
  545. package/dist/esm/version.js +0 -1
  546. package/dist/umd/737.async.js +0 -1
  547. package/dist/umd/index.min.css +0 -1
@@ -0,0 +1,163 @@
1
+ import { Chart } from '@antv/g2';
2
+ import type { VisualizationOptions } from '../../types';
3
+ import { getBackgroundColor, getThemeColors, getThemeObject } from '../../util/theme';
4
+
5
+ /**
6
+ * PieDataItem is the type for each data item in the pie chart.
7
+ */
8
+ type PieDataItem = {
9
+ category: string;
10
+ value: number;
11
+ };
12
+
13
+ /**
14
+ * PieConfig defines the configuration for rendering the pie chart.
15
+ */
16
+ export interface PieConfig {
17
+ type?: 'pie';
18
+ data: PieDataItem[];
19
+ innerRadius?: number;
20
+ theme?: 'default' | 'academy' | 'dark';
21
+ title?: string;
22
+ style?: {
23
+ backgroundColor?: string;
24
+ palette?: string[];
25
+ };
26
+ }
27
+
28
+ /**
29
+ * PieInstance represents a pie chart instance with render and destroy methods.
30
+ */
31
+ export interface PieInstance {
32
+ render: (config: PieConfig) => void;
33
+ destroy: () => void;
34
+ }
35
+
36
+ /**
37
+ * Pie chart component using G2 5.0.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * const pie = Pie({
42
+ * container: '#container',
43
+ * width: 600,
44
+ * height: 400,
45
+ * });
46
+ *
47
+ * pie.render({
48
+ * type: 'pie',
49
+ * data: [
50
+ * { category: '分类一', value: 27 },
51
+ * { category: '分类二', value: 25 },
52
+ * ],
53
+ * innerRadius: 0.6,
54
+ * theme: 'academy'
55
+ * });
56
+ *
57
+ * pie.destroy();
58
+ * ```
59
+ */
60
+ export const Pie = (options: VisualizationOptions): PieInstance => {
61
+ const { container, width, height, theme: chartTheme = 'default' } = options;
62
+ let chart: Chart | null = null;
63
+
64
+ // Precision multiplier for rounding percentages to 4 decimal places
65
+ const PERCENTAGE_PRECISION_MULTIPLIER = 10000;
66
+
67
+ /**
68
+ * Render the pie chart with the given configuration.
69
+ */
70
+ const render = (config: PieConfig): void => {
71
+ const { data = [], innerRadius = 0, theme = chartTheme, title, style = {} } = config;
72
+
73
+ // Clean up previous chart if exists
74
+ if (chart) {
75
+ chart.destroy();
76
+ }
77
+
78
+ // Get colors from style.palette or theme defaults
79
+ const colors = style.palette || getThemeColors(theme);
80
+ const backgroundColor = style.backgroundColor || getBackgroundColor(theme);
81
+
82
+ // Calculate sum for percentage labels
83
+ const sumValue = data.reduce((sum, item) => sum + item.value, 0);
84
+
85
+ // Create chart
86
+ chart = new Chart({
87
+ container,
88
+ width,
89
+ height,
90
+ autoFit: true,
91
+ });
92
+
93
+ // Configure chart options
94
+ // Note: Using 'any' type due to G2's complex type system with transformations
95
+ // This is consistent with how G2 5.0 is used elsewhere in the codebase (e.g., Radar component)
96
+ const chartOptions: any = {
97
+ type: 'interval',
98
+ data,
99
+ title: title ?? '',
100
+ encode: {
101
+ y: 'value',
102
+ color: 'category',
103
+ },
104
+ transform: [{ type: 'stackY' }],
105
+ coordinate: { type: 'theta', innerRadius: Math.max(0, Math.min(1, innerRadius)) },
106
+ scale: {
107
+ color: { range: colors },
108
+ },
109
+ legend: {
110
+ color: { position: 'top' },
111
+ },
112
+ labels: [
113
+ {
114
+ text: (d: any) => {
115
+ const percentage =
116
+ Math.round((d.value / sumValue) * 100 * PERCENTAGE_PRECISION_MULTIPLIER) /
117
+ PERCENTAGE_PRECISION_MULTIPLIER;
118
+ return `${d.category}: ${percentage}%`;
119
+ },
120
+ position: 'outside',
121
+ transform: [{ type: 'overlapHide' }],
122
+ },
123
+ ],
124
+ tooltip: {
125
+ items: [
126
+ (d: any) => ({
127
+ name: d.category,
128
+ value: d.value,
129
+ }),
130
+ ],
131
+ },
132
+ interaction: {
133
+ elementSelect: { single: true },
134
+ },
135
+ style: {
136
+ fillOpacity: 0.8,
137
+ },
138
+ viewStyle: {
139
+ viewFill: backgroundColor,
140
+ },
141
+ theme: getThemeObject(theme),
142
+ animate: { enter: { type: 'waveIn' } },
143
+ };
144
+
145
+ chart.options(chartOptions);
146
+ chart.render();
147
+ };
148
+
149
+ /**
150
+ * Destroy the chart instance and clean up resources.
151
+ */
152
+ const destroy = (): void => {
153
+ if (chart) {
154
+ chart.destroy();
155
+ chart = null;
156
+ }
157
+ };
158
+
159
+ return {
160
+ render,
161
+ destroy,
162
+ };
163
+ };
@@ -0,0 +1,184 @@
1
+ # Radar
2
+
3
+ A radar chart component for visualizing multi-dimensional data, built with G2 5.0.
4
+
5
+ ## Usage
6
+
7
+ ```ts
8
+ import { Radar } from '@antv/gpt-vis/ai';
9
+
10
+ const radar = Radar({
11
+ container: '#container',
12
+ width: 600,
13
+ height: 400,
14
+ });
15
+
16
+ radar.render({
17
+ data: [
18
+ { name: '沟通能力', value: 2 },
19
+ { name: '协作能力', value: 3 },
20
+ { name: '领导能力', value: 2 },
21
+ { name: '学习能力', value: 5 },
22
+ { name: '创新能力', value: 6 },
23
+ { name: '技术能力', value: 9 },
24
+ ],
25
+ });
26
+
27
+ radar.destroy();
28
+ ```
29
+
30
+ ## Configuration
31
+
32
+ ### Constructor Options (RadarOptions)
33
+
34
+ | Property | Type | Default | Description |
35
+ | --------- | --------------------- | ------- | ----------------------------- |
36
+ | container | string \| HTMLElement | - | Container element or selector |
37
+ | width | number | 640 | Chart width in pixels |
38
+ | height | number | 480 | Chart height in pixels |
39
+
40
+ ### Render Config (RadarConfig)
41
+
42
+ | Property | Type | Default | Description |
43
+ | -------- | ------ | --------- | ------------------------- |
44
+ | type | string | 'radar' | Chart type |
45
+ | data | Array | - | Chart data array |
46
+ | title | string | - | Chart title |
47
+ | theme | string | 'default' | Color theme |
48
+ | style | object | - | Chart style configuration |
49
+
50
+ ### Data Structure
51
+
52
+ ```ts
53
+ type RadarDataItem = {
54
+ name: string; // Category name (axis label)
55
+ value: number; // Value for this category
56
+ group?: string; // Optional: group for multiple series
57
+ };
58
+ ```
59
+
60
+ ### Style Options
61
+
62
+ ```ts
63
+ style?: {
64
+ backgroundColor?: string; // Background color
65
+ palette?: string[]; // Color palette for groups
66
+ lineWidth?: number; // Line width (default: 2)
67
+ }
68
+ ```
69
+
70
+ ## Examples
71
+
72
+ ### Basic Radar Chart
73
+
74
+ ```ts
75
+ radar.render({
76
+ data: [
77
+ { name: '沟通能力', value: 2 },
78
+ { name: '协作能力', value: 3 },
79
+ { name: '领导能力', value: 2 },
80
+ { name: '学习能力', value: 5 },
81
+ { name: '创新能力', value: 6 },
82
+ { name: '技术能力', value: 9 },
83
+ ],
84
+ });
85
+ ```
86
+
87
+ ### With Title
88
+
89
+ ```ts
90
+ radar.render({
91
+ data: [
92
+ { name: 'Vitamin C', value: 7 },
93
+ { name: 'Fiber', value: 6 },
94
+ { name: 'Sugar', value: 5 },
95
+ { name: 'Protein', value: 4 },
96
+ { name: 'Iron', value: 3 },
97
+ { name: 'Calcium', value: 2 },
98
+ ],
99
+ title: 'Nutrition Analysis',
100
+ });
101
+ ```
102
+
103
+ ### With Multiple Groups
104
+
105
+ ```ts
106
+ radar.render({
107
+ data: [
108
+ { name: '语文', value: 95, group: '一班' },
109
+ { name: '数学', value: 96, group: '一班' },
110
+ { name: '外语', value: 85, group: '一班' },
111
+ { name: '物理', value: 63, group: '一班' },
112
+ { name: '化学', value: 91, group: '一班' },
113
+ { name: '语文', value: 75, group: '二班' },
114
+ { name: '数学', value: 93, group: '二班' },
115
+ { name: '外语', value: 66, group: '二班' },
116
+ { name: '物理', value: 85, group: '二班' },
117
+ { name: '化学', value: 88, group: '二班' },
118
+ ],
119
+ });
120
+ ```
121
+
122
+ ### With Academy Theme
123
+
124
+ ```ts
125
+ radar.render({
126
+ data: [
127
+ { name: 'Attack', value: 85, group: 'Hero A' },
128
+ { name: 'Defense', value: 70, group: 'Hero A' },
129
+ { name: 'Speed', value: 90, group: 'Hero A' },
130
+ { name: 'HP', value: 75, group: 'Hero A' },
131
+ { name: 'MP', value: 60, group: 'Hero A' },
132
+ { name: 'Attack', value: 65, group: 'Hero B' },
133
+ { name: 'Defense', value: 90, group: 'Hero B' },
134
+ { name: 'Speed', value: 70, group: 'Hero B' },
135
+ { name: 'HP', value: 85, group: 'Hero B' },
136
+ { name: 'MP', value: 80, group: 'Hero B' },
137
+ ],
138
+ theme: 'academy',
139
+ });
140
+ ```
141
+
142
+ ### With Custom Styles
143
+
144
+ ```ts
145
+ radar.render({
146
+ data: [
147
+ { name: 'Category A', value: 8, group: 'Product X' },
148
+ { name: 'Category B', value: 7, group: 'Product X' },
149
+ { name: 'Category C', value: 6, group: 'Product X' },
150
+ { name: 'Category D', value: 5, group: 'Product X' },
151
+ { name: 'Category E', value: 9, group: 'Product X' },
152
+ { name: 'Category A', value: 6, group: 'Product Y' },
153
+ { name: 'Category B', value: 9, group: 'Product Y' },
154
+ { name: 'Category C', value: 8, group: 'Product Y' },
155
+ { name: 'Category D', value: 7, group: 'Product Y' },
156
+ { name: 'Category E', value: 5, group: 'Product Y' },
157
+ ],
158
+ style: {
159
+ palette: ['#FF6B6B', '#4ECDC4'],
160
+ backgroundColor: '#F8F9FA',
161
+ lineWidth: 3,
162
+ },
163
+ });
164
+ ```
165
+
166
+ ### Dark Theme
167
+
168
+ ```ts
169
+ radar.render({
170
+ data: [
171
+ { name: 'Skill 1', value: 90 },
172
+ { name: 'Skill 2', value: 75 },
173
+ { name: 'Skill 3', value: 85 },
174
+ { name: 'Skill 4', value: 70 },
175
+ { name: 'Skill 5', value: 95 },
176
+ ],
177
+ theme: 'dark',
178
+ });
179
+ ```
180
+
181
+ ## Methods
182
+
183
+ - `render(config: RadarConfig): void` - Render or update the chart
184
+ - `destroy(): void` - Destroy the chart instance and clean up resources
@@ -0,0 +1,214 @@
1
+ import { Chart } from '@antv/g2';
2
+ import type { VisualizationOptions } from '../../types';
3
+ import { getBackgroundColor, getThemeColors, getThemeObject } from '../../util/theme';
4
+
5
+ /**
6
+ * RadarDataItem is the type for each data item in the radar chart.
7
+ */
8
+ export type RadarDataItem = {
9
+ name: string;
10
+ value: number;
11
+ group?: string;
12
+ };
13
+
14
+ /**
15
+ * RadarConfig defines the configuration for rendering the radar chart.
16
+ */
17
+ export interface RadarConfig {
18
+ type?: 'radar';
19
+ data: RadarDataItem[];
20
+ title?: string;
21
+ theme?: 'default' | 'academy' | 'dark';
22
+ style?: {
23
+ backgroundColor?: string;
24
+ palette?: string[];
25
+ lineWidth?: number;
26
+ };
27
+ }
28
+
29
+ /**
30
+ * RadarInstance represents a radar chart instance with render and destroy methods.
31
+ */
32
+ export interface RadarInstance {
33
+ render: (config: RadarConfig) => void;
34
+ destroy: () => void;
35
+ }
36
+
37
+ /**
38
+ * Transform radar data to parallel coordinates format.
39
+ * Groups data by group field and converts to position-based encoding.
40
+ */
41
+ function transformRadarToParallel(data: RadarDataItem[]) {
42
+ if (!data || data.length === 0) {
43
+ return [];
44
+ }
45
+
46
+ // Group data by group field
47
+ const groups: { [key: string]: RadarDataItem[] } = {};
48
+ data.forEach((item) => {
49
+ const groupKey = item.group || '';
50
+ if (!groups[groupKey]) {
51
+ groups[groupKey] = [];
52
+ }
53
+ groups[groupKey].push(item);
54
+ });
55
+
56
+ // Transform to parallel format
57
+ return Object.entries(groups).map(([group, values]) => {
58
+ const parallelValues: any = {};
59
+ values.forEach(({ name, value }) => {
60
+ parallelValues[name] = value;
61
+ });
62
+ return {
63
+ ...parallelValues,
64
+ group,
65
+ };
66
+ });
67
+ }
68
+
69
+ /**
70
+ * Radar chart component using G2 5.0.
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * const radar = Radar({
75
+ * container: '#container',
76
+ * width: 600,
77
+ * height: 400,
78
+ * });
79
+ *
80
+ * radar.render({
81
+ * type: 'radar',
82
+ * data: [
83
+ * { name: '沟通能力', value: 2 },
84
+ * { name: '协作能力', value: 3 },
85
+ * { name: '领导能力', value: 2 },
86
+ * { name: '学习能力', value: 5 },
87
+ * { name: '创新能力', value: 6 },
88
+ * { name: '技术能力', value: 9 },
89
+ * ],
90
+ * });
91
+ *
92
+ * radar.destroy();
93
+ * ```
94
+ */
95
+ export const Radar = (options: VisualizationOptions): RadarInstance => {
96
+ const { container, width, height, theme: chartTheme = 'default' } = options;
97
+ let chart: Chart | null = null;
98
+
99
+ /**
100
+ * Render the radar chart with the given configuration.
101
+ */
102
+ const render = (config: RadarConfig): void => {
103
+ const { data = [], theme = chartTheme, title, style = {} } = config;
104
+
105
+ // Clean up previous chart if exists
106
+ if (chart) {
107
+ chart.destroy();
108
+ }
109
+
110
+ const { lineWidth = 2 } = style;
111
+ const colors = style.palette || getThemeColors(theme);
112
+ const backgroundColor = style.backgroundColor || getBackgroundColor(theme);
113
+
114
+ // Transform data to parallel format
115
+ const parallelData = transformRadarToParallel(data);
116
+ const position = Object.keys(parallelData[0] || {}).filter((key) => key !== 'group');
117
+
118
+ // Create chart
119
+ chart = new Chart({
120
+ container,
121
+ width,
122
+ height,
123
+ autoFit: true,
124
+ });
125
+
126
+ // Configure chart options
127
+ // Note: Using 'any' type due to G2's complex type system with transformations
128
+ // This is consistent with how G2 5.0 is used elsewhere in the codebase
129
+ const chartOptions: any = {
130
+ type: 'line',
131
+ data: parallelData,
132
+ title: title ?? '',
133
+ coordinate: { type: 'radar' },
134
+ inset: 18,
135
+ encode: {
136
+ position,
137
+ color: 'group',
138
+ },
139
+ scale: {
140
+ // Configure scales for each position axis
141
+ ...Object.fromEntries(
142
+ Array.from({ length: position.length }, (_, i) => [
143
+ `position${i === 0 ? '' : i}`,
144
+ {
145
+ domainMin: 0,
146
+ nice: true,
147
+ },
148
+ ]),
149
+ ),
150
+ color: {
151
+ range: colors,
152
+ },
153
+ },
154
+ axis: Object.fromEntries(
155
+ Array.from({ length: position.length }, (_, i) => [
156
+ `position${i === 0 ? '' : i}`,
157
+ {
158
+ zIndex: 1,
159
+ titleFontSize: 10,
160
+ titleSpacing: 8,
161
+ label: true,
162
+ labelFill: theme === 'dark' ? '#fff' : '#000',
163
+ labelOpacity: 0.45,
164
+ labelFontSize: 10,
165
+ line: true,
166
+ lineFill: '#000',
167
+ lineStrokeOpacity: 0.25,
168
+ tickFilter: (_: string, idx: number) => {
169
+ return !(i !== 0 && idx === 0);
170
+ },
171
+ tickCount: 4,
172
+ gridStrokeOpacity: 0.45,
173
+ gridStroke: theme === 'dark' ? '#fff' : '#000',
174
+ gridLineWidth: 1,
175
+ gridLineDash: [4, 4],
176
+ },
177
+ ]),
178
+ ),
179
+ style: {
180
+ lineWidth,
181
+ lineCap: 'round',
182
+ lineJoin: 'round',
183
+ },
184
+ legend: parallelData.length > 1 ? { color: { position: 'top', itemMarker: 'point' } } : false,
185
+ interaction: {
186
+ tooltip: {
187
+ series: false,
188
+ },
189
+ },
190
+ viewStyle: {
191
+ viewFill: backgroundColor,
192
+ },
193
+ theme: getThemeObject(theme),
194
+ };
195
+
196
+ chart.options(chartOptions);
197
+ chart.render();
198
+ };
199
+
200
+ /**
201
+ * Destroy the chart instance and clean up resources.
202
+ */
203
+ const destroy = (): void => {
204
+ if (chart) {
205
+ chart.destroy();
206
+ chart = null;
207
+ }
208
+ };
209
+
210
+ return {
211
+ render,
212
+ destroy,
213
+ };
214
+ };
@@ -0,0 +1,144 @@
1
+ # Sankey
2
+
3
+ A sankey chart component for visualizing flow, energy, fund transfer relationships between nodes, built with G2 5.0.
4
+
5
+ ## Usage
6
+
7
+ ```ts
8
+ import { Sankey } from '@antv/gpt-vis/ai';
9
+
10
+ const sankey = Sankey({
11
+ container: '#container',
12
+ width: 600,
13
+ height: 400,
14
+ });
15
+
16
+ sankey.render({
17
+ data: [
18
+ { source: '煤炭', target: '发电厂', value: 120 },
19
+ { source: '天然气', target: '发电厂', value: 80 },
20
+ { source: '发电厂', target: '工业', value: 100 },
21
+ { source: '发电厂', target: '居民', value: 60 },
22
+ { source: '发电厂', target: '商业', value: 40 },
23
+ ],
24
+ });
25
+
26
+ sankey.destroy();
27
+ ```
28
+
29
+ ## Configuration
30
+
31
+ ### Constructor Options (SankeyOptions)
32
+
33
+ | Property | Type | Default | Description |
34
+ | --------- | --------------------- | ------- | ----------------------------- |
35
+ | container | string \| HTMLElement | - | Container element or selector |
36
+ | width | number | 640 | Chart width in pixels |
37
+ | height | number | 480 | Chart height in pixels |
38
+
39
+ ### Render Config (SankeyConfig)
40
+
41
+ | Property | Type | Default | Description |
42
+ | --------- | ------ | --------- | ---------------------------------------------------------- |
43
+ | data | Array | - | Chart data array |
44
+ | nodeAlign | string | 'center' | Node alignment: 'left' \| 'center' \| 'right' \| 'justify' |
45
+ | theme | string | 'default' | Color theme: 'default' \| 'academy' \| 'dark' |
46
+ | title | string | - | Chart title |
47
+ | style | object | - | Chart style configuration |
48
+
49
+ ### Data Structure
50
+
51
+ ```ts
52
+ type SankeyDataItem = {
53
+ source: string; // Source node name
54
+ target: string; // Target node name
55
+ value: number; // Flow value
56
+ };
57
+ ```
58
+
59
+ ### Style Options
60
+
61
+ ```ts
62
+ style?: {
63
+ backgroundColor?: string; // Background color
64
+ palette?: string[]; // Color palette
65
+ }
66
+ ```
67
+
68
+ ## Examples
69
+
70
+ ### Basic Example
71
+
72
+ ```ts
73
+ sankey.render({
74
+ data: [
75
+ { source: '煤炭', target: '发电厂', value: 120 },
76
+ { source: '天然气', target: '发电厂', value: 80 },
77
+ { source: '发电厂', target: '工业', value: 100 },
78
+ ],
79
+ });
80
+ ```
81
+
82
+ ### With Title and Node Alignment
83
+
84
+ ```ts
85
+ sankey.render({
86
+ data: [
87
+ { source: '煤炭', target: '发电厂', value: 120 },
88
+ { source: '天然气', target: '发电厂', value: 80 },
89
+ { source: '发电厂', target: '工业', value: 100 },
90
+ ],
91
+ title: '能源流动关系',
92
+ nodeAlign: 'justify',
93
+ });
94
+ ```
95
+
96
+ ### With Academy Theme
97
+
98
+ ```ts
99
+ sankey.render({
100
+ data: [
101
+ { source: '投资人', target: '创业公司', value: 200 },
102
+ { source: '创业公司', target: '市场营销', value: 80 },
103
+ { source: '创业公司', target: '研发', value: 120 },
104
+ ],
105
+ theme: 'academy',
106
+ title: '资金流转路径',
107
+ });
108
+ ```
109
+
110
+ ### With Dark Theme
111
+
112
+ ```ts
113
+ sankey.render({
114
+ data: [
115
+ { source: '投资人', target: '创业公司', value: 200 },
116
+ { source: '创业公司', target: '市场营销', value: 80 },
117
+ { source: '创业公司', target: '研发', value: 120 },
118
+ ],
119
+ theme: 'dark',
120
+ title: '资金流转路径',
121
+ });
122
+ ```
123
+
124
+ ### With Custom Styles
125
+
126
+ ```ts
127
+ sankey.render({
128
+ data: [
129
+ { source: '首页', target: '产品页', value: 300 },
130
+ { source: '产品页', target: '购物车', value: 150 },
131
+ { source: '购物车', target: '结算页', value: 100 },
132
+ ],
133
+ title: '用户行为路径',
134
+ style: {
135
+ palette: ['#5B8FF9', '#61DDAA', '#65789B', '#F6BD16', '#7262FD'],
136
+ backgroundColor: '#f0f2f5',
137
+ },
138
+ });
139
+ ```
140
+
141
+ ## Methods
142
+
143
+ - `render(config: SankeyConfig): void` - Render or update the chart
144
+ - `destroy(): void` - Destroy the chart instance and clean up resources