背景: 1.应用运行数据记录在 CSV 文件里,一秒记录一次,运行时间大概在 1-10 小时左右 2.实际输出 CSV 文件表头:时间|A|B|C|D|E…… 3.基本功能是绘制出 A|B|C 等随时间的变化曲线( csv 文件太多的时候用 EXCEL 绘制太麻烦)
需求: 1.可以有一个界面勾选想要的元素随时间的变化曲线(一条或多条曲线) 2.在一个界面绘制出核心参数 A 随时间变化曲线的同时,鼠标放在曲线相应位置可以显示出关联数据 B 、C 、D……等
刚开始学习 Python ,想做一个小工具来做数据处理和可视化。之前接触过一点数据处理,不知道用 Pandas + matplotlib 进行绘图可否实现上述效果?界面的话想了解一下 Python 哪些库做这个会合适一点?
1
qianxaingmoli 2022-03-28 22:10:30 +08:00
我觉得 pandas+echarts 可行
|
2
jorneyr 2022-03-28 22:20:08 +08:00
对 csv 的行做索引吧,显示的时候跳到文件位置进行读取。
|
3
Thymolblue 2022-03-28 23:07:39 +08:00
感觉 numpy 应该就可以胜任数据容器的工作
想要界面是不是得和 pyqt 配合一下(这部分我没接触过,我只用过 Qt C++),利用 Qt 的 mouseevent 就能实现显示关联数据的功能,然后再定时更新 QXYSeries 里的内容就能实现曲线更新。 (我也是新手,如果有更好的方法大家请指正哈) |
4
noqwerty 2022-03-28 23:37:20 +08:00 1
pandas + plotly 很方便: https://plotly.com/python/time-series/
|
5
TimePPT 2022-03-29 10:29:53 +08:00
理论上 jupyter 里配上 pandas 和随便一个交互可视化库就 OK
如果需要封成桌面 GUI ,可以参考下 https://github.com/hoffstadt/DearPyGui |
6
sober1215zxy OP @qianxaingmoli 谢谢,我看到有 pyecharts 这个库了
|
7
sober1215zxy OP @TimePPT 好的,感谢回复,我学习一下。
|
8
sober1215zxy OP @noqwerty 是的,pandas 处理起来方便很多。
|
9
sober1215zxy OP @Thymolblue 谢谢,正在看 PtQt5 相关的东西,感觉目前 GUI 用的用这个比较多。
|