Add support for various chart types and export functionalities#82
Merged
Conversation
- 新增 LineChart.vue(echarts 折线), 支持平滑/堆叠/数值标签, 面积图为带填充变体 - ChartPanel 图表类型增加 折线图/面积图, 复用维度/指标透视配置
- 新增 PieChart.vue(echarts 饼图), 支持环形与百分比标签 - ChartPanel 增加饼图类型: 取首个维度作扇区、首个指标作数值, 复用排序/TopN
- 新增 ScatterChart.vue(echarts 散点), 逐行取 (X, Y), 支持分组拆分系列 - shape.ts 增加 scatterData(不聚合的原始点塑形) - ChartPanel 散点图使用 X/Y 指标 + 分组 的独立配置区
- 新增 RadarChart.vue(echarts 雷达), 维度作指示器、指标作系列, 各轴自动取最大值 - 支持填充与数值标签, 复用维度/指标透视配置
- 新增 FunnelChart.vue(echarts 漏斗), 按数值降序排列、显示占比 - ChartPanel 漏斗图复用 首个维度+首个指标 配置
- 新增 HeatmapChart.vue(echarts 热力图 + visualMap 颜色映射) - shape.ts 增加 heatmapData(双维度网格按指标聚合, 含 min/max) - ChartPanel 热力图取前两维度作 X/Y 轴、首个指标作热力值
- 新增 GaugeChart.vue(echarts 仪表盘) - shape.ts 增加 aggregateColumn(整列单值聚合) - ChartPanel 仪表盘取首个指标聚合为单值, 量程自动取整
- 结构化数据可视化新增图表说明(9 种图表/拖拽配置/聚合排序) - SQL 说明更新为插件式执行器(内存/SQLite/MySQL) - 技术栈补充 ECharts 与插件式数据库执行器
- 用 CHART_META 描述每种图表的配置布局/所需维度指标/选项/提示 - 维度区/指标区/排序/标签/空状态提示均由元数据驱动 - 图表类型选择器支持搜索, 为后续大量新增图表做准备(行为不变)
- 新增 SankeyChart.vue(echarts 桑基), 相邻维度按数据流连接 - shape.ts 增加 sankeyData(节点带层级前缀避免环, stripLevel 取展示名) - ChartPanel 桑基图: 多维度链式流向 + 指标作流量
- 原分隔符为不可见控制字符导致文件被识别为二进制 - stripLevel 改用正则去掉前导层级前缀, 更稳健
- 新增 SunburstChart.vue(echarts 旭日) - shape.ts 增加 hierarchy(维度按层级嵌套, 叶子值聚合; 旭日/矩形树/树图共用) - ChartPanel 旭日图: 多维度层级 + 首个指标作数值
- 新增 TreemapChart.vue(echarts 矩形树图, 支持下钻) - 复用 hierarchy 层级数据, 维度作嵌套层级、首个指标作面积
- 新增 TreeChart.vue(echarts 树图, 可展开/折叠) - 复用 hierarchy 层级数据, 自动包裹单一根节点
- 新增 BoxplotChart.vue(echarts 箱线 + 离群点散点) - shape.ts 增加 boxplotData(分组计算五数概括与 1.5*IQR 离群点) - 箱线图按维度分组、指标取原始分布(不聚合)
- 新增 CandlestickChart.vue(echarts K 线 + 数据缩放) - shape.ts 增加 candlestickData(按类目聚合 开/收/低/高) - K 线图: 维度作类目轴, 指标依次为 开/收/低/高
- 新增 ParallelChart.vue(echarts 平行坐标, 轴可展开) - shape.ts 增加 parallelData(每行跨多指标轴, 可选维度分组) - 平行坐标: ≥2 个指标作轴, 首个维度可选分组
- 新增 ThemeRiverChart.vue(echarts 主题河流 + 时间单轴) - shape.ts 增加 themeRiverData(时间×类别聚合) - 主题河流: 维度1为时间、维度2为类别、指标作值
- 新增 CalendarChart.vue(echarts 日历 + 热力 + visualMap) - shape.ts 增加 calendarData(解析日期/时间戳, 按日聚合, 自动量程) - 日历图: 首个维度作日期、首个指标作值
- 图表区右上角新增导出按钮, 从激活的 echarts 实例取图下载 - 2x 像素比, 背景跟随主题, 适用全部 18 种图表(无需改动各图表组件)
- PieChart 增加 rose 模式(roseType=radius, 圆角扇区) - ChartPanel 新增玫瑰图类型, 复用饼图数据(首维度+首指标)
- ScatterChart 增加 effect 模式(effectScatter + 涟漪动画) - ChartPanel 新增涟漪散点图类型, 复用散点 X/Y/分组 配置
- 新增 GraphChart.vue(echarts 力导向关系图, 可拖拽/缩放) - shape.ts 增加 graphData(源/目标同名即同节点, 权重决定节点大小) - 关系图: 维度1为源、维度2为目标、指标作连线权重
- 新增 PolarBarChart.vue(echarts 极坐标系柱图, 支持堆叠) - 维度作角度轴、指标作半径, 复用透视数据
- 新增 PictorialBarChart.vue(echarts 象形柱, 图形重复填充) - 维度作类目轴、指标作高度, 复用透视数据
- 新增 WordCloudChart.vue(echarts-wordcloud, 首维度作词/首指标作权重) - 新增 LiquidFillChart.vue(echarts-liquidfill, 聚合值÷列最大值作比例) - 引入 echarts-wordcloud / echarts-liquidfill 扩展包
- 新增 MapChart.vue(echarts map + visualMap, 动态注册地图、按需分包) - 内置 china.json / world.json GeoJSON, 维度作地区名、指标作值着色 - 支持缩放平移, 配色跟随主题
- china.json / world.json 之前被全局 *.json 规则忽略, 导致地图缺数据 - .gitignore 增加 src/components/charts/geo/*.json 例外
- 图表类型/聚合/排序/TopN/字段映射/各显示选项写入 KV(数据库) - 重新打开图表视图自动恢复上次配置, 字段按当前结果列过滤 - 300ms 防抖写入
- 后端 csv.rs 插件(console_type=table, cat 文件内容), 注册到 manager/mod - 新增 DataTableView: 解析分隔文本(支持引号/转义/字段内换行, 自动识别分隔符) - 表格视图 + 图表视图切换, 图表复用 ChartPanel(数据源解耦的成果) - App.vue 增加 table 输出分支, 设置项新增「数据表/图表」输出类型
- 后端 tsv.rs 插件(console_type=table), 注册到 manager/mod - 复用 DataTableView, 自动识别制表符分隔
- 新增 csv.svg / tsv.svg 图标 - 支持语言网格与列表加入 CSV/TSV - 结构化数据可视化说明 CSV/TSV 解析为数据表并可切图表
- 导出区改为三按钮: 导出 PNG / 复制图片到剪贴板 / 导出数据 CSV - 复制走 Clipboard API(失败提示), CSV 带 BOM 便于 Excel 识别中文 - 适用全部图表, 导出的是图表底层 columns/rows
- 抽出 utils/csv.ts(toCsv/downloadCsv, 带 BOM、引号转义), 三处共用 - SqlTableView/DataTableView 头部新增导出 CSV 按钮 - ChartPanel 导出 CSV 改用共享工具
- 新增导出 SVG(临时用 SVG 渲染器复刻当前 option, 矢量输出) - 角落多个按钮收为单一下拉: 导出 PNG / SVG / 复制图片 / 导出数据 CSV - 点击外部关闭菜单
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.