# 桑基图制作工具 name: 星程桑基图 解析excel或csv数据,生成sankey图 ## 测试数据 data目录 ## 技术栈 web + 微信小程序 + APP(APP以后实现) web使用vue3 + typescript 公用核心,重用,便于扩展 ## 功能 1. 上传excel或csv文件 2. 列选择: - source: data列, description列(可选) -- 没有描述列,以data作为描述 - source: 描述列(可选) -- 没有描述列,以data作为描述 3. excel & csv解析 ```csv 宁波北欧10,2582,嘉兴四级算力池,http://14.173.1.216:8898/api/v1/detect,小模型,0908,12000,11623 宁波北欧12,2610,,,,,, 宁波鄞中15,507,,,,,, 宁波鄞中26,2914,,,,,, 宁波鄞中27,3010,,,,,, ``` 如: source data - 2(UI中取列名),description - 1,2 target description - 3、8、5 表示: - 前两列是source;后面几列相当于excel的合并单元格(与上行内容相同,实现中,可以简化处理,赋值补全)是target - source 数据使用第2列,描述内容使用1、2列:宁波北欧10-2582 - target 自动计算source的总和,描述内容使用3、8、5列:"嘉兴四级算力池-11623-小模型" 3. 支持png和svg导出 4. 配置 - 方向:source -> target target -> source - 配色 - gap/padding - 提供excel & csv模版 ## 新增 1. 未来功能 - 三级桑基图 - 预览excel/csv,从中选择列 - 预览元素定制 ## 优化 1. 数据,独立出来,每一条带的宽度表示。 2. 起点(source), 2. 终点(target), 逻辑:以example0.xlsx为例, 源数据-数据列,为第三列“人数”,数据列决定每一行渲染的高度。 源数据-描述列,如选“source”,sousce端结构就定了,只有“男、女两种可能,也就是说source端一定只有两条,宽度分别是男、女人数的总和。