Файл с последовательностью чисел в два столбца массив / список, а затем график

У меня есть текстовый файл (test.txt), в котором есть последовательность чисел, например, 2, 5, 6, 9, 3, 1, 3, 5, 5, 6, 7, 8 и т. Д. Моя главная цель - построить нечетные числа на оси X и четные числа на оси Y. Для этого я подумал, что, возможно, я смогу сначала сохранить их в списке / массиве с двумя столбцами, а затем просто построить первый столбец против второго. Как я могу сделать это в Python?

1 ответ

Я полагаю, ваш data быть сохраненным в myFile.csv как это:

2, 5, 6, 9, 3, 1, 3, 5, 5, 6, 7, 8
5, 6, 9, 3, 1, 3, 5, 5, 6, 7, 8, 8

вы можете загрузить его в массив с np.loadtxt, Если вы не хотите, чтобы ваш набор данных был разбит на несколько строк, вы можете flatten Это.

import numpy as np
from matplotlib import pyplot as plt

# load data
data = np.loadtxt('myFile.csv', dtype=int, delimiter=', ')
data = data.flatten() # if data was saved in multiple lines

Вы можете разделить ваши данные, используя списки.

# process data
x = [data[i] for i in range(len(data)) if i%2 == 0]
y = [data[i] for i in range(len(data)) if i%2 == 1]

И затем подготовьте это.

# plot data
plt.plot(x, y, '.') # '.' only shows dots, no connected lines
plt.show()
Другие вопросы по тегам