import matplotlib.pyplot as plt
x = []
y = []
t = []
fig = plt.figure()
rect = fig.patch
rect.set_facecolor('#31312e')
readFile = open('data.txt', 'r')
sepFile = readFile.read().split('\n')
readFile.close()
for idx, plotPair in enumerate(sepFile):
if plotPair in '. ':
# skip. or space
continue
if idx > 1: # to skip the first line
xAndY = plotPair.split(',')
time_string = xAndY[0]
t.append(time_string)
y.append(float(xAndY[1]))
ax1 = fig.add_subplot(1, 1, 1, axisbg='blue')
ax1.plot(t, y, 'c', linewidth=3.3)
plt.title('IRRADIANCE')
plt.xlabel('TIME')
plt.show()
这是我的txt文件:
TimeStamp,Irradiance
21/7/2014 0:00,0.66
21/7/2014 0:00,0.71
21/7/2014 0:00,0.65
21/7/2014 0:00,0.67
21/7/2014 0:01,0.58
21/7/2014 0:01,0.54
21/7/2014 0:01,0.63
21/7/2014 0:01,0.65
21/7/2014 0:02,0.64
21/7/2014 0:02,0.63
21/7/2014 0:02,0.63
21/7/2014 0:02,0.64
.
.
.
.
22/7/2014 23:57,0.53
22/7/2014 23:58,0.69
22/7/2014 23:58,0.61
22/7/2014 23:58,0.65
22/7/2014 23:58,0.59
22/7/2014 23:59,0.63
22/7/2014 23:59,0.67
22/7/2014 23:59,0.68
22/7/2014 23:59,0.58
但它似乎不起作用(我的代码): ValueError:时间数据''与格式不匹配'%d /%m /%Y%H:%M'
答案 0 :(得分:0)
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from datetime import datetime
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
x = []
y = []
t = []
fig = plt.figure()
rect = fig.patch
rect.set_facecolor('#31312e')
readFile = open('C:\\Temp\\001.txt', 'r')
sepFile = readFile.read().split('\n')
readFile.close()
for idx, plotPair in enumerate(sepFile):
if plotPair in '. ':
# skip. or space
continue
if idx > 1: # to skip the first line
xAndY = plotPair.split(',')
time_string = xAndY[0]
time_string1 = datetime.strptime(time_string, '%d/%m/%Y %H:%M')
t.append(time_string1)
y.append(float(xAndY[1]))
ax1 = fig.add_subplot(1, 1, 1, axisbg='white')
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%d/%m/%Y %H:%M'))
ax1.plot(t, y, 'c', linewidth=3.3)
plt.title('IRRADIANCE')
plt.xlabel('TIME')
fig.autofmt_xdate(rotation=45)
fig.tight_layout()
fig.show()
a = raw_input('enter to stop...')