[英]Plotting time on the x-axis with Python's matplotlib
我正在從包含格式數據(日期時間;微伏)的文本文件中讀取數據:
例如 07.03.2017 23:14:01,000; 279
我希望使用matplotlib通過僅捕獲時間(x 軸)並將其與微伏(y 軸)繪圖來繪制 plot 圖表。 到目前為止,我已經設法從字符串中提取時間元素並將其轉換為日期時間格式(如下所示)。
我嘗試將 append 的每個時間值轉換為 x 到 plot,但程序只是凍結並且什么也不顯示。
以下是部分代碼:
from datetime import datetime
import matplotlib.pyplot as plt
ecg = open(file2).readlines()
x = []
for line in range(len(ecg)):
ecgtime = ecg[7:][line][:23]
ecgtime = datetime.strptime(ecgtime, '%d.%m.%Y %H:%M:%S,%f')
x.append(ecgtime.time())
我知道日期時間格式導致了這個問題,但我不知道如何將它轉換為浮點/整數,因為它說:
'float() 的無效文字:23:14:01,000'
我沒有評論的聲譽,我必須回答。
datetime.datetime.time()
轉換為datetime.time
object,你需要浮點數。
你能試試datetime.datetime.timestamp()
嗎?
見最后一行:
from datetime import datetime
import matplotlib.pyplot as plt
ecg = open(file2).readlines()
x = []
for line in range(len(ecg)):
ecgtime = ecg[7:][line][:23]
ecgtime = datetime.strptime(ecgtime, '%d.%m.%Y %H:%M:%S,%f')
x.append(ecgtime.timestamp())
編輯: timestamp()
在 Python 3.3 中可用。 對於 Python 2 您可以使用
from time import mktime
...
x.append(mktime(ecgtime.timetuple()))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.