我有数据文件说data.txt
为,
1 10
2 20
3 30
4 41
5 49
1 11
2 19
3 32
4 37
5 52
请注意,有两组数据。我想在同一个图中绘制它们。在gnuplot
中,我们只需运行plot 'data.txt' with line
非常简单,我们将得到一个这样的图表,
实际上我在同一个数据文件中有50个这样的设置。我刚开始学习python
。我想使用numpy
和matplotlib
来绘制此数据文件。
此论坛中有类似的主题,如
How to plot data from multiple two column text files with legends in Matplotlib?
How can you plot data from a .txt file using matplotlib?
但我找不到与我的问题相似的任何内容。
答案 0 :(得分:0)
一个想法是读取完整的文件,将其拆分到发生双重换行的位置.split('\n\n')
,然后使用numpy.loadtxt
读取每个部分。
import numpy as np
from io import StringIO
import matplotlib.pyplot as plt
filename="data.txt"
with open(filename) as f:
data = f.read()
data = data.split('\n\n')
for d in data:
ds = np.loadtxt(StringIO(unicode(d)))
plt.plot(ds[:,0],ds[:,1])
plt.show()