你是大学生方程式赛车队的数据工程师,需开发一款赛车数据分析软件。
-
示例文件:
AGX.xrk、Du.xrk(来自AiM 数字仪表的原始文件)AGX.csv、Du.csv(上面对应的数据文件,在官方数据分析软件RaceStudio3中导出) -
数据特征:Time从0开始均匀递增,采样率20Hz
文件夹 /TestMatLabXRK 内含有由aim官方提供的解析脚本。请你逆向该脚本,从而对上传的xrk文件进行分析,从而得到相应的数据,可以导出csv文件,以便在后面对数据进行处理。为对照,我附上了xrk文件同名的csv文件,csv文件是由aim官方数据分析软件racestudio3导出的,请你确保你分析出的数据文件和官方软件导出的csv文件内的数据保持相同,格式最好也保持相同。xrk、csv文件处于/Data文件夹中
-
目标:输出可打包为
.exe的方案 -
讨论维度: • GUI框架 • 图表库 • 打包工具
请你选择3个subagent都认可的方案。
-
输出:对比表格 + 推荐方案+理由
-
解析器:
• 自动提取.xrk数据 • 动态识别数值列,以Time为基准对齐
-
处理器: • 统一时间零点(Time≥0),并且图表不能被拖动到Time < 0 的部分。 • 支持时间区间筛选 [t1, t2](最好可以拖动时间轴选择,而不是输入具体时间) • 多曲线对齐:自动特征点检测(选做) + 手动偏移调整
-
分析引擎(选做): • 基础统计:max/min/avg/lap time • 衍生计算:加速度、功耗等 • 对比指标:RMSE、相关系数
数据展现的方式,布局可以参照上传的截图RS3.png(位于/Data),这是racestudio3里面的数据分析界面。要求你学习并保留截图中时间轴、数据列分布等优秀功能。同时要对页面进行如下修改:
-
布局:Linear风格(参考: Linear App),支持深浅主题切换
-
图表渲染
• 你应该提取出跑动时的详细数据放入一侧的列表,当我勾选时界面上呈现以时间为X轴的图表,(要有数据的折线图)
-
单文件模式: • 左侧:数据列勾选列表(显示名称+单位) • 右侧:折线图(Time为X轴,支持缩放/平移) • 交互: • 交互:显示竖线(鼠标左键长按拖动,鼠标左键单击可以改变竖线所在位置)+Tooltip(Time, Value)(一样可以借鉴racestudio3里的截图RS3.png)
-
图表要求:
-
1、时间轴不能显示负轴,数据也不会有时间小于零的情况。 2、可以选定时间轴上的某一段查看数据,同时时间轴的拖动只能在最下方的总时间轴。(可以参照racestudio3的截图理解一下) 3、对于数据在y轴上,应该做到自动缩放,使得曲线占图表的比例恰到好处。数据在y轴上的缩放不应被人手动改变。
自然语言叙述:“你应该提取出跑动时的详细数据放入一侧的列表,当我勾选时界面上呈现以时间为X轴的图表(折线图)。这个图表应该X时间始终大于0(没有小于0的部分),延续到每个文件的Time时间的最后一秒。同时可以选择某一段时间查看数据。当鼠标放在图表上时应该可以看到此刻的时间以及对应的数据量(建议是一条竖线,可以看到时间,同时可以开一个小窗口显示数据)。图表的左侧应该是该数据的名称以及单位。当选择多个数据时,图表应该并行放置。”
-
双文件模式: • 对比视图:分图对比 / 叠图对比 一键切换
分图对比:即两份文件中的同一个数据通道的数据生成两份图表,方便对比。 叠图对比:两份文件的同一个数据通道的数据生成两条曲线,渲染在同一个图表中,方便对比。
• 曲线对齐:拖拽时间轴微调偏移量,实时预览(由于数据文件的起始点不同,所以需要手动对齐两份数据文件)
自然语言叙述:“这个功能可以使得两份数据文件的同一个数据量既可以生成两个图表进行对比,也可以将两个数据量生成的曲线放在同一个图表里进行比较。此外,由于数据开始记录的时间和赛道上对应的位置不同(即两份文件里的同一个时刻对应的赛道位置不同,因此不具有对比性),你还应该想一个方法(自动或手动),对齐两份文件生成曲线的特征点,使得其中一份数据文件生成的曲线可以进行时间上的偏移,从而使得两条曲线可以进行对比。”
-
导出:图表可保存为PNG,处理数据可导出CSV
- 兼容:Windows 10/11
- 交付:无需事先安装其他环境就可以可运行的 .exe + 源码 + 使用文档Readme.md
✅ 单文件:勾选3个参数能正确渲染并行折线图
✅ 双文件:同一参数可叠图对比,手动偏移后曲线特征点对齐
✅ 打包:生成的 .exe 在无Python环境的机器可独立运行
请你自动论证、设计、验证、优化、编译,源码部分放到工作目录下的/code 文件夹,直到最后交付一个数据分析软件(.exe文件),中间无需问我问题,最后的交付软件能达到设计要求即可。我将使用多个不同的xrk文件进行测试。软件内应该有对应的数据分析页面,同时可以导出图表、导出csv。