GNSS-INS组合导航:KF-GINS(五)——绘图工具

该文章展示了如何利用Python的numpy、pandas和matplotlib库读取IMU_ERR.bin和STD.bin二进制文件,将数据转换为DataFrame,并对其中的传感器误差和标准差进行可视化,包括折线图和散点图。代码实现了对特定列的图形绘制,并保存为jpg图像。
该文章已生成可运行项目,

跑完KF-GINS在dataset会得到以下几个文件

 其中每部分文件的格式github与说明文档给出来了准确的含义。

第一部分:IMU GNSS数据

 第二部分:TRUTH文件与计算的NAV文件(文本格式)

 第三部分:IMU error 、STD(bin二进制格式)

本文章介绍如何用python读取第三部分bin二进制文件,并简单绘图。

1、需要numpy pandas matplotlib random

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import random

2、读取IMU_ERR.bin文件、设置列名

# xyz一起版, 折线
# 颜色列表
color_choice = ['#e791c8' , '#d695e5', '#a8aceb', '#54acd2', '#4faaaf'
               , '#4aab98', '#4ab067', '#8ca547', '#b39d4a', '#dd9250'
               , '#ea96a3',]
time = df['time (s)']-456300.009412

3、设置画布、颜色、绘图

# 设置画布
fig = plt.figure(figsize=(12,8))

#随机在color_choice中选择三个颜色
color_a, color_b, color_c = random.sample(color_choice, 3)

# 选择 -->  'X axes gyroscope biases (deg/h)' 列
col_name1 = data_columns[1]
# 线段图
plt.plot(time, df[col_name1],label=col_name1[:1], color=color_a)
# 散点图
#     plt.scatter(time, df[col_name1],label=col_name1[:1], color=color_a)

col_name2 = data_columns[2]
plt.plot(time, df[col_name2],label=col_name2[:1], color=color_b)
col_name3 = data_columns[2]
plt.plot(time, df[col_name3],label=col_name3[:1], color=color_c)

# 显示图例
plt.legend(frameon=False, fontsize='16')
plt.ylabel(col_name1[6:],fontsize='20')
plt.xlabel(data_columns[0],fontsize='20')
# 显示网格
plt.grid()
plt.xticks(fontsize='16')
plt.yticks(fontsize='16')

# 设置保存图片的的名称
file_name_save = 'xxx .jpg'
# 保存图片
plt.savefig(file_name_save, dpi=600, format='jpg', bbox_inches = 'tight')

其中散点图出来的结果比较丑.....不够平滑,我就去掉了。

4、循环版

#############################################################################
# 循环版
color_choice = ['#e791c8' , '#d695e5', '#a8aceb', '#54acd2', '#4faaaf'
               , '#4aab98', '#4ab067', '#8ca547', '#b39d4a', '#dd9250'
               , '#ea96a3',]
time = df['time (s)']-456300.009412

for i in range(4):
    fig = plt.figure(figsize=(12,8))
    
    numbe
本文章已经生成可运行项目
评论 20
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值