Python 多线图matplotlib
我试图将3个相同类型的数据集用三条不同的线绘制到一个线形图上。所有数据集共享相同的x类型“时间”和y类型“测量”。但是,对于每个数据集中的x和y类型,每个数据集的长度都不同。如何使用matplotlib创建三线图 每个数据集都从csv文件中提取,并以列表的形式结束。这适用于每个数据集的x和y组件。以下是我收集数据的方式:Python 多线图matplotlib,python,csv,plot,graph,line,Python,Csv,Plot,Graph,Line,我试图将3个相同类型的数据集用三条不同的线绘制到一个线形图上。所有数据集共享相同的x类型“时间”和y类型“测量”。但是,对于每个数据集中的x和y类型,每个数据集的长度都不同。如何使用matplotlib创建三线图 每个数据集都从csv文件中提取,并以列表的形式结束。这适用于每个数据集的x和y组件。以下是我收集数据的方式: # Data Set 1 with open('File1.csv', 'r') as f: data_1 = list(reader(f)) measuremen
# Data Set 1
with open('File1.csv', 'r') as f:
data_1 = list(reader(f))
measurement_1 = [i[3] for i in data_1[1::]]
time_1 = [parser.parse(i[0]) for i in data_1[1::]]
measurement_1, time_1 = zip(*[(i, j) for i, j in zip(measurement_1, time_1) if i !=''])
measurement_1 = list(measurement_1)
time_1 = list(time_1)
# Data Set 2
with open('File2.csv', 'r') as f:
data_2 = list(reader(f))
measurement_2 = [i[3] for i in data_2[1::]]
time_2 = [parser.parse(i[0]) for i in data_2[1::]]
measurement_2, time_2 = zip(*[(i, j) for i, j in zip(measurement_2, time_2) if i !=''])
measurement_2 = list(measurement_2)
time_2 = list(time_2)
# Data Set 3
with open('File3.csv', 'r') as f:
data_3 = list(reader(f))
measurement_3 = [i[3] for i in data_3[1::]]
time_3 = [parser.parse(i[0]) for i in data_3[1::]]
measurement_3, time_3 = zip(*[(i, j) for i, j in zip(measurement_3, time_3) if i !=''])
measurement_3 = list(measurement_3)
time_3 = list(time_3)
由于您没有提供参考数据框架,这里是一个广泛的框架
ax = df.plot()
df2.plot(ax = ax)
df3.plot(ax = ax)
plt.show()
绘制每个数据集的x和y值:
plt.Plot(x1,y1,x2,y2,x3,y3)
@wwii谢谢,考虑到数据集的长度相差悬殊,我不认为这会如此微不足道。但它工作得很好。谢谢!:)