Я пытаюсь анимировать свои данные, полученные с датчика LIDAR, но я получил эту ошибку при попытке анимировать их!Можете ли вы помочь этой проблеме, я новичок в программировании на Python, большое спасибо!
Это проблема, которую я получил:
Файл "C: \ Users \ cemal \AppData \ Local \ Programs \ Python \ Python37-32 \ veritipleriogrenme.py ", строка 29, в буфере анимированных данных + = data_str TypeError: может объединять только str (не" _io.TextIOWrapper ") в str
Это набор данных, который я пытаюсь оживить:
0.0,0.0
0.0,269.1
0.0,270.3
0.0,271.5
1617.8,265.6
1627.3,266.8
1629.0,268.0
1633.0,269.2
тип моего набора данных - строка!
import matplotlib.pyplot as plot
import math
from matplotlib import style
import matplotlib.animation as animation
import numpy as np
fig=plot.figure(figsize=(4,4))
ax = fig.add_subplot(111, projection='polar')
ax.set_ylim(0,2000)
data = np.zeros(360)
theta = np.linspace(0,360, num=360)
l, = ax.plot([],[])
databuffer = ""
uzaklik = np.zeros(360)
pol = np.linspace(0,360, num=360)
def animate(i):
global data, databuffer
data_str = open(r"C:\Users\cemal\OneDrive\Masaüstü\veri2.txt","r")
databuffer += data_str
aci=np.linspace(0,360, num=360)
cap=np.zeros(360)
p_pol=np.linspace(0,360, num=360)
p_uzaklik=np.zeros(360)
aci2=np.linspace(0,360, num=360)
cap=np.zeros(360)
for x in data_str:
pol =x.partition(",")[2].rstrip()
uzaklik =x.split(',')[0]
try:
p_pol=float(pol.strip().strip("'"))
p_uzaklik=float(uzaklik.strip().strip("'"))
aci=np.append(p_pol)
cap=np.append(p_uzaklik)
aci2=[math.radians(i) for i in aci]
l.set_data(cap, aci2 )
data_buffer=""
return l,
except ValueError:
continue
ani = animation.FuncAnimation(fig, animate,interval=10000)
plot.show()