2016-09-21 87 views
0

我想從使用matplotlib的csv文件繪製數據。有針對時間戳列1:使用matplotlib繪製CSV數據時間戳

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

我只能夠創建僅使用整數使用下面的代碼,其中,當Y數據是時間戳不起作用情節簡單。我需要添加什麼? 這可能看起來很簡單,但是我按時間:/ 謝謝!

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() 

回答

0

這裏是我的例子對於這個問題:

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) 

enter image description here

+0

感謝您的例子,@grubjesic。我需要從CSV文件中獲取數據(不僅僅是3個圖)。在使用loadtxt或genfromtxt時,如何更改數據類型?謝謝! – wazzahenry

+0

我想更好的創建一個新的單獨的問題與一些關於loadtxt,genfromtxt和改變數據類型的示例數據。 – grubjesic