如何读取PLC数据TXT文件并使用Pandas生成多系列时序图
PLC读数TXT文件的读取与多曲线绘图方案
你的TXT文件本质是逗号分隔的CSV格式,完全可以用pandas的CSV处理方法直接读取,以下是完整的实现步骤:
1. 读取TXT文件到DataFrame
直接使用pd.read_csv(),指定列名匹配数据结构:
import pandas as pd # 读取文件,header=None表示无表头,自定义列名对应时间戳和三个PLC数值 df = pd.read_csv('plc_data.txt', header=None, names=['timestamp', 'plc_val1', 'plc_val2', 'plc_val3'])
2. 转换时间戳格式
将字符串类型的时间戳转为datetime类型,确保时间轴按正确顺序排列:
# 按时分秒格式解析时间戳 df['timestamp'] = pd.to_datetime(df['timestamp'], format='%H:%M:%S')
3. 绘制三条数据曲线
使用matplotlib绘制多系列曲线,同时优化图表可读性:
import matplotlib.pyplot as plt # 设置图表尺寸 plt.figure(figsize=(12, 6)) # 分别绘制三条曲线,添加标记和区分样式 plt.plot(df['timestamp'], df['plc_val1'], label='PLC数值1', marker='o', linestyle='-', color='#1f77b4') plt.plot(df['timestamp'], df['plc_val2'], label='PLC数值2', marker='s', linestyle='--', color='#ff7f0e') plt.plot(df['timestamp'], df['plc_val3'], label='PLC数值3', marker='^', linestyle='-.', color='#2ca02c') # 配置图表标签与样式 plt.xlabel('时间') plt.ylabel('PLC读数') plt.title('PLC三组数值随时间变化趋势') plt.legend() plt.xticks(rotation=45) # 旋转时间标签避免重叠 plt.grid(alpha=0.3) # 添加网格线辅助读数 plt.tight_layout() # 自动调整布局,防止标签被截断 # 显示图表 plt.show()
注意事项
- 确保文件路径正确:如果TXT文件不在当前代码运行目录,需传入完整绝对路径(如
C:/data/plc_data.txt) - 若后续数据包含日期,只需修改
pd.to_datetime()的format参数(例如%Y-%m-%d %H:%M:%S) - 可根据需求调整曲线的颜色、标记样式,或添加数据点标注
内容的提问来源于stack exchange,提问作者user23255092
相关产品推荐
相关产品推荐

