python画折线

陈杰杰12个月前自动驾驶29
# -*- coding: utf-8 -*-
"""
build by cjiejie, python3.7 + matplotlib, windows10 amd64
"""
import numpy as np
import matplotlib.pyplot as plt
import re
import io
'''
按顺序画一组单维数据
file_src: 读取的文件内容数据
title:    显示数据标题
re_str:   正则表达式格式
num:      待取数据位于正则表达式中的位置
'''
def print_num(file_src,legend,re_str,num):
#plt.title("xxx")
x = []
y = []
pattern1 = re.compile(re_str)
result_list = pattern1.findall(file_src,re.I)
cnt = 0
for each in result_list:
pattern2 = re.compile("[-+]?\d*\.?\d+")
result = pattern2.findall(each)
cnt += 1
x.append(cnt)
y.append(float(result[num]))
plt.plot(x, y)
plt.legend(legend, loc='lower right')
'''
画运控偏差参数,deltaY deltaR
'''
def print_delta():
# 获取文件内容
f = open("delta.txt", 'r')
file_src = f.read()
f.close()
# 正则表达式格式
delta_re_str = "c_delta:[-+]?\d*\.?\d+,[-+]?\d*\.?\d+"
# 画子图
plt.subplot(3, 2, 1)
print_num(file_src,["deltaY","deltaR"],delta_re_str,0)
print_num(file_src,["deltaY","deltaR"],delta_re_str,1)
plt.subplot(3, 2, 2)
fdelta_re_str = "f_delta:[-+]?\d*\.?\d+,[-+]?\d*\.?\d+"
print_num(file_src,["FdeltaR","setW"],fdelta_re_str,1)
out_agv_vw = "out_agv_vw:[-+]?\d*\.?\d+,[-+]?\d*\.?\d+,[-+]?\d*\.?\d+"
print_num(file_src,["FdeltaR","setW"],out_agv_vw,2)
plt.subplot(3, 2, 3)
print_num(file_src,["vx"],out_agv_vw,0)
vel_re_str = "set&get V1:[-+]?\d*\.?\d+,[-+]?\d*\.?\d+ V2:[-+]?\d*\.?\d+,[-+]?\d*\.?\d+"
plt.subplot(3, 2, 4)
print_num(file_src,["setV1","getV1","setV2","getV2"],vel_re_str,1)
print_num(file_src,["setV1","getV1","setV2","getV2"],vel_re_str,2)
print_num(file_src,["setV1","getV1","setV2","getV2"],vel_re_str,4)
print_num(file_src,["setV1","getV1","setV2","getV2"],vel_re_str,5)
'''
主函数入口
'''
if __name__ == '__main__':
print_delta()
plt.suptitle("cjeijie matplot test")
plt.show()
exit()


标签: Python
每天进步一点点!

相关文章

Python正则表达式

Python正则表达式浮点数表示方法:[-+]?[0-9]*\.?[0-9]+...

python画二维图图

import codecs import re import numpy as np import matplotlib.pyplot...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。