我有以下代码用matplotlib绘制图表
#!/usr/bin/env python
import matplotlib.pyplot as plt
import urllib2
import json
req = urllib2.urlopen("http://localhost:17668/retrieval/data/getData.json? pv=LNLS:ANEL:corrente&donotchunk")
data = json.load(req)
secs = [x['secs'] for x in data[0]['data']]
vals = [x['val'] for x in data[0]['data']]
plt.plot(secs, vals)
plt.show()
secs数组是纪元时间。
我想要的是将x轴上的数据(秒)绘制为日期(DD-MM-YYYY HH:MM:SS)。
我该怎么做?
要在matplotlib中打印基于日期的数据,必须将数据转换为正确的格式。
一种方法是首先将数据转换为^{} 对象,对于epoch时间戳,应该使用^{} 。
然后必须将} 处理。
datetime
对象转换为matplotlib的正确格式,这可以使用^{或者,您可以首先使用^{} 并跳过将日期转换为
datetime
对象(虽然这最初更适合您的用例,但我建议您在工作时尽可能多地将基于日期的日期保存在datetime
对象中,从长远来看,这将节省您的麻烦)。一旦数据格式正确,就可以使用^{} 绘制数据。
最后,按照您的意愿格式化x轴,您可以使用^{} 对象来选择记号的外观。
可以更改绘图上的刻度位置和格式:
相关问题 更多 >
编程相关推荐