【发布时间】:2016-02-01 09:00:21
【问题描述】:
我有一个 python 脚本,它以
的形式从服务器收集数据<hh-mm-ss>,<ddd>
这里,第一个字段是日期,第二个字段是整数。此数据正在写入文件中。
我正在运行另一个线程,它正在从我在上一段中提到的文件中绘制实时图表。
所以这个文件有类似的数据,
<hh-mm-ss>,<ddd>
<hh-mm-ss>,<ddd>
<hh-mm-ss>,<ddd>
<hh-mm-ss>,<ddd>
现在我想用上面显示的数据绘制一个时间序列 Matplotlib 图。 但是当我尝试时,它会抛出一个错误提示,
ValueError: invalid literal for int() with base 10: '15:53:09'
当我有如下所示的正常数据时,一切都很好
<ddd>,<ddd>
<ddd>,<ddd>
<ddd>,<ddd>
<ddd>,<ddd>
更新 我从上面描述的文件生成图形的代码如下所示,
def animate(i):
pullData = open("sampleText.txt","r").read()
dataArray = pullData.split('\n')
xar = []
yar = []
for eachLine in dataArray:
if len(eachLine)>1:
x,y = eachLine.split(',')
xar.append(int(x))
yar.append(int(y))
ax1.clear()
ax1.plot(xar,yar)
更新代码
def animate(i):
print("inside animate")
pullData = open("sampleText.txt","r").read()
dataArray = pullData.split('\n')
xar = []
yar = []
for eachLine in dataArray:
if len(eachLine)>1:
x,y = eachLine.split(',')
timeX=datetime.strptime(x, "%H:%M:%S")
xar.append(timeX.strftime("%H:%M:%S"))
yar.append(float(y))
ax1.clear()
ax1.plot(xar,yar)
现在我在这一行收到错误 (ax1.plot(xar,yar))
我将如何克服这个问题?
【问题讨论】:
-
您应该发布您的代码以展示您的尝试。尽管如此,我还是给你留下了一个回复,应该可以帮助你朝着正确的方向前进。
-
我将发布我的代码,如果您出于这个原因这样做,请删除否决票。我只是在编辑我的问题:(
-
完成..请撤消它。
标签: python matplotlib graph