Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 25, 2014 03:30:23

Olmer
От: Moscow
Зарегистрирован: 2012-11-05
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Не строит график в трёхмерье.

Почему для одной проги строит а для другой нет? Код самой проги мало чем отличается.
В файл записываются данный с помощью:

my.write(str(t) + '\t' +str(x) + '\t' + str(y) + '\t' + str(z) + '\t' + str(vx) + '\t' + str(vy) + '\t' + str(vz) +'\n')
Вот часть кода, которая должна строить график.
renge_kutte()
my=open('motion3','r')
def motion():
	xs=[]
	ys=[]
	zs=[]
	for line in my:
		stolbci=line.split()
		x=float(stolbci[1])
		y=float(stolbci[2])
		z=float(stolbci[3])
		xs.append(x)
		ys.append(y)
		zs.append(z)
	return xs, zs, ys
import pylab
from mpl_toolkits.mplot3d import Axes3D
xs, ys, zs = motion()
fig = pylab.figure()
axes = Axes3D(fig)
axes.plot(xs, ys, zs)
pylab.show()
Скрин того, что он мне выдаёт в низу. Там кое-что не уместилось, в самом конце он пишет мне :ValueError: cannot convert float NaN to integer
Надеюсь на вашу помощь.

Отредактировано Olmer (Апрель 25, 2014 03:30:46)

Прикреплённый файлы:
attachment Снимок экрана от 2014-04-25 04:28:51.png (211,3 KБ)

Офлайн

#2 Апрель 25, 2014 05:34:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не строит график в трёхмерье.

Olmer
my.write(str(t) + '\t' +str(x) + '\t' + str(y) + '\t' + str(z) + '\t' + str(vx) + '\t' + str(vy) + '\t' + str(vz) +'\n')

Хочется взять и … написать функцию
def write(*args):
    print "\t".join(args) + "\n"



Офлайн

#3 Апрель 25, 2014 13:50:40

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Не строит график в трёхмерье.

FishHook
print "\t".join(args) + "\n"
\n там уже есть

а вот файл можно добавить
print >>fp, s

Olmer
Надеюсь на вашу помощь.
сначала подай координаты вручную
если рисует, значит из файла неправильно читаешь, иначе координаты не так подаёшь

Olmer
	return xs, zs, ys
ещё подозрительная строка



Отредактировано py.user.next (Апрель 25, 2014 13:58:31)

Офлайн

#4 Май 1, 2014 13:39:30

Olmer
От: Moscow
Зарегистрирован: 2012-11-05
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Не строит график в трёхмерье.

py.user.next
Я не до конца понял, что вы мне написали))
Дело в том, что я заметил, он у меня два раза прогоняет в цикле, хотя цикла в цикле вроде бы и нет. Но в файле запись только одного прохода по циклу.

Офлайн

#5 Май 1, 2014 14:03:12

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Не строит график в трёхмерье.

Офлайн

#6 Май 1, 2014 18:26:03

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Не строит график в трёхмерье.

Olmer
Я не до конца понял, что вы мне написали))
1)
отключи функцию, порождающую координаты, и введи их вручную
чтобы убедиться, что рисование написано правильно

2)
а затем исправь ошибку в функции
при вызове ожидается x, y, z, а возвращается x, z, y



Офлайн

#7 Май 3, 2014 10:19:02

Olmer
От: Moscow
Зарегистрирован: 2012-11-05
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Не строит график в трёхмерье.

py.user.next
Исправил ошибку, не помогло

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version