简体   繁体   English

使用matplotlib从CSV绘制时间戳数据

[英]Plotting timestampt data from CSV using matplotlib

I am trying to plot data from a csv file using matplotlib. 我正在尝试使用matplotlib从csv文件中绘制数据。 There is 1 column against a timestamp: 时间戳记有1列:

26-08-2016 00:01    0.062964691
26-08-2016 00:11    0.047209214
26-08-2016 00:21    0.047237823

I have only been able to create a simple plot using only integers using the code below, which doesn't work when the y data is a timestamp. 我只能使用下面的代码创建一个仅使用整数的简单图,当y数据为时间戳时,该图不起作用。 What do I need to add? 我需要添加什么? This may seem simple, but I am pressed for time :/ thanks! 这看似简单,但我迫不及待地想想:/谢谢!

from matplotlib import pyplot as plt
from matplotlib import style
import numpy as np
import datetime as dt

x,y = np.loadtxt('I112-1.csv',
             unpack=True,
             delimiter = ',')

plt.plot(x,y)

plt.title('Title')
plt.ylabel('Y axis')
plt.xlabel('X axis')

plt.show()

Here's my example for this problem: 这是我解决此问题的示例:

import pandas as pd
from io import StringIO
from datetime import datetime
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt

data_file = StringIO("""
time,value
26-08-2016 00:01,0.062964691
26-08-2016 00:11,0.047209214
26-08-2016 00:21,0.047237823""")

df = pd.read_table(data_file,delimiter=",")

df['datetime']= df.time.map(lambda l: datetime.strptime(l, '%d-%m-%Y %H:%M'))

ax = df.set_index("datetime",drop=False)[['value','datetime']].plot(title="Title",yticks=df.value)

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM