我有一个文本文件(test.txt),其中只有一些数字序列,例如 2、5、6、9、3、1、3、5、5、6、7、8 等。我的主要目标是绘制X轴为奇数,Y轴为偶数。为此,我想,也许我可以先将它们存储在一个包含两列的列表/数组中,然后绘制第一列与第二列。我怎样才能在python中做到这一点?
问问题
83 次
1 回答
0
我假设你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
你可以将它加载到一个 numpy 数组中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()
于 2018-03-29T11:38:16.823 回答