@visactor/vchart-extension 1.13.22 → 1.13.23-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/build/index.js +14540 -0
  2. package/build/index.min.js +15 -0
  3. package/cjs/charts/compare-sankey/compare-sankey-sub-data.d.ts +21 -0
  4. package/cjs/charts/compare-sankey/compare-sankey-sub-data.js +118 -0
  5. package/cjs/charts/compare-sankey/compare-sankey-sub-data.js.map +1 -0
  6. package/cjs/charts/compare-sankey/compare-sankey-sub-nodes.d.ts +2 -0
  7. package/cjs/charts/compare-sankey/compare-sankey-sub-nodes.js +21 -0
  8. package/cjs/charts/compare-sankey/compare-sankey-sub-nodes.js.map +1 -0
  9. package/cjs/charts/compare-sankey/compare-sankey-transformer.d.ts +7 -0
  10. package/cjs/charts/compare-sankey/compare-sankey-transformer.js +25 -0
  11. package/cjs/charts/compare-sankey/compare-sankey-transformer.js.map +1 -0
  12. package/cjs/charts/compare-sankey/compare-sankey.d.ts +46 -0
  13. package/cjs/charts/compare-sankey/compare-sankey.js +202 -0
  14. package/cjs/charts/compare-sankey/compare-sankey.js.map +1 -0
  15. package/cjs/charts/compare-sankey/index.d.ts +2 -0
  16. package/cjs/charts/compare-sankey/index.js +21 -0
  17. package/cjs/charts/compare-sankey/index.js.map +1 -0
  18. package/cjs/charts/compare-sankey/interface.d.ts +24 -0
  19. package/cjs/charts/compare-sankey/interface.js +6 -0
  20. package/cjs/charts/compare-sankey/interface.js.map +1 -0
  21. package/cjs/charts/compare-sankey/utils.d.ts +9 -0
  22. package/cjs/charts/compare-sankey/utils.js +48 -0
  23. package/cjs/charts/compare-sankey/utils.js.map +1 -0
  24. package/cjs/charts/compare-sankey-diff/compare-sankey-diff-data.d.ts +8 -0
  25. package/cjs/charts/compare-sankey-diff/compare-sankey-diff-data.js +85 -0
  26. package/cjs/charts/compare-sankey-diff/compare-sankey-diff-data.js.map +1 -0
  27. package/cjs/charts/compare-sankey-diff/compare-sankey-diff-transformer.d.ts +7 -0
  28. package/cjs/charts/compare-sankey-diff/compare-sankey-diff-transformer.js +25 -0
  29. package/cjs/charts/compare-sankey-diff/compare-sankey-diff-transformer.js.map +1 -0
  30. package/cjs/charts/compare-sankey-diff/compare-sankey-diff.d.ts +34 -0
  31. package/cjs/charts/compare-sankey-diff/compare-sankey-diff.js +98 -0
  32. package/cjs/charts/compare-sankey-diff/compare-sankey-diff.js.map +1 -0
  33. package/cjs/charts/compare-sankey-diff/index.d.ts +2 -0
  34. package/cjs/charts/compare-sankey-diff/index.js +21 -0
  35. package/cjs/charts/compare-sankey-diff/index.js.map +1 -0
  36. package/cjs/charts/compare-sankey-diff/interface.d.ts +24 -0
  37. package/cjs/charts/compare-sankey-diff/interface.js +5 -0
  38. package/cjs/charts/compare-sankey-diff/interface.js.map +1 -0
  39. package/cjs/charts/conversion-funnel/arrow-data-transform.d.ts +24 -0
  40. package/cjs/charts/conversion-funnel/arrow-data-transform.js +99 -0
  41. package/cjs/charts/conversion-funnel/arrow-data-transform.js.map +1 -0
  42. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.d.ts +7 -0
  43. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js +196 -0
  44. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -0
  45. package/cjs/charts/conversion-funnel/conversion-funnel.d.ts +40 -0
  46. package/cjs/charts/conversion-funnel/conversion-funnel.js +78 -0
  47. package/cjs/charts/conversion-funnel/conversion-funnel.js.map +1 -0
  48. package/cjs/charts/conversion-funnel/index.d.ts +2 -0
  49. package/cjs/charts/conversion-funnel/index.js +21 -0
  50. package/cjs/charts/conversion-funnel/index.js.map +1 -0
  51. package/cjs/charts/conversion-funnel/interface.d.ts +35 -0
  52. package/cjs/charts/conversion-funnel/interface.js +6 -0
  53. package/cjs/charts/conversion-funnel/interface.js.map +1 -0
  54. package/cjs/charts/conversion-funnel/util.d.ts +3 -0
  55. package/cjs/charts/conversion-funnel/util.js +17 -0
  56. package/cjs/charts/conversion-funnel/util.js.map +1 -0
  57. package/cjs/charts/ranking-bar/interface.d.ts +45 -0
  58. package/cjs/charts/ranking-bar/interface.js +6 -0
  59. package/cjs/charts/ranking-bar/interface.js.map +1 -0
  60. package/cjs/charts/ranking-bar/ranking-bar-transformer.d.ts +10 -0
  61. package/cjs/charts/ranking-bar/ranking-bar-transformer.js +291 -0
  62. package/cjs/charts/ranking-bar/ranking-bar-transformer.js.map +1 -0
  63. package/cjs/charts/ranking-bar/ranking-bar.d.ts +16 -0
  64. package/cjs/charts/ranking-bar/ranking-bar.js +34 -0
  65. package/cjs/charts/ranking-bar/ranking-bar.js.map +1 -0
  66. package/cjs/charts/ranking-list/constant.d.ts +2 -0
  67. package/cjs/charts/ranking-list/constant.js +75 -0
  68. package/cjs/charts/ranking-list/constant.js.map +1 -0
  69. package/cjs/charts/ranking-list/interface.d.ts +74 -0
  70. package/cjs/charts/ranking-list/interface.js +6 -0
  71. package/cjs/charts/ranking-list/interface.js.map +1 -0
  72. package/cjs/charts/ranking-list/ranking-list-transformer.d.ts +459 -0
  73. package/cjs/charts/ranking-list/ranking-list-transformer.js +383 -0
  74. package/cjs/charts/ranking-list/ranking-list-transformer.js.map +1 -0
  75. package/cjs/charts/ranking-list/ranking-list.d.ts +16 -0
  76. package/cjs/charts/ranking-list/ranking-list.js +34 -0
  77. package/cjs/charts/ranking-list/ranking-list.js.map +1 -0
  78. package/cjs/charts/ranking-list/utils.d.ts +7 -0
  79. package/cjs/charts/ranking-list/utils.js +51 -0
  80. package/cjs/charts/ranking-list/utils.js.map +1 -0
  81. package/cjs/charts/sequence-scatter-kde/constant.d.ts +3 -0
  82. package/cjs/charts/sequence-scatter-kde/constant.js +7 -0
  83. package/cjs/charts/sequence-scatter-kde/constant.js.map +1 -0
  84. package/cjs/charts/sequence-scatter-kde/interface.d.ts +29 -0
  85. package/cjs/charts/sequence-scatter-kde/interface.js +5 -0
  86. package/cjs/charts/sequence-scatter-kde/interface.js.map +1 -0
  87. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.d.ts +6 -0
  88. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js +142 -0
  89. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -0
  90. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +16 -0
  91. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.js +34 -0
  92. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -0
  93. package/cjs/charts/sequence-scatter-kde/utils.d.ts +9 -0
  94. package/cjs/charts/sequence-scatter-kde/utils.js +42 -0
  95. package/cjs/charts/sequence-scatter-kde/utils.js.map +1 -0
  96. package/cjs/charts/sequence-scatter-link/interface.d.ts +59 -0
  97. package/cjs/charts/sequence-scatter-link/interface.js +6 -0
  98. package/cjs/charts/sequence-scatter-link/interface.js.map +1 -0
  99. package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.d.ts +6 -0
  100. package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +328 -0
  101. package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -0
  102. package/cjs/charts/sequence-scatter-link/sequence-scatter-link.d.ts +16 -0
  103. package/cjs/charts/sequence-scatter-link/sequence-scatter-link.js +34 -0
  104. package/cjs/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -0
  105. package/cjs/charts/sequence-scatter-link/utils.d.ts +9 -0
  106. package/cjs/charts/sequence-scatter-link/utils.js +108 -0
  107. package/cjs/charts/sequence-scatter-link/utils.js.map +1 -0
  108. package/cjs/charts/sequence-scatter-pixel/constant.d.ts +3 -0
  109. package/cjs/charts/sequence-scatter-pixel/constant.js +7 -0
  110. package/cjs/charts/sequence-scatter-pixel/constant.js.map +1 -0
  111. package/cjs/charts/sequence-scatter-pixel/interface.d.ts +29 -0
  112. package/cjs/charts/sequence-scatter-pixel/interface.js +6 -0
  113. package/cjs/charts/sequence-scatter-pixel/interface.js.map +1 -0
  114. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.d.ts +4 -0
  115. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js +68 -0
  116. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -0
  117. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +16 -0
  118. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.js +34 -0
  119. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -0
  120. package/cjs/charts/sequence-scatter-pixel/utils.d.ts +3 -0
  121. package/cjs/charts/sequence-scatter-pixel/utils.js +54 -0
  122. package/cjs/charts/sequence-scatter-pixel/utils.js.map +1 -0
  123. package/cjs/components/bar-link/bar-link.d.ts +7 -0
  124. package/cjs/components/bar-link/bar-link.js +87 -0
  125. package/cjs/components/bar-link/bar-link.js.map +1 -0
  126. package/cjs/components/bar-link/constant.d.ts +1 -0
  127. package/cjs/components/bar-link/constant.js +6 -0
  128. package/cjs/components/bar-link/constant.js.map +1 -0
  129. package/cjs/components/bar-link/index.d.ts +4 -0
  130. package/cjs/components/bar-link/index.js +49 -0
  131. package/cjs/components/bar-link/index.js.map +1 -0
  132. package/cjs/components/bar-link/type.d.ts +27 -0
  133. package/cjs/components/bar-link/type.js +6 -0
  134. package/cjs/components/bar-link/type.js.map +1 -0
  135. package/cjs/components/bar-link/util.d.ts +22 -0
  136. package/cjs/components/bar-link/util.js +183 -0
  137. package/cjs/components/bar-link/util.js.map +1 -0
  138. package/cjs/components/series-break/constant.d.ts +1 -0
  139. package/cjs/components/series-break/constant.js +6 -0
  140. package/cjs/components/series-break/constant.js.map +1 -0
  141. package/cjs/components/series-break/index.d.ts +4 -0
  142. package/cjs/components/series-break/index.js +49 -0
  143. package/cjs/components/series-break/index.js.map +1 -0
  144. package/cjs/components/series-break/series-break.d.ts +7 -0
  145. package/cjs/components/series-break/series-break.js +118 -0
  146. package/cjs/components/series-break/series-break.js.map +1 -0
  147. package/cjs/components/series-break/type.d.ts +14 -0
  148. package/cjs/components/series-break/type.js +6 -0
  149. package/cjs/components/series-break/type.js.map +1 -0
  150. package/cjs/components/series-break/util.d.ts +13 -0
  151. package/cjs/components/series-break/util.js +248 -0
  152. package/cjs/components/series-break/util.js.map +1 -0
  153. package/cjs/components/series-label/constant.d.ts +1 -0
  154. package/cjs/components/series-label/constant.js +5 -0
  155. package/cjs/components/series-label/constant.js.map +1 -0
  156. package/cjs/components/series-label/index.d.ts +3 -0
  157. package/cjs/components/series-label/index.js +49 -0
  158. package/cjs/components/series-label/index.js.map +1 -0
  159. package/cjs/components/series-label/series-label.d.ts +7 -0
  160. package/cjs/components/series-label/series-label.js +114 -0
  161. package/cjs/components/series-label/series-label.js.map +1 -0
  162. package/cjs/components/series-label/type.d.ts +41 -0
  163. package/cjs/components/series-label/type.js +6 -0
  164. package/cjs/components/series-label/type.js.map +1 -0
  165. package/cjs/components/series-label/util.d.ts +33 -0
  166. package/cjs/components/series-label/util.js +152 -0
  167. package/cjs/components/series-label/util.js.map +1 -0
  168. package/cjs/index.d.ts +11 -0
  169. package/cjs/index.js +26 -0
  170. package/cjs/index.js.map +1 -0
  171. package/cjs/type/index.d.ts +1 -0
  172. package/cjs/type/index.js +21 -0
  173. package/cjs/type/index.js.map +1 -0
  174. package/cjs/type/type.d.ts +8 -0
  175. package/cjs/type/type.js +6 -0
  176. package/cjs/type/type.js.map +1 -0
  177. package/cjs/utils/element.d.ts +7 -0
  178. package/cjs/utils/element.js +21 -0
  179. package/cjs/utils/element.js.map +1 -0
  180. package/cjs/utils/mark.d.ts +2 -0
  181. package/cjs/utils/mark.js +14 -0
  182. package/cjs/utils/mark.js.map +1 -0
  183. package/cjs/utils/math.d.ts +1 -0
  184. package/cjs/utils/math.js +10 -0
  185. package/cjs/utils/math.js.map +1 -0
  186. package/esm/charts/compare-sankey/compare-sankey-sub-data.d.ts +21 -0
  187. package/esm/charts/compare-sankey/compare-sankey-sub-data.js +106 -0
  188. package/esm/charts/compare-sankey/compare-sankey-sub-data.js.map +1 -0
  189. package/esm/charts/compare-sankey/compare-sankey-sub-nodes.d.ts +2 -0
  190. package/esm/charts/compare-sankey/compare-sankey-sub-nodes.js +13 -0
  191. package/esm/charts/compare-sankey/compare-sankey-sub-nodes.js.map +1 -0
  192. package/esm/charts/compare-sankey/compare-sankey-transformer.d.ts +7 -0
  193. package/esm/charts/compare-sankey/compare-sankey-transformer.js +17 -0
  194. package/esm/charts/compare-sankey/compare-sankey-transformer.js.map +1 -0
  195. package/esm/charts/compare-sankey/compare-sankey.d.ts +46 -0
  196. package/esm/charts/compare-sankey/compare-sankey.js +205 -0
  197. package/esm/charts/compare-sankey/compare-sankey.js.map +1 -0
  198. package/esm/charts/compare-sankey/index.d.ts +2 -0
  199. package/esm/charts/compare-sankey/index.js +4 -0
  200. package/esm/charts/compare-sankey/index.js.map +1 -0
  201. package/esm/charts/compare-sankey/interface.d.ts +24 -0
  202. package/esm/charts/compare-sankey/interface.js +2 -0
  203. package/esm/charts/compare-sankey/interface.js.map +1 -0
  204. package/esm/charts/compare-sankey/utils.d.ts +9 -0
  205. package/esm/charts/compare-sankey/utils.js +39 -0
  206. package/esm/charts/compare-sankey/utils.js.map +1 -0
  207. package/esm/charts/compare-sankey-diff/compare-sankey-diff-data.d.ts +8 -0
  208. package/esm/charts/compare-sankey-diff/compare-sankey-diff-data.js +77 -0
  209. package/esm/charts/compare-sankey-diff/compare-sankey-diff-data.js.map +1 -0
  210. package/esm/charts/compare-sankey-diff/compare-sankey-diff-transformer.d.ts +7 -0
  211. package/esm/charts/compare-sankey-diff/compare-sankey-diff-transformer.js +17 -0
  212. package/esm/charts/compare-sankey-diff/compare-sankey-diff-transformer.js.map +1 -0
  213. package/esm/charts/compare-sankey-diff/compare-sankey-diff.d.ts +34 -0
  214. package/esm/charts/compare-sankey-diff/compare-sankey-diff.js +97 -0
  215. package/esm/charts/compare-sankey-diff/compare-sankey-diff.js.map +1 -0
  216. package/esm/charts/compare-sankey-diff/index.d.ts +2 -0
  217. package/esm/charts/compare-sankey-diff/index.js +4 -0
  218. package/esm/charts/compare-sankey-diff/index.js.map +1 -0
  219. package/esm/charts/compare-sankey-diff/interface.d.ts +24 -0
  220. package/esm/charts/compare-sankey-diff/interface.js +1 -0
  221. package/esm/charts/compare-sankey-diff/interface.js.map +1 -0
  222. package/esm/charts/conversion-funnel/arrow-data-transform.d.ts +24 -0
  223. package/esm/charts/conversion-funnel/arrow-data-transform.js +94 -0
  224. package/esm/charts/conversion-funnel/arrow-data-transform.js.map +1 -0
  225. package/esm/charts/conversion-funnel/conversion-funnel-transformer.d.ts +7 -0
  226. package/esm/charts/conversion-funnel/conversion-funnel-transformer.js +192 -0
  227. package/esm/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -0
  228. package/esm/charts/conversion-funnel/conversion-funnel.d.ts +40 -0
  229. package/esm/charts/conversion-funnel/conversion-funnel.js +81 -0
  230. package/esm/charts/conversion-funnel/conversion-funnel.js.map +1 -0
  231. package/esm/charts/conversion-funnel/index.d.ts +2 -0
  232. package/esm/charts/conversion-funnel/index.js +4 -0
  233. package/esm/charts/conversion-funnel/index.js.map +1 -0
  234. package/esm/charts/conversion-funnel/interface.d.ts +35 -0
  235. package/esm/charts/conversion-funnel/interface.js +2 -0
  236. package/esm/charts/conversion-funnel/interface.js.map +1 -0
  237. package/esm/charts/conversion-funnel/util.d.ts +3 -0
  238. package/esm/charts/conversion-funnel/util.js +10 -0
  239. package/esm/charts/conversion-funnel/util.js.map +1 -0
  240. package/esm/charts/ranking-bar/interface.d.ts +45 -0
  241. package/esm/charts/ranking-bar/interface.js +2 -0
  242. package/esm/charts/ranking-bar/interface.js.map +1 -0
  243. package/esm/charts/ranking-bar/ranking-bar-transformer.d.ts +10 -0
  244. package/esm/charts/ranking-bar/ranking-bar-transformer.js +285 -0
  245. package/esm/charts/ranking-bar/ranking-bar-transformer.js.map +1 -0
  246. package/esm/charts/ranking-bar/ranking-bar.d.ts +16 -0
  247. package/esm/charts/ranking-bar/ranking-bar.js +27 -0
  248. package/esm/charts/ranking-bar/ranking-bar.js.map +1 -0
  249. package/esm/charts/ranking-list/constant.d.ts +2 -0
  250. package/esm/charts/ranking-list/constant.js +69 -0
  251. package/esm/charts/ranking-list/constant.js.map +1 -0
  252. package/esm/charts/ranking-list/interface.d.ts +74 -0
  253. package/esm/charts/ranking-list/interface.js +2 -0
  254. package/esm/charts/ranking-list/interface.js.map +1 -0
  255. package/esm/charts/ranking-list/ranking-list-transformer.d.ts +459 -0
  256. package/esm/charts/ranking-list/ranking-list-transformer.js +383 -0
  257. package/esm/charts/ranking-list/ranking-list-transformer.js.map +1 -0
  258. package/esm/charts/ranking-list/ranking-list.d.ts +16 -0
  259. package/esm/charts/ranking-list/ranking-list.js +27 -0
  260. package/esm/charts/ranking-list/ranking-list.js.map +1 -0
  261. package/esm/charts/ranking-list/utils.d.ts +7 -0
  262. package/esm/charts/ranking-list/utils.js +41 -0
  263. package/esm/charts/ranking-list/utils.js.map +1 -0
  264. package/esm/charts/sequence-scatter-kde/constant.d.ts +3 -0
  265. package/esm/charts/sequence-scatter-kde/constant.js +6 -0
  266. package/esm/charts/sequence-scatter-kde/constant.js.map +1 -0
  267. package/esm/charts/sequence-scatter-kde/interface.d.ts +29 -0
  268. package/esm/charts/sequence-scatter-kde/interface.js +1 -0
  269. package/esm/charts/sequence-scatter-kde/interface.js.map +1 -0
  270. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.d.ts +6 -0
  271. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js +137 -0
  272. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -0
  273. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +16 -0
  274. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.js +28 -0
  275. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -0
  276. package/esm/charts/sequence-scatter-kde/utils.d.ts +9 -0
  277. package/esm/charts/sequence-scatter-kde/utils.js +34 -0
  278. package/esm/charts/sequence-scatter-kde/utils.js.map +1 -0
  279. package/esm/charts/sequence-scatter-link/interface.d.ts +59 -0
  280. package/esm/charts/sequence-scatter-link/interface.js +2 -0
  281. package/esm/charts/sequence-scatter-link/interface.js.map +1 -0
  282. package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.d.ts +6 -0
  283. package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +321 -0
  284. package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -0
  285. package/esm/charts/sequence-scatter-link/sequence-scatter-link.d.ts +16 -0
  286. package/esm/charts/sequence-scatter-link/sequence-scatter-link.js +28 -0
  287. package/esm/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -0
  288. package/esm/charts/sequence-scatter-link/utils.d.ts +9 -0
  289. package/esm/charts/sequence-scatter-link/utils.js +100 -0
  290. package/esm/charts/sequence-scatter-link/utils.js.map +1 -0
  291. package/esm/charts/sequence-scatter-pixel/constant.d.ts +3 -0
  292. package/esm/charts/sequence-scatter-pixel/constant.js +6 -0
  293. package/esm/charts/sequence-scatter-pixel/constant.js.map +1 -0
  294. package/esm/charts/sequence-scatter-pixel/interface.d.ts +29 -0
  295. package/esm/charts/sequence-scatter-pixel/interface.js +2 -0
  296. package/esm/charts/sequence-scatter-pixel/interface.js.map +1 -0
  297. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.d.ts +4 -0
  298. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js +64 -0
  299. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -0
  300. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +16 -0
  301. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.js +28 -0
  302. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -0
  303. package/esm/charts/sequence-scatter-pixel/utils.d.ts +3 -0
  304. package/esm/charts/sequence-scatter-pixel/utils.js +46 -0
  305. package/esm/charts/sequence-scatter-pixel/utils.js.map +1 -0
  306. package/esm/components/bar-link/bar-link.d.ts +7 -0
  307. package/esm/components/bar-link/bar-link.js +85 -0
  308. package/esm/components/bar-link/bar-link.js.map +1 -0
  309. package/esm/components/bar-link/constant.d.ts +1 -0
  310. package/esm/components/bar-link/constant.js +2 -0
  311. package/esm/components/bar-link/constant.js.map +1 -0
  312. package/esm/components/bar-link/index.d.ts +4 -0
  313. package/esm/components/bar-link/index.js +8 -0
  314. package/esm/components/bar-link/index.js.map +1 -0
  315. package/esm/components/bar-link/type.d.ts +27 -0
  316. package/esm/components/bar-link/type.js +2 -0
  317. package/esm/components/bar-link/type.js.map +1 -0
  318. package/esm/components/bar-link/util.d.ts +22 -0
  319. package/esm/components/bar-link/util.js +178 -0
  320. package/esm/components/bar-link/util.js.map +1 -0
  321. package/esm/components/series-break/constant.d.ts +1 -0
  322. package/esm/components/series-break/constant.js +2 -0
  323. package/esm/components/series-break/constant.js.map +1 -0
  324. package/esm/components/series-break/index.d.ts +4 -0
  325. package/esm/components/series-break/index.js +8 -0
  326. package/esm/components/series-break/index.js.map +1 -0
  327. package/esm/components/series-break/series-break.d.ts +7 -0
  328. package/esm/components/series-break/series-break.js +115 -0
  329. package/esm/components/series-break/series-break.js.map +1 -0
  330. package/esm/components/series-break/type.d.ts +14 -0
  331. package/esm/components/series-break/type.js +2 -0
  332. package/esm/components/series-break/type.js.map +1 -0
  333. package/esm/components/series-break/util.d.ts +13 -0
  334. package/esm/components/series-break/util.js +244 -0
  335. package/esm/components/series-break/util.js.map +1 -0
  336. package/esm/components/series-label/constant.d.ts +1 -0
  337. package/esm/components/series-label/constant.js +1 -0
  338. package/esm/components/series-label/constant.js.map +1 -0
  339. package/esm/components/series-label/index.d.ts +3 -0
  340. package/esm/components/series-label/index.js +6 -0
  341. package/esm/components/series-label/index.js.map +1 -0
  342. package/esm/components/series-label/series-label.d.ts +7 -0
  343. package/esm/components/series-label/series-label.js +110 -0
  344. package/esm/components/series-label/series-label.js.map +1 -0
  345. package/esm/components/series-label/type.d.ts +41 -0
  346. package/esm/components/series-label/type.js +2 -0
  347. package/esm/components/series-label/type.js.map +1 -0
  348. package/esm/components/series-label/util.d.ts +33 -0
  349. package/esm/components/series-label/util.js +144 -0
  350. package/esm/components/series-label/util.js.map +1 -0
  351. package/esm/index.d.ts +11 -0
  352. package/esm/index.js +21 -0
  353. package/esm/index.js.map +1 -0
  354. package/esm/type/index.d.ts +1 -0
  355. package/esm/type/index.js +2 -0
  356. package/esm/type/index.js.map +1 -0
  357. package/esm/type/type.d.ts +8 -0
  358. package/esm/type/type.js +2 -0
  359. package/esm/type/type.js.map +1 -0
  360. package/esm/utils/element.d.ts +7 -0
  361. package/esm/utils/element.js +15 -0
  362. package/esm/utils/element.js.map +1 -0
  363. package/esm/utils/mark.d.ts +2 -0
  364. package/esm/utils/mark.js +4 -0
  365. package/esm/utils/mark.js.map +1 -0
  366. package/esm/utils/math.d.ts +1 -0
  367. package/esm/utils/math.js +4 -0
  368. package/esm/utils/math.js.map +1 -0
  369. package/package.json +3 -3
