织梦dedecms医院类网站在线预约挂号插件,万网网站建设,网站 制作登录,seo页面检测最近在做视觉应用开发#xff0c;有个需求需要实时获取当前识别到的位姿点位是否有突变#xff0c;从而确认是否是视觉算法的问题#xff0c;发现Python的Matplotlib进行绘制比较方便。 目录 1.数据绘制2.绘制实时的动态折线图3.保存实时数据到CSV文件中 import matplotlib.… 最近在做视觉应用开发有个需求需要实时获取当前识别到的位姿点位是否有突变从而确认是否是视觉算法的问题发现Python的Matplotlib进行绘制比较方便。 目录 1.数据绘制2.绘制实时的动态折线图3.保存实时数据到CSV文件中 import matplotlib.pyplot as plt
import random
import numpy as np
import time
import os
import csv1.数据绘制
def draw_data():index [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]x_data [1, 0.2, 0.3, 4, 0.5, 0.6, 1, 0.8, 0.9, -1]# 创建折线图plt.plot(index, x_data, markero, colorb, linestyle-, labelx_data)# 设置标题和标签plt.title(x_data)plt.xlabel(Index)plt.ylabel(X Data)# 显示图例plt.legend()# 设置横坐标刻度使得每个index值都显示plt.xticks(index)# 显示图形plt.show()2.绘制实时的动态折线图 虽然可以实时绘制但会不断新增新的窗口导致越到后面越卡顿后面采用了保存到CSV文件进行分析的方法。 def realtime_data_draw():动态折线图实时绘制plt.ion()plt.figure(1)t_list []result_list []t 0while True:if t 100 * np.pi:plt.clf()t 0t_list.clear()result_list.clear()else:t np.pi / 4t_list.append(t)result_list.append(np.sin(t))plt.plot(t_list, result_list, cr, ls-, markero, mecb, mfcw) ## 保存历史数据plt.plot(t, np.sin(t), o)plt.pause(0.1)3.保存实时数据到CSV文件中 将实时的数据保存到CSV文件中通过excel文件绘制折线图进行分析。 def realtime_data_save_csv():# 模拟实时生成的轨迹点坐标count 0# CSV 文件路径file_path vision_data/pose.csvif os.path.exists(file_path):os.remove(file_path)# 写入表头并开始写入数据with open(file_path, modew, newline) as file:writer csv.writer(file)# 写入表头writer.writerow([Index, X, Y, Z, RX, RY, RZ])while True:count 1x_value random.uniform(-0.5, 0.5)y_value random.uniform(-0.5, 0.5)z_value random.uniform(-0.1, 0.8)rx_value random.uniform(-3.14, 3.14)ry_value random.uniform(-3.14, 3.14)rz_value random.uniform(-3.14, 3.14)# 将生成的数据写入 CSV 文件writer.writerow([count, x_value, y_value, z_value, rx_value, ry_value, rz_value])time.sleep(0.05)