Хранение столбцов из текстового файла в массиве - PullRequest
1 голос
/ 30 мая 2019

Я пытаюсь построить диапазон данных.Мои данные состоят из 49 переменных, и я хочу разделить их на 7. Мои данные хранятся в текстовом файле, состоящем из двух строк x и y, следующим образом: enter image description here

Я хочу разделить обе строки на 7 и создать график x, y, чтобы на графике было семь линий.Я попытался сделать это:

lines = f.readlines()
lines1 = lines1[0:6]
lines2 = lines2[7:14]
lines3 = lines3[15:21]
lines4 = lines4[21:28]
lines5 = lines5[28:35]
lines6 = lines6[35:42]
lines7 = lines7[43:49]

Затем я бы поместил все вышеперечисленные данные в массив и тот же процесс для значений y.Наконец, я бы подготовил переменные.Но это неэффективно и требует много времени.Должен быть более легкий путь, но я не могу думать об этом.Может ли кто-нибудь помочь?

Wrong plot

1 Ответ

1 голос
/ 30 мая 2019

Вы можете использовать NumPy's loadtxt для чтения данных, а затем использовать цикл for для построения координат x и y в пакетах по 7. Ниже приведен пример ответа.Просто замените sample.txt на ваше фактическое имя файла (включая каталог, в котором находится файл).

import numpy as np
import matplotlib.pyplot as plt

x, y = np.loadtxt('sample.txt', unpack=True)

for i in range(0, 49, 7):
    plt.plot(x[i:i+7], y[i:i+7])

plt.show()    

РЕДАКТИРОВАТЬ Добавление меток

for lab, i in enumerate(range(0, 49, 7)):
    plt.plot(x[i:i+7], y[i:i+7], label='group %d' %lab)
plt.legend()
plt.show()    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...