python + matplotlib画图
# -*- 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,title,re_str,num):
plt.title(title)
plt.xlabel("point")
plt.ylabel("value")
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)
'''
画运控偏差参数,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+"
# 待画数据位于表达式位置0123
deltaY_num = 0
deltaR_num = 1
# 画子图
plt.subplot(1, 2, 1)
print_num(file_src,"deltaY",delta_re_str,deltaY_num)
plt.subplot(1, 2, 2)
print_num(file_src,"deltaR",delta_re_str,deltaR_num)
'''
主函数入口
'''
if __name__ == '__main__':
print_delta()
plt.suptitle("cjeijie matplot test")
plt.show()
exit()
每天进步一点点!

浙公网安备 33010602011771号