@@ -0,0 +1,321 @@
1
+ import { CommonChartSpecTransformer } from "@visactor/vchart";
2
+
3
+ const DATA_KEY = "dataKey";
4
+
5
+ export class SequenceScatterLinkChartSpecTransformer extends CommonChartSpecTransformer {
6
+ transformSpec(spec) {
7
+ var _a, _b, _c, _d, _e;
8
+ super.transformSpec(spec);
9
+ const dataSpecs = processSequenceData(spec), showTooltip = "neighborhood" !== spec.taskType;
10
+ spec.type = "common", spec.dataKey = DATA_KEY, spec.data = dataSpecs[0].data, spec.series = [ {
11
+ id: "background-series",
12
+ type: "area",
13
+ dataId: "background",
14
+ interactive: !1,
15
+ persent: !0,
16
+ xField: "x",
17
+ yField: "y",
18
+ point: {
19
+ visible: !1
20
+ },
21
+ line: {
22
+ visible: !1
23
+ },
24
+ area: {
25
+ visible: !0,
26
+ interactive: !1,
27
+ style: {
28
+ background: datum => "neighborhood" === spec.taskType ? "" : `https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/sequence-scatter-bgimg-2/${datum.iter}.png`,
29
+ fill: "transparent",
30
+ fillOpacity: .5
31
+ }
32
+ },
33
+ hover: {
34
+ enable: !1
35
+ },
36
+ select: {
37
+ enable: !1
38
+ }
39
+ }, {
40
+ id: "line-series",
41
+ type: "line",
42
+ dataId: "endpoints",
43
+ xField: "x",
44
+ yField: "y",
45
+ seriesField: "edgeId",
46
+ animation: !0,
47
+ point: {
48
+ visible: !1
49
+ },
50
+ line: {
51
+ visible: !0,
52
+ style: {
53
+ stroke: datum => datum.color,
54
+ lineDash: datum => "same_type" === datum.type ? [ 0, 0 ] : [ 3, 2 ],
55
+ lineWidth: .8,
56
+ strokeOpacity: .6
57
+ }
58
+ }
59
+ }, {
60
+ id: "scatter-series",
61
+ type: "scatter",
62
+ dataId: "nodes",
63
+ xField: spec.xField,
64
+ yField: spec.yField,
65
+ seriesField: "label",
66
+ point: {
67
+ state: {
68
+ hover: {
69
+ scaleX: 1.5,
70
+ scaleY: 1.5,
71
+ fillOpacity: 1
72
+ },
73
+ hover_reverse: {
74
+ scaleX: 1,
75
+ scaleY: 1,
76
+ fillOpacity: .3
77
+ }
78
+ },
79
+ style: {
80
+ size: () => "neighborhood" === spec.taskType ? 6 : 4,
81
+ fill: datum => {
82
+ var _a;
83
+ return null !== (_a = spec.labelColor[datum.label]) && void 0 !== _a ? _a : "gray";
84
+ },
85
+ fillOpacity: datum => datum.confidence
86
+ }
87
+ },
88
+ label: {
89
+ visible: !0,
90
+ style: {
91
+ visible: () => "neighborhood" == spec.taskType,
92
+ type: "text",
93
+ fontFamily: "Console",
94
+ fontStyle: "italic",
95
+ fontSize: 12,
96
+ fill: "black",
97
+ fillOpacity: .6,
98
+ text: datum => datum.id
99
+ }
100
+ }
101
+ } ], spec.player && (spec.player = Object.assign(Object.assign({}, spec.player), {
102
+ specs: dataSpecs
103
+ }), spec.animationAppear = {
104
+ duration: null !== (_b = null === (_a = spec.player) || void 0 === _a ? void 0 : _a.duration) && void 0 !== _b ? _b : 2e3,
105
+ easing: "linear"
106
+ }, spec.animationUpdate = {
107
+ duration: null !== (_d = null === (_c = spec.player) || void 0 === _c ? void 0 : _c.duration) && void 0 !== _d ? _d : 2e3,
108
+ easing: "linear"
109
+ }), spec.axes = [ {
110
+ orient: "left",
111
+ type: "linear",
112
+ inverse: !0,
113
+ min: spec.scope[1],
114
+ max: spec.scope[3]
115
+ }, {
116
+ orient: "bottom",
117
+ type: "linear",
118
+ min: spec.scope[0],
119
+ max: spec.scope[2]
120
+ } ], spec.customMark = [ {
121
+ type: "text",
122
+ dataId: "iter",
123
+ style: Object.assign({
124
+ x: 50,
125
+ y: () => 10,
126
+ textBaseline: "top",
127
+ textAlign: "left",
128
+ fontSize: 100,
129
+ fontWeight: "bolder",
130
+ fill: "black",
131
+ fillOpacity: .2
132
+ }, null === (_e = spec.infoLabel) || void 0 === _e ? void 0 : _e.style)
133
+ } ], spec.legends = [ {
134
+ seriesId: "scatter-series",
135
+ visible: !0,
136
+ orient: "right",
137
+ position: "middle",
138
+ data: items => items.map((item => (item.shape.outerBorder = {
139
+ stroke: item.shape.fill,
140
+ distance: 2,
141
+ lineWidth: 1
142
+ }, item))),
143
+ title: {
144
+ visible: !0,
145
+ align: "left",
146
+ textStyle: {
147
+ text: "Classes",
148
+ fontFamily: "Console",
149
+ fontSize: 18,
150
+ fontWeight: "bold"
151
+ }
152
+ },
153
+ item: {
154
+ visible: !0,
155
+ width: "8%",
156
+ value: {
157
+ alignRight: !0,
158
+ style: {
159
+ fill: "#000",
160
+ fillOpacity: 1,
161
+ fontSize: 12
162
+ },
163
+ state: {
164
+ unselected: {
165
+ fill: "#d8d8d8"
166
+ }
167
+ }
168
+ }
169
+ }
170
+ } ], spec.tooltip = {
171
+ visible: showTooltip,
172
+ seriesId: "scatter-series",
173
+ lockAfterClick: !1,
174
+ activeType: "mark",
175
+ trigger: "hover",
176
+ mark: {
177
+ title: {
178
+ visible: !0,
179
+ value: "Info"
180
+ },
181
+ content: [ {
182
+ key: "Label",
183
+ value: datum => datum.label,
184
+ shapeType: "circle",
185
+ shapeSize: 8
186
+ }, {
187
+ key: "Prediction",
188
+ value: datum => datum.prediction,
189
+ shapeType: "circle",
190
+ shapeSize: 8,
191
+ shapeFill: datum => {
192
+ var _a;
193
+ return null !== (_a = spec.labelColor[datum.prediction]) && void 0 !== _a ? _a : "gray";
194
+ }
195
+ }, {
196
+ key: "Confidence",
197
+ value: datum => datum.confidence.toFixed(2),
198
+ shapeType: "square",
199
+ shapeSize: 8,
200
+ shapeFill: datum => datum.label === datum.prediction ? "green" : "red"
201
+ } ]
202
+ },
203
+ style: {
204
+ panel: {
205
+ padding: {
206
+ top: 10,
207
+ bottom: 15,
208
+ left: 10,
209
+ right: 10
210
+ },
211
+ backgroundColor: "#fff",
212
+ border: {
213
+ color: "#eee",
214
+ width: 1,
215
+ radius: 10
216
+ }
217
+ },
218
+ titleLabel: {
219
+ fontSize: 20,
220
+ fontFamily: "Times New Roman",
221
+ fill: "brown",
222
+ fontWeight: "bold",
223
+ textAlign: "center",
224
+ lineHeight: 24
225
+ },
226
+ keyLabel: {
227
+ fontSize: 16,
228
+ fontFamily: "Times New Roman",
229
+ fill: "black",
230
+ textAlign: "center",
231
+ lineHeight: 15,
232
+ spacing: 10
233
+ },
234
+ valueLabel: {
235
+ fontSize: 14,
236
+ fill: "black",
237
+ textAlign: "center",
238
+ lineHeight: 15,
239
+ spacing: 10
240
+ }
241
+ }
242
+ }, spec.dataZoom = [ {
243
+ visible: !1,
244
+ orient: "left",
245
+ filterMode: "axis",
246
+ showDetail: !1,
247
+ roamZoom: {
248
+ enable: !0,
249
+ focus: !0,
250
+ rate: 3
251
+ },
252
+ roamDrag: {
253
+ enable: !0,
254
+ reverse: !0,
255
+ rate: 1
256
+ }
257
+ }, {
258
+ visible: !1,
259
+ orient: "bottom",
260
+ filterMode: "axis",
261
+ showDetail: !1,
262
+ roamZoom: {
263
+ enable: !0,
264
+ focus: !0,
265
+ rate: 3
266
+ },
267
+ roamDrag: {
268
+ enable: !0,
269
+ reverse: !0,
270
+ rate: 1
271
+ }
272
+ } ], super.transformSpec(spec);
273
+ }
274
+ }
275
+
276
+ export function processSequenceData(spec) {
277
+ const result = [];
278
+ return Object.keys(spec.data).forEach((iter => {
279
+ const nodes = spec.data[iter].nodes;
280
+ result.push({
281
+ data: [ {
282
+ id: "nodes",
283
+ values: nodes.map(((d, i) => Object.assign(Object.assign({}, d), {
284
+ [DATA_KEY]: i
285
+ })))
286
+ }, {
287
+ id: "endpoints",
288
+ values: []
289
+ }, {
290
+ id: "iter",
291
+ values: [ {
292
+ iter: iter
293
+ } ]
294
+ }, {
295
+ id: "background",
296
+ values: [ {
297
+ iter: iter,
298
+ x: spec.scope[0],
299
+ y: spec.scope[1]
300
+ }, {
301
+ iter: iter,
302
+ x: spec.scope[0],
303
+ y: spec.scope[3]
304
+ }, {
305
+ iter: iter,
306
+ x: spec.scope[2],
307
+ y: spec.scope[3]
308
+ }, {
309
+ iter: iter,
310
+ x: spec.scope[2],
311
+ y: spec.scope[1]
312
+ }, {
313
+ iter: iter,
314
+ x: spec.scope[0],
315
+ y: spec.scope[1]
316
+ } ]
317
+ } ]
318
+ });
319
+ })), result;
320
+ }
321
+ //# sourceMappingURL=sequence-scatter-link-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["charts/sequence-scatter-link/sequence-scatter-link-transformer.ts"],"names":[],"mappings":"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","file":"sequence-scatter-link-transformer.js","sourcesContent":["import { Datum } from '@visactor/vchart/src/typings';\nimport type { ISequenceScatterLinkSpec } from './interface';\nimport { CommonChartSpecTransformer } from '@visactor/vchart';\n\nconst DATA_KEY = 'dataKey';\n\n/**\n * convert ISequenceScatterLinkSpec to CommonSpec\n */\nexport class SequenceScatterLinkChartSpecTransformer extends CommonChartSpecTransformer<any> {\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n const dataSpecs = processSequenceData(spec as unknown as ISequenceScatterLinkSpec);\n const showTooltip = spec.taskType === 'neighborhood' ? false : true;\n\n spec.type = 'common';\n\n // data\n spec.dataKey = DATA_KEY;\n spec.data = dataSpecs[0].data;\n\n // series: background, line, scatter\n spec.series = [\n {\n id: 'background-series',\n type: 'area',\n dataId: 'background',\n interactive: false,\n persent: true,\n xField: 'x',\n yField: 'y',\n point: {\n visible: false\n },\n line: {\n visible: false\n },\n area: {\n visible: true,\n interactive: false,\n style: {\n background: (datum: { iter: number }) => {\n if (spec.taskType === 'neighborhood') {\n return '';\n }\n return `https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/sequence-scatter-bgimg-2/${datum.iter}.png`;\n },\n fill: 'transparent',\n fillOpacity: 0.5\n }\n },\n hover: {\n enable: false\n },\n select: {\n enable: false\n }\n },\n {\n id: 'line-series',\n type: 'line',\n dataId: 'endpoints',\n xField: 'x',\n yField: 'y',\n seriesField: 'edgeId', // a line will be drawn between endpoints with the same edgeId.\n animation: true,\n point: {\n visible: false\n },\n line: {\n visible: true,\n style: {\n stroke: (datum: { color: string }) => {\n return datum.color;\n },\n lineDash: (datum: { type: string }) => {\n if (datum.type === 'same_type') {\n return [0, 0];\n } else {\n return [3, 2];\n }\n },\n lineWidth: 0.8,\n strokeOpacity: 0.6\n }\n }\n },\n {\n id: 'scatter-series',\n type: 'scatter',\n dataId: 'nodes',\n xField: spec.xField,\n yField: spec.yField,\n seriesField: 'label',\n point: {\n state: {\n hover: {\n scaleX: 1.5,\n scaleY: 1.5,\n fillOpacity: 1\n },\n hover_reverse: {\n scaleX: 1,\n scaleY: 1,\n fillOpacity: 0.3\n }\n },\n style: {\n size: () => {\n return spec.taskType === 'neighborhood' ? 6 : 4;\n },\n fill: (datum: { label: string }) => {\n const color = spec.labelColor[datum.label] ?? 'gray';\n return color;\n },\n fillOpacity: (datum: { confidence: number }) => {\n return datum.confidence;\n }\n }\n },\n label: {\n visible: true,\n style: {\n visible: () => {\n return spec.taskType == 'neighborhood';\n },\n type: 'text',\n fontFamily: 'Console',\n fontStyle: 'italic',\n fontSize: 12,\n fill: 'black',\n fillOpacity: 0.6,\n text: (datum: Datum) => {\n return datum.id;\n }\n }\n }\n }\n ];\n\n // player\n if (spec.player) {\n spec.player = {\n ...spec.player,\n specs: dataSpecs\n };\n spec.animationAppear = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n\n spec.animationUpdate = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n }\n\n // axes\n spec.axes = [\n {\n orient: 'left',\n type: 'linear',\n inverse: true,\n min: spec.scope[1],\n max: spec.scope[3]\n },\n {\n orient: 'bottom',\n type: 'linear',\n min: spec.scope[0],\n max: spec.scope[2]\n }\n ];\n\n // iteration label\n spec.customMark = [\n {\n type: 'text',\n dataId: 'iter',\n style: {\n x: 50,\n y: () => 10,\n textBaseline: 'top',\n textAlign: 'left',\n fontSize: 100,\n fontWeight: 'bolder',\n fill: 'black',\n fillOpacity: 0.2,\n ...spec.infoLabel?.style\n }\n }\n ];\n\n // legends\n (spec.legends = [\n {\n seriesId: 'scatter-series',\n visible: true,\n orient: 'right',\n position: 'middle',\n data: (items: any[]) => {\n return items.map(item => {\n item.shape.outerBorder = {\n stroke: item.shape.fill,\n distance: 2,\n lineWidth: 1\n };\n return item;\n });\n },\n title: {\n visible: true,\n align: 'left',\n textStyle: {\n text: 'Classes',\n fontFamily: 'Console',\n fontSize: 18,\n fontWeight: 'bold'\n }\n },\n item: {\n visible: true,\n width: '8%',\n value: {\n alignRight: true,\n style: {\n fill: '#000',\n fillOpacity: 1,\n fontSize: 12\n },\n state: {\n unselected: {\n fill: '#d8d8d8'\n }\n }\n }\n }\n }\n ]),\n // tooltip\n (spec.tooltip = {\n visible: showTooltip,\n seriesId: 'scatter-series',\n lockAfterClick: false,\n activeType: 'mark',\n trigger: 'hover',\n mark: {\n title: {\n visible: true,\n value: 'Info'\n },\n content: [\n {\n key: 'Label',\n value: (datum: { label: string }) => {\n return datum.label;\n },\n shapeType: 'circle',\n shapeSize: 8\n },\n {\n key: 'Prediction',\n value: (datum: { prediction: string }) => {\n return datum.prediction;\n },\n shapeType: 'circle',\n shapeSize: 8,\n shapeFill: (datum: { prediction: string }) => {\n const color = spec.labelColor[datum.prediction] ?? 'gray';\n return color;\n }\n },\n {\n key: 'Confidence',\n value: (datum: { confidence: number }) => {\n return datum.confidence.toFixed(2);\n },\n shapeType: 'square',\n shapeSize: 8,\n shapeFill: (datum: { label: string; prediction: string }) => {\n return datum.label === datum.prediction ? 'green' : 'red';\n }\n }\n ]\n },\n style: {\n panel: {\n padding: { top: 10, bottom: 15, left: 10, right: 10 },\n backgroundColor: '#fff',\n border: {\n color: '#eee',\n width: 1,\n radius: 10\n }\n },\n titleLabel: {\n fontSize: 20,\n fontFamily: 'Times New Roman',\n fill: 'brown',\n fontWeight: 'bold',\n textAlign: 'center',\n lineHeight: 24\n },\n keyLabel: {\n fontSize: 16,\n fontFamily: 'Times New Roman',\n fill: 'black',\n textAlign: 'center',\n lineHeight: 15,\n spacing: 10\n },\n valueLabel: {\n fontSize: 14,\n fill: 'black',\n textAlign: 'center',\n lineHeight: 15,\n spacing: 10\n }\n }\n });\n\n // datazoom\n spec.dataZoom = [\n {\n visible: false,\n orient: 'left',\n filterMode: 'axis',\n showDetail: false,\n roamZoom: {\n enable: true,\n focus: true,\n rate: 3\n },\n roamDrag: {\n enable: true,\n reverse: true,\n rate: 1\n }\n },\n {\n visible: false,\n orient: 'bottom',\n filterMode: 'axis',\n showDetail: false,\n roamZoom: {\n enable: true,\n focus: true,\n rate: 3\n },\n roamDrag: {\n enable: true,\n reverse: true,\n rate: 1\n }\n }\n ];\n\n super.transformSpec(spec);\n }\n}\n\n/**\n * convert ISequenceScatterLinkData to IScatterData\n */\nexport function processSequenceData(spec: ISequenceScatterLinkSpec) {\n const result: any[] = [];\n Object.keys(spec.data).forEach(iter => {\n const nodes = spec.data[iter].nodes;\n result.push({\n data: [\n {\n id: 'nodes',\n values: nodes.map((d, i) => {\n return { ...d, [DATA_KEY]: i };\n })\n },\n {\n id: 'endpoints',\n values: [] // dynamically filled in events\n },\n {\n id: 'iter',\n values: [\n {\n iter\n }\n ]\n },\n {\n id: 'background',\n values: [\n { iter: iter, x: spec.scope[0], y: spec.scope[1] },\n { iter: iter, x: spec.scope[0], y: spec.scope[3] },\n { iter: iter, x: spec.scope[2], y: spec.scope[3] },\n { iter: iter, x: spec.scope[2], y: spec.scope[1] },\n { iter: iter, x: spec.scope[0], y: spec.scope[1] }\n ]\n }\n ]\n });\n });\n return result;\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import { ISequenceScatterLinkSpec } from './interface';
2
+ import { VChart, BaseChart } from '@visactor/vchart';
3
+ import { SequenceScatterLinkChartSpecTransformer } from './sequence-scatter-link-transformer';
4
+ export declare class SequenceScatterLink extends BaseChart<Omit<ISequenceScatterLinkSpec, 'data'>> {
5
+ type: string;
6
+ static type: string;
7
+ static readonly view: string;
8
+ _spec: ISequenceScatterLinkSpec;
9
+ static readonly transformerConstructor: typeof SequenceScatterLinkChartSpecTransformer;
10
+ readonly transformerConstructor: typeof SequenceScatterLinkChartSpecTransformer;
11
+ init(): void;
12
+ protected isValid(): boolean;
13
+ }
14
+ export declare const registerSequenceScatterLink: (option?: {
15
+ VChart?: typeof VChart;
16
+ }) => void;
@@ -0,0 +1,28 @@
1
+ import { VChart, BaseChart, ScatterChart } from "@visactor/vchart";
2
+
3
+ import { SequenceScatterLinkChartSpecTransformer } from "./sequence-scatter-link-transformer";
4
+
5
+ export class SequenceScatterLink extends BaseChart {
6
+ constructor() {
7
+ super(...arguments), this.type = "sequenceScatterLink", this.transformerConstructor = SequenceScatterLinkChartSpecTransformer;
8
+ }
9
+ init() {
10
+ this.isValid() && super.init();
11
+ }
12
+ isValid() {
13
+ var _a, _b, _c, _d;
14
+ const {xField: xField, yField: yField, data: data} = this._spec;
15
+ return xField && yField ? !!data || (null === (_d = (_c = this._option).onError) || void 0 === _d || _d.call(_c, "Data is required"),
16
+ !1) : (null === (_b = (_a = this._option).onError) || void 0 === _b || _b.call(_a, "Missing Required Config: `xField`, `yField` "),
17
+ !1);
18
+ }
19
+ }
20
+
21
+ SequenceScatterLink.type = "sequenceScatterLink", SequenceScatterLink.view = "singleDefault",
22
+ SequenceScatterLink.transformerConstructor = SequenceScatterLinkChartSpecTransformer;
23
+
24
+ export const registerSequenceScatterLink = option => {
25
+ const vchartConstructor = (null == option ? void 0 : option.VChart) || VChart;
26
+ vchartConstructor && vchartConstructor.useChart([ SequenceScatterLink, ScatterChart ]);
27
+ };
28
+ //# sourceMappingURL=sequence-scatter-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["charts/sequence-scatter-link/sequence-scatter-link.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,uCAAuC,EAAE,MAAM,qCAAqC,CAAC;AAE9F,MAAM,OAAO,mBAAoB,SAAQ,SAAiD;IAA1F;;QACE,SAAI,GAAG,qBAAqB,CAAC;QAOpB,2BAAsB,GAAG,uCAAuC,CAAC;IAqB5E,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;YACtB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,8CAA8C,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA1BM,wBAAI,GAAG,qBAAqB,CAAC;AACpB,wBAAI,GAAW,eAAe,CAAC;AAI/B,0CAAsB,GAAG,uCAAuC,CAAC;AAwBnF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAmC,EAAE,EAAE;IACjF,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,MAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;KACjE;AACH,CAAC,CAAC","file":"sequence-scatter-link.js","sourcesContent":["import { ISequenceScatterLinkSpec } from './interface';\nimport { VChart, BaseChart, ScatterChart } from '@visactor/vchart';\nimport { SequenceScatterLinkChartSpecTransformer } from './sequence-scatter-link-transformer';\n\nexport class SequenceScatterLink extends BaseChart<Omit<ISequenceScatterLinkSpec, 'data'>> {\n type = 'sequenceScatterLink';\n static type = 'sequenceScatterLink';\n static readonly view: string = 'singleDefault';\n\n declare _spec: ISequenceScatterLinkSpec;\n\n static readonly transformerConstructor = SequenceScatterLinkChartSpecTransformer;\n readonly transformerConstructor = SequenceScatterLinkChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, data } = this._spec;\n if (!xField || !yField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerSequenceScatterLink = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([SequenceScatterLink, ScatterChart]);\n }\n};\n"]}
@@ -0,0 +1,9 @@
1
+ import { ISequenceScatterLinkData, Endpoint } from './interface';
2
+ export declare function getSeqScatterChartData(task_type: string): {
3
+ chartData: ISequenceScatterLinkData;
4
+ scope: number[];
5
+ label_color_dict: {
6
+ [key: string]: string;
7
+ };
8
+ };
9
+ export declare function selectEdges(chartData: ISequenceScatterLinkData, x: number, y: number): Endpoint[];
@@ -0,0 +1,100 @@
1
+ import trainingData1 from "../../../__tests__/runtime/browser/data/sequence-scatter/Training_process1/data.json";
2
+
3
+ import trainingInfo1 from "../../../__tests__/runtime/browser/data/sequence-scatter/Training_process1/info.json";
4
+
5
+ import trainingData2 from "../../../__tests__/runtime/browser/data/sequence-scatter/Training_process2/data.json";
6
+
7
+ import trainingInfo2 from "../../../__tests__/runtime/browser/data/sequence-scatter/Training_process2/info.json";
8
+
9
+ export function getSeqScatterChartData(task_type) {
10
+ const {scope: scope, label_index: label_index, label_text: label_text, label_color_dict: label_color_dict} = getBasicSettings(task_type);
11
+ return {
12
+ chartData: constructChartData(task_type, label_index, label_text, label_color_dict),
13
+ scope: scope,
14
+ label_color_dict: label_color_dict
15
+ };
16
+ }
17
+
18
+ function getBasicSettings(task_type) {
19
+ const training_info = "neighborhood" === task_type ? trainingInfo1 : trainingInfo2, scope = "neighborhood" === task_type ? [ -9, -9, 6, 6 ] : [ -8, -8, 8, 8 ], label_index = training_info.label_index, label_text = training_info.label_text, label_color_list = training_info.label_color, label_color_dict = {};
20
+ for (let i = 0; i < label_color_list.length; i++) {
21
+ const c = label_color_list[i];
22
+ label_color_dict[label_text[i]] = `rgb(${c[0]},${c[1]},${c[2]})`;
23
+ }
24
+ return {
25
+ scope: scope,
26
+ label_index: label_index,
27
+ label_text: label_text,
28
+ label_color_dict: label_color_dict
29
+ };
30
+ }
31
+
32
+ function constructChartData(task_type, label_index, label_text, label_color_dict) {
33
+ const original_data = "neighborhood" === task_type ? trainingData1 : trainingData2, chartData = {};
34
+ return Object.keys(original_data).forEach((epoch => {
35
+ let intra_similarity, inter_similarity;
36
+ if (chartData[epoch] = {
37
+ nodes: [],
38
+ edges: []
39
+ }, original_data[epoch].projection.forEach(((pos, id) => {
40
+ let conf = 1, pred = label_text[label_index[id]];
41
+ "classification" === task_type && (conf = original_data[epoch].confidence[id], pred = label_text[original_data[epoch].prediction[id]]),
42
+ chartData[epoch].nodes.push({
43
+ id: id,
44
+ x: pos[0],
45
+ y: pos[1],
46
+ label: label_text[label_index[id]],
47
+ prediction: pred,
48
+ confidence: conf
49
+ });
50
+ })), "neighborhood" === task_type) {
51
+ intra_similarity = original_data[epoch].intra_similarity, inter_similarity = original_data[epoch].inter_similarity;
52
+ let i = 0;
53
+ original_data[epoch].projection.forEach(((pos, id) => {
54
+ intra_similarity[id].forEach((neighbor => {
55
+ chartData[epoch].edges.push({
56
+ id: i,
57
+ x0: pos[0],
58
+ y0: pos[1],
59
+ x1: original_data[epoch].projection[neighbor][0],
60
+ y1: original_data[epoch].projection[neighbor][1],
61
+ type: "same_type",
62
+ color: label_color_dict[label_text[label_index[id]]]
63
+ }), i++;
64
+ })), inter_similarity[id].forEach((neighbor => {
65
+ chartData[epoch].edges.push({
66
+ id: i,
67
+ x0: pos[0],
68
+ y0: pos[1],
69
+ x1: original_data[epoch].projection[neighbor][0],
70
+ y1: original_data[epoch].projection[neighbor][1],
71
+ type: "cross_type",
72
+ color: label_color_dict[label_text[label_index[neighbor]]]
73
+ }), i++;
74
+ }));
75
+ }));
76
+ }
77
+ })), chartData;
78
+ }
79
+
80
+ export function selectEdges(chartData, x, y) {
81
+ const endpoints = [];
82
+ return Object.keys(chartData).forEach((iter => {
83
+ chartData[iter].edges.forEach((edge => {
84
+ x === edge.x0 && y === edge.y0 && (endpoints.push({
85
+ edgeId: edge.id,
86
+ x: edge.x0,
87
+ y: edge.y0,
88
+ type: edge.type,
89
+ color: edge.color
90
+ }), endpoints.push({
91
+ edgeId: edge.id,
92
+ x: edge.x1,
93
+ y: edge.y1,
94
+ type: edge.type,
95
+ color: edge.color
96
+ }));
97
+ }));
98
+ })), endpoints;
99
+ }
100
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["charts/sequence-scatter-link/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import trainingData1 from '../../../__tests__/runtime/browser/data/sequence-scatter/Training_process1/data.json';\nimport trainingInfo1 from '../../../__tests__/runtime/browser/data/sequence-scatter/Training_process1/info.json';\nimport trainingData2 from '../../../__tests__/runtime/browser/data/sequence-scatter/Training_process2/data.json';\nimport trainingInfo2 from '../../../__tests__/runtime/browser/data/sequence-scatter/Training_process2/info.json';\nimport { ISequenceScatterLinkData, OriginalData, TrainingInfo, Endpoint } from './interface';\n\nexport function getSeqScatterChartData(task_type: string) {\n // get basic settings\n const { scope, label_index, label_text, label_color_dict } = getBasicSettings(task_type);\n\n // construct chart data\n const chartData = constructChartData(task_type, label_index, label_text, label_color_dict);\n\n return { chartData, scope, label_color_dict };\n}\n\n/**\n * 获取基本设置,包括画布范围、标签、标签文本和标签颜色\n */\nfunction getBasicSettings(task_type: string) {\n const training_info: TrainingInfo = task_type === 'neighborhood' ? trainingInfo1 : trainingInfo2;\n const scope = task_type === 'neighborhood' ? [-9, -9, 6, 6] : [-8, -8, 8, 8];\n\n const label_index = training_info['label_index'];\n const label_text = training_info['label_text'];\n const label_color_list = training_info['label_color'];\n const label_color_dict: { [key: string]: string } = {}; // text -> rgb\n\n for (let i = 0; i < label_color_list.length; i++) {\n const c = label_color_list[i];\n label_color_dict[label_text[i]] = `rgb(${c[0]},${c[1]},${c[2]})`;\n }\n\n return { scope, label_index, label_text, label_color_dict };\n}\n\n/**\n * 构造图表数据,包括节点和边\n */\nfunction constructChartData(\n task_type: string,\n label_index: number[],\n label_text: string[],\n label_color_dict: { [key: string]: string }\n) {\n const original_data: OriginalData = task_type === 'neighborhood' ? trainingData1 : (trainingData2 as OriginalData);\n const chartData: ISequenceScatterLinkData = {};\n\n Object.keys(original_data).forEach(epoch => {\n chartData[epoch] = {\n nodes: [],\n edges: []\n };\n\n // fill in nodes\n original_data[epoch].projection.forEach((pos, id) => {\n let conf = 1;\n let pred = label_text[label_index[id]];\n if (task_type === 'classification') {\n conf = original_data[epoch].confidence[id];\n pred = label_text[original_data[epoch].prediction[id]];\n }\n\n chartData[epoch].nodes.push({\n id: id, // unique identification of a point\n x: pos[0],\n y: pos[1],\n label: label_text[label_index[id]],\n prediction: pred,\n confidence: conf\n });\n });\n\n // fill in edges\n let intra_similarity: number[][], inter_similarity: number[][];\n if (task_type === 'neighborhood') {\n intra_similarity = original_data[epoch].intra_similarity;\n inter_similarity = original_data[epoch].inter_similarity;\n\n let i = 0;\n original_data[epoch].projection.forEach((pos, id) => {\n intra_similarity[id].forEach(neighbor => {\n chartData[epoch].edges.push({\n id: i, // unique identification of an edge\n x0: pos[0],\n y0: pos[1],\n x1: original_data[epoch].projection[neighbor][0],\n y1: original_data[epoch].projection[neighbor][1],\n type: 'same_type',\n color: label_color_dict[label_text[label_index[id]]]\n });\n i++;\n });\n inter_similarity[id].forEach(neighbor => {\n chartData[epoch].edges.push({\n id: i, // unique identification of an edge\n x0: pos[0],\n y0: pos[1],\n x1: original_data[epoch].projection[neighbor][0],\n y1: original_data[epoch].projection[neighbor][1],\n type: 'cross_type',\n color: label_color_dict[label_text[label_index[neighbor]]]\n });\n i++;\n });\n });\n }\n });\n\n return chartData;\n}\n\n/**\n * 选择边,根据给定的x和y坐标,返回所有与该点相关的边,构造边的端点用于绘制线段\n */\nexport function selectEdges(chartData: ISequenceScatterLinkData, x: number, y: number) {\n const endpoints: Endpoint[] = [];\n Object.keys(chartData).forEach(iter => {\n const edges = chartData[iter].edges;\n edges.forEach(edge => {\n if (x === edge.x0 && y === edge.y0) {\n endpoints.push({ edgeId: edge.id, x: edge.x0, y: edge.y0, type: edge.type, color: edge.color });\n endpoints.push({ edgeId: edge.id, x: edge.x1, y: edge.y1, type: edge.type, color: edge.color });\n }\n });\n });\n return endpoints;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const DATA_KEY = "dataKey";
2
+ export declare const BACKGROUND_KEY = "background";
3
+ export declare const EXPAND_RATIO = 0.2;
@@ -0,0 +1,6 @@
1
+ export const DATA_KEY = "dataKey";
2
+
3
+ export const BACKGROUND_KEY = "background";
4
+
5
+ export const EXPAND_RATIO = .2;
6
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["charts/sequence-scatter-pixel/constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAC3C,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC","file":"constant.js","sourcesContent":["export const DATA_KEY = 'dataKey';\nexport const BACKGROUND_KEY = 'background';\nexport const EXPAND_RATIO = 0.2; // 拓展比例\n"]}
@@ -0,0 +1,29 @@
1
+ import { IPlayerSpec } from '@visactor/vchart';
2
+ import { Datum } from '@visactor/vchart/src/typings/common';
3
+ import { ITextGraphicAttribute } from '@visactor/vrender-core';
4
+ type IterationData = Datum[];
5
+ type ISequenceScatterPixelData = {
6
+ [Iteration: string]: IterationData;
7
+ };
8
+ export interface ISequenceScatterPixelSpec {
9
+ type: 'sequenceScatterPixel';
10
+ data: ISequenceScatterPixelData;
11
+ xField: string;
12
+ yField: string;
13
+ player: Omit<IPlayerSpec, 'specs'>;
14
+ infoLabel: {
15
+ visible: boolean;
16
+ style: ITextGraphicAttribute;
17
+ };
18
+ backgroundColors: {
19
+ [Iteration: string]: any;
20
+ };
21
+ width: number;
22
+ height: number;
23
+ }
24
+ export interface Point {
25
+ x: number;
26
+ y: number;
27
+ label?: string;
28
+ }
29
+ export {};
@@ -0,0 +1,2 @@
1
+ export { };
2
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["charts/sequence-scatter-pixel/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import { IPlayerSpec } from '@visactor/vchart';\nimport { Datum } from '@visactor/vchart/src/typings/common';\nimport { ITextGraphicAttribute } from '@visactor/vrender-core';\n\ntype IterationData = Datum[];\ntype ISequenceScatterPixelData = {\n /**\n * key: 迭代信息\n * value: 每个迭代的数据\n */\n [Iteration: string]: IterationData;\n\n // TODO: 支持边的绘制\n // [Iteration: string]: {\n // /**\n // * 节点数据\n // */\n // nodes: IterationNodesData;\n // /**\n // * 边数据\n // */\n // edges: IterationEdgesData;\n // };\n};\n\nexport interface ISequenceScatterPixelSpec {\n /**\n * 图表类型\n */\n type: 'sequenceScatterPixel';\n /**\n * 数据\n */\n data: ISequenceScatterPixelData;\n /**\n * x轴字段\n */\n xField: string;\n /**\n * y轴字段\n */\n yField: string;\n /**\n * 播放器配置\n */\n player: Omit<IPlayerSpec, 'specs'>;\n /**\n * 文字标记(标记当前处于第几个迭代)\n */\n infoLabel: {\n visible: boolean;\n style: ITextGraphicAttribute;\n };\n /**\n * 背景数据\n */\n backgroundColors: {\n [Iteration: string]: any;\n };\n /**\n * 宽度\n */\n width: number;\n /**\n * 高度\n */\n height: number;\n}\n\nexport interface Point {\n x: number;\n y: number;\n label?: string;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { CommonChartSpecTransformer } from '@visactor/vchart';
2
+ export declare class SequenceScatterPixelChartSpecTransformer extends CommonChartSpecTransformer<any> {
3
+ transformSpec(spec: any): void;
4
+ }