Python 有没有一种方法可以读取具有不同文件名的文件并将它们打印在同一个图形上?

Python 有没有一种方法可以读取具有不同文件名的文件并将它们打印在同一个图形上?,python,plot,Python,Plot,我想生成一个由点云(格式化的点数据)组成的许多几何图形的绘图。我设法只在图形上绘制几何图形,但无法绘制我所有的4个几何图形 我尝试过使用glob函数,但我不知道如何使它解决我的问题 import matplotlib.pyplot as plt import os os.chdir(os.getcwd()) plt.close() f = open('Geom_0_geo.fpd','r') lines = f.readlines() x,y=[],[] x_int,y_int=[],[] fo

我想生成一个由点云(格式化的点数据)组成的许多几何图形的绘图。我设法只在图形上绘制几何图形,但无法绘制我所有的4个几何图形

我尝试过使用glob函数,但我不知道如何使它解决我的问题

import matplotlib.pyplot as plt
import os
os.chdir(os.getcwd())
plt.close()
f = open('Geom_0_geo.fpd','r')
lines = f.readlines()
x,y=[],[]
x_int,y_int=[],[]
for line in lines:
    line = line.split()
    if len(line) == 3:
        x_int.append(line[0])
        y_int.append(line[1])
    else:
        x.append(x_int)
        y.append(y_int)
        x_int,y_int=[],[]
    if line == lines[-1].split():
        x.append(x_int)
        y.append(y_int)


f.close()

for i in range(len(x)):
    plt.plot(x[i],y[i],'k',lw=1.5)
    axes = plt.gca()
    axes.set_xlim([-2,3.5])
    axes.set_ylim([0,3])
几何体文件名类似于Geom_0.geo.fpd、Geom_1.geo.fpd、Geom_2.geo.fpd等。我希望将它们全部绘制在同一个图形上,但具有不同的线颜色和分配给每个图形的标签。最好的方法是什么?我所展示的代码仅适用于一种有效的几何图形。

尝试一下下面的代码

import matplotlib.pyplot as plt
#import glob
#file = glob.glob("/path/*.fpd")
file = ['Geom_0.geo.fpd','Geom_1.geo.fpd', 'Geom_2.geo.fpd',... ]
# set up the line style, make sure len(mark)= len(file)
ls = ['-', '--', ':' , ...]
# set up color make sure len(color)= len(file)
color = ['r','g','b',...]
# set up labels
tag = ['tag1',...]
for i in range(0, len(file)):
    f = open(file[i],'r')
    lines = f.readlines()
    x,y=[],[]
    x_int,y_int=[],[]
    for line in lines:
        line = line.split()
        if len(line) == 3:
            x_int.append(line[0])
            y_int.append(line[1])
        else:
            x.append(x_int)
            y.append(y_int)
            x_int,y_int=[],[]
        if line == lines[-1].split():
            x.append(x_int)
            y.append(y_int)


    f.close()

    for i in range(len(x)):
        plt.plot(x[i],y[i],lw=1.5, linestyle=ls[i], color[i], label = tag[i])
        axes = plt.gca()
        axes.set_xlim([-2,3.5])
        axes.set_ylim([0,3])
plt.show()

这正是我想要的。如果我想用不同的线型和线颜色绘制每个几何体,我应该怎么做?最后,分配标签的最佳方式是什么?再次感谢您的回复。但是,在运行YRU代码时,我得到了以下错误:plt.plot(x[I],y[I],'k',lw=1.5,mark[I],color[I],label=tag[I])语法错误:关键字后面是非关键字argarg@Mason等等。@Mason的plt.plot(x[i],y[i],'k',lw=1.5,mark[i],label=tag[i])有错误。。