2017-02-21 32 views
1

У меня есть текстовый файл, состоящий из 600 строк по 2 столбца, столбцы разделены табуляцией.Вывод строк из разных строк текстового файла с 2 столбцами

0.029 | 0,001
0.056 | 0,004
0.083 | 0,007
0.111 | 0,009
0,138 | 0,012
и более 595 ...

У меня есть код, который открывает этот файл и участки всех значений х против у

import matplotlib.pyplot as plt 
import numpy as np 
x, y = np.loadtxt('BC108.txt', delimiter='\t', unpack=True) 
plt.plot(x,y,) 

Resultant plot

Тем не менее, 600 строк на самом деле 6 разные наборы данных по 100 баллов. Мой код отображает каждую точку и соединяет их, как я могу индивидуально получить доступ и построить каждую из 100 строк в виде шести разных строк на одном графике?

ответ

0

Посмотрите на np.genfromtxt. Вы можете указать skip_header, чтобы пропустить x строк и max_rows, чтобы ограничить строки, считанные на 100.

Например.

import matplotlib.pyplot as plt 
import numpy as np 

for i in range(6): 
    # Every iteration start 100 rows later 
    x,y = np.genfromtxt('BC108.txt', delimiter='\t', skip_header=(i*100) unpack=True, max_rows=100) 
    plt.plot(x,y,) 
+0

Блестящий, спасибо. Как ни странно, 'max_rows' непризнан как аргумент, но я посмотрю. – JimJam21

+0

Похоже, что это новое в numpy 1.10.0, поэтому, если вы не обновили какое-то время, это было бы почему! – tamul