如何在matplotlib

时间:2017-10-10 09:22:54

标签: python numpy matplotlib plot

我有数据文件说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非常简单,我们将得到一个这样的图表, enter image description here

实际上我在同一个数据文件中有50个这样的设置。我刚开始学习python。我想使用numpymatplotlib来绘制此数据文件。

此论坛中有类似的主题,如

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?

但我找不到与我的问题相似的任何内容。

1 个答案:

答案 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()