- Support 9 chart types: line, bar, pie, scatter, bubble, donut, mixed, polar, radar - Multi-format output: ANSI, SVG, PNG, Markdown - Go + Fiber + gonum/plot - Docker support - Morandi color palette
1.6 KiB
1.6 KiB
changelog.md
待实现 (Todo)
- 单元测试
- 集成测试
- 配置文件热加载
- 图表缓存机制
已实现 (Done)
- 项目结构搭建
- 核心类型定义
- SVG 渲染器
- PNG 渲染器
- ANSI 渲染器
- 纯文本渲染器
- API Handler
- Docker 部署配置
- 饼图 (pie) 支持
- 散点图 (scatter) 支持
- 圆环图 (donut) 支持
- 气泡图 (bubble) 支持
- 混合图 (mixed) 支持
- 极区图 (polar) 支持
- 雷达图 (radar) 支持
版本记录
v0.3.0 (2026-04-16)
- 新增图表类型:圆环图、气泡图、混合图、极区图、雷达图
- 支持 9 种图表类型
v0.2.0 (2026-04-16)
- 新增图表类型:饼图、散点图
- 优化 ANSI 渲染器
v0.1.0 (2026-04-16)
- 初始版本
- 支持图表类型:line, bar
- 支持输出格式:text, ansi, svg, png_url, markdown
认知纠正 (Knowledge)
Go 图表库选型
- gonum/plot - 纯 Go,无外部依赖,适合生成静态图片(PNG/SVG)
- ntcharts - 专为 Bubble Tea TUI 设计,终端内渲染,依赖较多
- pterm - 终端美化库,有 BarChart 组件,但不支持 PNG/SVG
结论:对于需要同时支持 Web(PNG/SVG)和 CLI(ANSI)的场景,gonum/plot + 自写 ANSI 渲染器是最佳组合。
设计模式应用
- 策略模式:不同的渲染器实现统一的 Renderer 接口
- 工厂模式:RendererFactory 根据格式类型创建对应渲染器
Docker 注意事项
- 使用
golang:alpine减小镜像体积 - 多阶段构建:编译 -> 运行
- 端口映射:3100:3100