【问题标题】:Read time series csv file to plot with matplotlib读取时间序列 csv 文件以使用 matplotlib 绘图
【发布时间】:2018-03-26 23:45:11
【问题描述】:

我正在尝试从 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')

非常感谢任何建议。

【问题讨论】:

    标签: python csv numpy datetime matplotlib


    【解决方案1】:

    你必须使用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()
    

    【讨论】:

      猜你喜欢
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多