Python 正确读取/绘制由'分隔的数据&燃气轮机';

Python 正确读取/绘制由'分隔的数据&燃气轮机';,python,numpy,matplotlib,Python,Numpy,Matplotlib,我的数据格式如下: 87.2224 -0.0453 87.1561 -0.1580 > 90.8429 -0.1164 90.3849 -0.1020 90.2667 -0.1246 > 87.1002 -0.0553 87.1561 -0.1580 > 其中,列是直线的x、y坐标,每个>分隔一条新线 如何使用numpy(或其他一些Python库)正确地阅读并使用matplotlib绘制它,以便可以绘制三条单独的线 或者,在用Python读取数据之

我的数据格式如下:

87.2224   -0.0453
87.1561   -0.1580
>
90.8429   -0.1164
90.3849   -0.1020
90.2667   -0.1246
>
87.1002   -0.0553
87.1561   -0.1580
>
其中,列是直线的x、y坐标,每个>分隔一条新线

如何使用numpy(或其他一些Python库)正确地阅读并使用matplotlib绘制它,以便可以绘制三条单独的线

或者,在用Python读取数据之前,我是否可以做些什么来格式化数据,使之更容易


谢谢!:)

以下各项应能做到这一点:

x=[]
y=[]
with open("data.txt") as file:

    for line in file:
         if ">" not in line:
              coords = line.split()
              # print(coords)
              x.append(float(coords[0]))
              y.append(float(coords[1]))

通过将
指定为注释,您可以简单地使用
np.loadtxt
来读取数据。这将忽略这些行。稍后,您可以将这些数组重塑为两个位/块,以绘制单独的线

import numpy as np

x, y = np.loadtxt('filename.txt', unpack=True, comments='>')

# (array([87.2224, 87.1561, 90.3849, 90.2667, 87.1002, 87.1561]),
#  array([-0.0453, -0.158 , -0.102 , -0.1246, -0.0553, -0.158 ]))

@pdrersin给了我足够的时间来解决这个问题:

x=[]
y=[]
with open("data.txt") as file:

    for line in file:
        if ">" not in line:
            coords = line.split()
            x.append(float(coords[0]))
            y.append(float(coords[1]))
        if ">" in line:
            plt.plot(x,y)
            x=[]
            y=[]

这将单独绘制每一行,而不连接其两端。

您的数据是一个字符串还是存储在文件中?它存储在文本文件中您知道如何打开文件(基本Python)并逐行读取吗?以及如何将行拆分为字符串?你不需要一个特殊的库来读取文本文件。谢谢——我应该补充一点,每个片段都有不同的点数。不是每条线都是两点。我已经相应地更新了这个问题