我正在尝试读取以下格式的一个输入文件。其中 Col[1]
是 x 轴,Col[2]
是 y 轴,col[3]
是某个名称。我需要为 col[3]
的单独名称绘制多个折线图。例如:带有 x,y
值的名称 sd
将有一张折线图,而带有相对 x,y
值的名称 gg
值将有另一个折线图。所有内容都在一张输出图像中,但有单独的图表。 Python Matplotlib 可以吗?请重定向我到任何示例。我已经检查过没有找到。
akdj 12:00 34515 sd
sgqv 13:00 34626 sd
dfbb 13:00 14215 gg
ajdf 13:30 14224 gg
dsfb 13:45 25672 FW
sfhh 14:00 85597 ad
感谢您的宝贵建议
最佳答案
您可以使用条件z=='some tag'
来索引x
和y
数组
这是一个应该执行此操作的示例(基于 your previous question 中的代码)。使用集合来自动创建标签:
import csv
import datetime as dt
import numpy as np
import matplotlib.pyplot as plt
threshold = 30000
x,y,z = [],[],[]
csv_reader = csv.reader(open('input.csv'))
for line in csv_reader:
y.append(int(line[2]))
x.append(dt.datetime.strptime(line[1],'%H:%M'))
z.append(line[3])
x=np.array(x)
y=np.array(y)
tags = list(set(z))
z=np.array(z)
fig=plt.figure()
for tag in tags:
plt.plot(x[z==tag],y[z==tag],'o-',label=tag)
fig.autofmt_xdate()
plt.legend(loc=2)
plt.savefig('test.png')
关于python - 读取一个输入文件并绘制多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30847653/