我正在尝试从 csv 文件绘制时间序列。 例如。 datalog.csv 包含:
19:06:17.188,12.2
19:06:22.360,3.72
19:06:27.348,72
19:06:32.482,72
19:06:37.515,74
19:06:47.660,72
尝试了如下所示的操作:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
time, impressions = np.loadtxt("datalog_new.csv", unpack=True,
converters={ 0: mdates.strptime2num('%H:%M:%S.%f')})
plt.plot_date(x=time, y=impressions)
plt.show()
但无法解析时间,mdates.strptime2num('%H:%M:%S.%f')
非常感谢任何建议。
最佳答案
您必须使用bytespdate2num
读取csv文件的函数(因为您以二进制模式读取文件):
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.dates import bytespdate2num
time, impressions = np.loadtxt("datalog_new.csv",
unpack=True, delimiter=',', converters={0: bytespdate2num('%H:%M:%S.%f')})
plt.plot_date(x=time, y=impressions)
plt.show()
关于python - 读取时间序列 csv 文件以使用 matplotlib 进行绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46753628/