天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
《紫骝马》
紫骝行且嘶,双翻碧玉蹄。临流不肯渡,似惜锦障泥。
白雪关山远,黄云海戍迷。挥鞭万里去,安得念春闺。
文章目录
- mdf文件数据处理之画图(多个信号画在同一张图中)
- 1. 引入库
- 2. 代码
- 3. 画图结果
- 加分加分
- 1. 加分
- 2. 加分
- 3. 加分
- 4. 加分
- 4.1 加分1
- 4.2 加分2
- 4.3 加分3
- 4.4 加分4
mdf文件数据处理之画图(多个信号画在同一张图中)
mdf文件数据处理(获取信号、画图)
参考以上文章将信号数据画图
本篇将多个信号数据的折线图画在同一视图中展示
以三个信号的数据将三个折线图画在同一视图
1. 引入库
需要用到的库
asammdf
matplotlib
asammdf库用于mdf文件的处理
matplotlib库用于作图
2. 代码
需先准备mdf文件,引入库后进行文件处理
完整的代码如下
# 用于处理MDF文件
from asammdf import MDF
# 用于作图
import matplotlib.pyplot as plt# 读取mdf文件为mdf对象
mdf = MDF('./MDF/0105_405-4415ET.3-ECU DI 5_UM26OV031_Test_Task_2024-11-12 06-14-19.mf4')# 多个数据折线图在同一视图展示,如三个信号画在一张图中# 定义视图和轴参数,fig是图,axes是轴,3是横轴数据数量,1是图数量,sharex是否共享轴操作(操作一个轴,其他轴同步)
fig, axes = plt.subplots(3, 1, sharex=True)
# 信号名(信号可通过mdf.iter_channels()方法遍历打印,具体可参考文章)
chanName0 = 'vfzg\XCP'
chanName1 = 'tmot\XCP'
chanName2 = 'pvds_w_msg\XCP'
# 信号0对应的时间和值数组
chan0Timestamps = mdf.get(chanName0).timestamps
chan0Samples = mdf.get(chanName0).samples
# 信号1对应的时间和值数组
chan1Timestamps = mdf.get(chanName1).timestamps
chan1Samples = mdf.get(chanName1).samples
# 信号2对应的时间和值数组
chan2Timestamps = mdf.get(chanName2).timestamps
chan2Samples = mdf.get(chanName2).samples
# 第一个横坐标轴对应的信号的时间和值
axes[0].plot(chan0Timestamps, chan0Samples)
# 第二个横坐标轴对应的信号的时间和值
axes[1].plot(chan1Timestamps, chan1Samples)
# 第三个横坐标轴对应的信号的时间和值
axes[2].plot(chan2Timestamps, chan2Samples)
# 将画的图展示
plt.show()
3. 画图结果
画图记过展示如下
文章结束
-------------------------------------------
以下内容增加文章评分用,可忽略
加分加分
黄河之水天上来,奔流到海不复回
高堂明镜悲白发,朝如青丝暮成雪
1. 加分
黄河之水天上来,奔流到海不复回
高堂明镜悲白发,朝如青丝暮成雪
2. 加分
黄河之水天上来,奔流到海不复回
高堂明镜悲白发,朝如青丝暮成雪
3. 加分
寒山李白
寒山李白
4. 加分
账号密码
名称 | 密码 |
---|---|
李白 | 123 |
4.1 加分1
账号密码
名称 | 密码 |
---|---|
李白 | 123 |
4.2 加分2
账号密码
名称 | 密码 |
---|---|
李白 | 123 |
4.3 加分3
账号密码
名称 | 密码 |
---|---|
李白 | 123 |
4.4 加分4
账号密码
名称 | 密码 |
---|---|
李白 | 123 |
感谢阅读,祝君暴富!