История изменений
Исправление I-Love-Microsoft, (текущая версия) :
Вот код, не весь - опущена загрузка из файла, всё прекрасно рисуется и причем правильно. Но есть вопросы: 1) объявление linspace 2) информация о типе...
from collections import namedtuple
measure = namedtuple("measure", "acc gyr")
... тут заполняются данные из файла, каждый элемент data - это measure (named tuple с полями acc и gyr)
time = numpy.linspace(0., .02 * len(data), len(data))
ax = numpy.linspace(0., 0., len(data))
ay = numpy.linspace(0., 0., len(data))
az = numpy.linspace(0., 0., len(data))
gx = numpy.linspace(0., 0., len(data))
gy = numpy.linspace(0., 0., len(data))
gz = numpy.linspace(0., 0., len(data))
for i in range(0, len(data)):
ax[i], ay[i], az[i] = data[i].acc
gx[i], gy[i], gz[i] = data[i].gyr
plt.figure().canvas.set_window_title("graph")
pylab.subplot(211)
pylab.title("accelerometer")
pylab.plot(time, ax, "-r")
pylab.plot(time, ay, "-g")
pylab.plot(time, az, "-b")
pylab.subplot(212)
pylab.title("gyroscope")
pylab.plot(time, gx, "-r")
pylab.plot(time, gy, "-g")
pylab.plot(time, gz, "-b")
pylab.show()
1) Есть ли способ задать linspace сразу для всех этих переменных. А то не няшно - 6 одинаковых строк...
2) И правильно ли я беру данные из namedtuple? Ведь как только мы выходим из функции например, то мы теряем информацию что data это named tuple и у него есть поля acc и gyr. А как вернуть информацию что это data это measure??? Когда я был в функции загрузки из файла, то я мог присваивать полям значения в m = measure(acc = a, gyr = g):
def parse(file):
print file
d = []
f = file.readlines()
#print f
for i in range(0, len(f)):
f[i] = f[i].rstrip()
if len(f[i]) != 65: f[i] = ""
f = filter(None, f)
for i in range(0, len(f)):
s = f[i].split()
a = float(s[3]), float(s[4]), float(s[5])
g = float(s[0]), float(s[1]), float(s[2])
m = measure(acc = a, gyr = g)
d.append(m)
return d
Исправление I-Love-Microsoft, :
Вот код, не весь - опущена загрузка из файла, всё прекрасно рисуется и причем правильно. Но есть вопросы: 1) объявление linspace 2) информация о типе...
from collections import namedtuple
measure = namedtuple("measure", "acc gyr")
... тут заполняются данные из файла, каждый элемент data - это measure (named tuple с полями acc и gyr)
time = numpy.linspace(0., .02 * len(data), len(data))
ax = numpy.linspace(0., 0., len(data))
ay = numpy.linspace(0., 0., len(data))
az = numpy.linspace(0., 0., len(data))
gx = numpy.linspace(0., 0., len(data))
gy = numpy.linspace(0., 0., len(data))
gz = numpy.linspace(0., 0., len(data))
for i in range(0, len(data)):
ax[i], ay[i], az[i] = data[i].acc
gx[i], gy[i], gz[i] = data[i].gyr
plt.figure().canvas.set_window_title("graph")
pylab.subplot(211)
pylab.title("accelerometer")
pylab.plot(time, ax, "-r")
pylab.plot(time, ay, "-g")
pylab.plot(time, az, "-b")
pylab.subplot(212)
pylab.title("gyroscope")
pylab.plot(time, gx, "-r")
pylab.plot(time, gy, "-g")
pylab.plot(time, gz, "-b")
pylab.show()
1) Есть ли способ задать linspace сразу для всех этих переменных. А то не няшно - 6 одинаковых строк...
2) И правильно ли я беру данные из namedtuple? Ведь как только мы выходим из функции например, то мы теряем информацию что data это named tuple и у него есть поля acc и gyr. А как вернуть информацию что это data это measure??? Когда я был в функции загрузки из файла, то я видел все поля:
def parse(file):
print file
d = []
f = file.readlines()
#print f
for i in range(0, len(f)):
f[i] = f[i].rstrip()
if len(f[i]) != 65: f[i] = ""
f = filter(None, f)
for i in range(0, len(f)):
s = f[i].split()
a = float(s[3]), float(s[4]), float(s[5])
g = float(s[0]), float(s[1]), float(s[2])
m = measure(acc = a, gyr = g)
d.append(m)
return d
Исправление I-Love-Microsoft, :
Вот код, не весь - опущена загрузка из файла, всё прекрасно рисуется и причем правильно. Но есть вопросы: 1) объявление linspace 2) информация о типе...
from collections import namedtuple
measure = namedtuple("measure", "acc gyr")
... тут заполняются данные из файла, каждый элемент data - это measure (named tuple с полями acc и gyr)
time = numpy.linspace(0., .02 * len(data), len(data))
ax = numpy.linspace(0., 0., len(data))
ay = numpy.linspace(0., 0., len(data))
az = numpy.linspace(0., 0., len(data))
gx = numpy.linspace(0., 0., len(data))
gy = numpy.linspace(0., 0., len(data))
gz = numpy.linspace(0., 0., len(data))
for i in range(0, len(data)):
ax[i], ay[i], az[i] = data[i].acc
gx[i], gy[i], gz[i] = data[i].gyr
plt.figure().canvas.set_window_title("graph")
pylab.subplot(211)
pylab.title("accelerometer")
pylab.plot(time, ax, "-r")
pylab.plot(time, ay, "-g")
pylab.plot(time, az, "-b")
pylab.subplot(212)
pylab.title("gyroscope")
pylab.plot(time, gx, "-r")
pylab.plot(time, gy, "-g")
pylab.plot(time, gz, "-b")
pylab.show()
1) Есть ли способ задать linspace сразу для всех этих переменных. А то не няшно - 6 одинаковых строк...
2) И правильно ли я беру данные из namedtuple? Ведь как только мы выходим функции например, то мы теряем информацию что data это named tuple и у него есть поля acc и gyr. А как вернуть информацию что это data это measure???
Исходная версия I-Love-Microsoft, :
from collections import namedtuple
measure = namedtuple("measure", "acc gyr")
... тут заполняются данные из файла, каждый элемент data - это measure (named tuple с полями acc и gyr)
time = numpy.linspace(0., .02 * len(data), len(data))
ax = numpy.linspace(0., 0., len(data))
ay = numpy.linspace(0., 0., len(data))
az = numpy.linspace(0., 0., len(data))
gx = numpy.linspace(0., 0., len(data))
gy = numpy.linspace(0., 0., len(data))
gz = numpy.linspace(0., 0., len(data))
for i in range(0, len(data)):
ax[i], ay[i], az[i] = data[i].acc
gx[i], gy[i], gz[i] = data[i].gyr
plt.figure().canvas.set_window_title("graph")
pylab.subplot(211)
pylab.title("accelerometer")
pylab.plot(time, ax, "-r")
pylab.plot(time, ay, "-g")
pylab.plot(time, az, "-b")
pylab.subplot(212)
pylab.title("gyroscope")
pylab.plot(time, gx, "-r")
pylab.plot(time, gy, "-g")
pylab.plot(time, gz, "-b")
pylab.show()
1) Есть ли способ задать linspace сразу для всех этих переменных. А то не няшно - 6 одинаковых строк...
2) И правильно ли я беру данные из namedtuple? Ведь как только мы выходим функции например, то мы теряем информацию что data это named tuple и у него есть поля acc и gyr. А как вернуть информацию что это data это measure???