PlotJuggler 实战笔记:拖一拖,把传感器数据变成可读曲线
【免费下载链接】PlotJugglerThe Time Series Visualization Tool that you deserve.项目地址: https://gitcode.com/gh_mirrors/pl/PlotJuggler
PlotJuggler 是一款开源数据绘图工具,专门做时间序列可视化,核心能力一句话:把数据字段拖到图上,立刻出曲线。它基于OpenGL渲染,几千条时间序列、百万级数据点也能流畅显示,适合处理传感器日志、机器人数据和实验记录的工程师、数据分析师和科研人员。
📊 先看效果
这是一份真实日志的完整回放:左侧树状列出了数据里的每个字段,右侧 4 个独立图表各画各的,鼠标扫过曲线能读出精确的时间戳和数值。这种"一个窗口看全貌"的布局,正是多路传感器分析时最想要的状态。
🖱️ 从下载到画出第一张图
Ubuntu 用户一条命令装好:
sudo snap install plotjugglerWindows 和 macOS 则去发布页下载对应安装包,装完直接打开。
启动后你会看到左侧是 Streaming、Publishers、Timeseries List 三个标签。从 File 菜单打开一个 CSV,仓库自带的 datasamples/ 目录里就有现成的示例文件,加载对话框里确认一下分隔符,时间戳保持自动识别即可。加载完左侧展开成一棵数据树,按住鼠标左键把感兴趣的字段拖到右侧空白区,曲线马上出现。想放大某段就用工具栏的缩放按钮框选,切到平移工具可以整体挪动视图。底部还有播放条,点播放能让时间指针从 0 走到头,像放录像一样看数据。
🔍 它能读什么数据
- 文件:CSV、ULog(PX4 无人机日志)、MCAP、Parquet、rosbag
- 实时流:MQTT、WebSockets、ZeroMQ、UDP、Foxglove Bridge,共 5 种流式接口
- 数据格式:JSON、CBOR、BSON、MessagePack
- 框架集成:ROS1 / ROS2(打开 rosbag 或直接订阅话题)、Lab Streaming Layer
⚙️ 画完图之后还能做什么
- 想平滑或求导:右键曲线选 Apply filter to data...,一阶导数、移动平均、积分、去离群值都是现成变换,不用写代码
- 想分屏对比:工具栏的布局按钮把画布切成多个子图,每个子图独立缩放
- 想自定义计算:Custom Function Editor 支持 Lua 脚本,多路输入一路输出,官方说 5 分钟能学会基础语法
- 想保存成果:图表可导出成图片,整个布局配置能存盘,下次一键恢复
⚠️ 上手时容易踩的坑 / 实用小贴士
- CSV 时间戳自动识别不了时,选 Custom Format 手动填格式,比如
yyyy-MM-dd hh:mm:ss - 数据量大到找不到字段时,先在 Timeseries List 上方的 Filter 输入框里搜,比在图例里翻快得多
- 误拖了一堆曲线,右键选Remove ALL curves一键清空重画,不用逐条删
结语
PlotJuggler 把"从数据文件到可读图表"的路径压到了最短,传感器和机器人数据基本不用再写绑图脚本。打开终端敲一行sudo snap install plotjuggler,拿 datasamples 里的现成 CSV 画一张图试试,三分钟见分晓。
【免费下载链接】PlotJugglerThe Time Series Visualization Tool that you deserve.项目地址: https://gitcode.com/gh_mirrors/pl/PlotJuggler
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考