Найти - Пользователи
Полная версия: Данные для 3-х мерного графика
Начало » Python для новичков » Данные для 3-х мерного графика
1 2 3 4
Alex2ndr
А вы точно уверены в том, что там именно 40401 строка? Как вы это проверяете? Может вы смотрите не тот файл, что надо?
AleksSR
Смотрю через notepad++, там строки пронумерованы. 40401 строка потому, что те данные генерирует программа(ее не я писал, там ехе, написанный на С++): функция N(x,y) где x и y пробегают значения от 0 до 1 с шагом 0.005 (201 значение, 201*201 = 40401).
AleksSR
Еще одно важное замечание, данные почему-то начинают считываться со 105 строки по 402 включительно, а не сначала и доконца файла .dat
Alex2ndr
Есть у меня чувство, что какой-то кривой этот файл. Попробуйте открывать его другими редакторами и запускать ваш скрипт на другой машине(переложив туда этот файл конечно). А размер файла соответствует количеству информации в нем?
AleksSR
Размер файла данных 1.14 мб.
igor.kaist
Посмотрите на переводы строк в файле, везде ли они одинаковы
AleksSR
Не совсем понял, но вроде все переносы строк одинаковые. Если не сложно посмотрите плиз файл с данными.
Спасибо.
Alex2ndr
Посмотрел ваш файлик. Все нормально. Более того. Набросал вот такой скрипт:
#!/usr/bin/env python
# -*- coding: cp1251 -*-

i = 0
for line in open('d:\\out.dat', 'r'):
coords = line.split()
ksi_x = float(coords[0])
ksi_y = float(coords[1])
N = float(coords[2])
print i, ksi_x
i+=1
и он нормально отработал. Вот начало и конец вывода в консоль idle:
>>>
0 0.0
1 0.005
2 0.01
3 0.015
4 0.02
5 0.025
6 0.03
7 0.035
8 0.04
9 0.045
10 0.05
11 0.055
12 0.06
13 0.065
14 0.07
15 0.075
16 0.08
17 0.085
18 0.09
19 0.095
20 0.1

….

40377 0.885
40378 0.89
40379 0.895
40380 0.9
40381 0.905
40382 0.91
40383 0.915
40384 0.92
40385 0.925
40386 0.93
40387 0.935
40388 0.94
40389 0.945
40390 0.95
40391 0.955
40392 0.96
40393 0.965
40394 0.97
40395 0.975
40396 0.98
40397 0.985
40398 0.99
40399 0.995
40400 1.0
>>>
Попробуйте повторить мой опыт.
AleksSR
Использовал ваш код и кажется понял, проблема у меня была в отображении в консоле, у меня отображал последние 300 чисел и мой и ваш код, сейчас попробую данные сохранить в другой файл и станет все понятно, прошу тему не закрывать ибо самые главные вопросы по графику еще впереди, там нужно будет сделать одну непростую махинацию)))
AleksSR
Совсем что-то мозг кипит с этим графиком. Дело в том, что график задаваемый данными из файла нужно еще кое-как продлить…
Подскажите плиз, как реализовать такую вещь. Пусть x и y меняются в пределах от 1 до 3, нужно составить список данных, который пройдет все точки данной сетки(y постоянный, меняется x по всему диапазону, затем след. y и для него x из всего диапазона), т.е:
1 1
2 1
3 1
1 2
2 2
3 2
1 3
2 3
3 3
i = 0
k = 0
for y in range (0 , 2001):
for x in range (0 , 2001):
ks = str(i) + " " + str(k) + "\n"
k += 0.001
file.writelines(ks)
i += 0.001
такой код не работает.
Второй день с python работаю)))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB