一道坐标题,通过正则匹配提取坐标,画图即可。要注意的是,因为是画图,所以每个坐标每一位要加上前面的所有坐标。
import re
import matplotlib.pyplot as plt
x = []
y = []
z = []
a = []
x2,y2,z2=0,0,0
lines = open("sensors.log").readlines()
for line in lines:
a.append("".join(re.findall("\[drone\]\(DEBUG\)> dir: \(x=(.*?),y=",line)))
for i in a:
if i != '':
x2+=float(i)
x.append(float(x2))
a.clear()
for line in lines:
a.append("".join(re.findall("\[drone\]\(DEBUG\)> dir: \(x=.*?,y=(.*?),z=",line)))
for i in a:
if i != '':
y2+=float(i)
y.append(float(y2))
a.clear()
for line in lines:
a.append("".join(re.findall("\[drone\]\(DEBUG\)> dir: \(x=.*?,y=.*?,z=(.*?)\)",line)))
for i in a:
if i != '':
z2+=float(i)
z.append(float(z2))
ax = plt.plot(x, y,'-')
plt.axis('equal')
plt.savefig("test.png", dpi=1000)
plot函数作图(横纵坐标,定义线形):
plt.plot(x, y,'-')
避免比例压缩为椭圆:
plt.axis('equal')
保存为test.png,有则覆盖,分辨率1000:
plt.savefig("test.png", dpi=1000)
(感谢兰德师傅帮我瞅出来flag

⚪参考:
python-matplotlib绘图笔记