你可以在 https://createskyblue.github.io/csv-time-series-annotator/ 直接使用此工具,无需安装任何依赖。
NanoEdgeAI CSV时间序列标注工具是一个基于Web的数据标注平台,专为时间序列数据的可视化与标注而设计。项目提供本地运行和快速部署能力,提升数据标注效率。
本工具主要面向数据科学家、机器学习工程师以及需要对时间序列数据进行结构化标注的研究团队。
- 多文件标注:支持同时上传多个CSV文件进行标注,可在一个项目中管理多个数据文件
- 文件导航:支持通过W/S键在不同文件间切换,不管样本是否完成标注
- 文件管理系统:新增文件树系统,可添加和删除标注项目中的文件
- 灵活数据导入与解析:支持CSV格式的数据导入,使用Papa Parse进行高效解析,每个CSV行被视为一个独立的时间序列样本
- 时间轴系数设置:允许用户设置时间轴单位系数,调整X轴显示比例
- 数据维度设置:支持设置数据维度数量,将数据按维度交错方式解析(D1_S1, D2_S1...序列),便于处理多维时间序列数据
- 时间序列可视化:基于uPlot轻量级图表库实现数据可视化
- 快速标签选择:支持数字键1-9快速选择前9个标签按钮
- 标签管理:灵活的标签配置系统,支持自定义标签
- 跳转功能:在样本导航区域提供文本框,允许用户手动输入数字快速跳转到指定样本
- 项目命名:允许用户为项目命名,便于管理
- 按钮按下反馈:标注按钮在鼠标按下或键盘快捷键按下时提供视觉反馈
- 数据导出:一键导出标注结果到分类的CSV文件,按原始文件名分别导出
- 修复CSV导出问题:修复导出CSV时自动创建新标题行的问题
- 项目备份与恢复:支持项目状态的导入导出功能
- 前端框架:React v19.2.3
- 语言:TypeScript ~5.8.2
- 构建工具:Vite ^6.2.0
- 图表库:uPlot ^1.6.32
- CSV解析:Papa Parse ^5.5.3
确保您的系统已安装Node.js(版本需兼容npm)
-
克隆或下载项目到本地目录
-
安装依赖:
npm install
-
启动本地服务:
npm run dev
- 点击侧边栏的"上传 CSV 数据源"按钮,选择CSV文件
- CSV的每一行将被视为一个独立的时间序列样本
- 在"全局配置"区域,可以设置"数据维度(D)"的值
- 该功能用于处理多维时间序列数据,将数据按维度交错方式解析(D1_S1, D2_S1...序列)
- 设置后,图表将显示多条数据序列线,每条线代表一个维度的数据
- 数据维度值会在右上角显示为"{维度数} 维模式"标签
- 在"标签配置"区域编辑标签,每行一个标签
- 修改后将即时更新下方的打标按钮
- 使用键盘上的 A/D 键或点击箭头按钮切换样本
- 点击标签按钮为当前样本打标签
- 已标注的样本会显示在状态指示区域
- 完成标注后,点击"一键导出标注结果"按钮
- 系统会按标签分类导出CSV文件
- 使用"导出项目"功能保存当前标注进度
- 使用"导入项目"功能恢复之前的标注进度
npm run build.
├── App.tsx # 主应用组件
├── uplot-wrapper.tsx # 图表组件封装
├── types.ts # 类型定义
├── index.html # 应用入口HTML
├── index.tsx # React渲染入口
├── vite.config.ts # Vite配置
├── lib/ # 第三方库
├── img/ # 图片资源
└── README.md
