【发布时间】:2022-01-13 19:05:59
【问题描述】:
我制作了一个 2 通道数据记录器,并希望以“人性化”的方式绘制生成的 csv。 csv文件是这样的:
hh:mm,m,ch1 , ch2 ,--
15:24,0,61.5,66.0
15:25,1,61.1,66.0
15:26,2,60.0,65.0
15:27,3,58.5,63.0
15:29,4,57.7,62.0
15:30,5,57.2,62.0
15:31,6,55.6,60.0
... ...
代码是:
import matplotlib.pyplot as plt
import csv
x = []
y1= []
y2 = []
with open('Documentos/valores2.csv','r') as csvfile:
lines = csv.reader(csvfile, delimiter=',')
last = ""
ini = ""
for row in lines:
if len(row) != 4: continue
if ini =="": ini = row[0]
if row[0] == last:
continue
last = row[0]
x.append(int(ini[:2])+(int(row[1])+int(ini[3:5]) ) /60)
y1.append(float(row[2]))
y2.append(float(row[3]))
fig, ax = plt.subplots(1, figsize=(8, 6))
fig.suptitle(' Documentos/valores.csv\nde '+ini[:-1]+" a "+last[:-1], fontsize = 14)
ax.plot(x, y1, color="red", label="cantero 1")
ax.plot(x, y2, color="green", label="cantero 2")
plt.legend(loc="lower right", title="", frameon=False)
plt.xlabel('hora')
plt.show()
我想要小时“1”和“6”而不是小时“25”和“30”......!
【问题讨论】:
标签: python csv matplotlib