我的问题是我的头衔。我想把冒号放到号码2034820.它应该看起来像2:03:48:20 基本上这是我的HHMMSSMS格式的时间数据,即小时秒和毫秒。我想绘制关于这个时间格式的其他数据。如何在y轴上绘制数据,在x轴上绘制给定格式的时间。
data = numpy.genfromtxt('inputfile.dat') fig=plt.figure()
ax1 = plt.subplot(111) sat1=ax1.plot(data[:,1],'b',linewidth=1,label='SVID-127')
sat2 = ax1.plot(data[:,2],'m-',linewidth=1,label='SVID-128')
非常感谢任何帮助。 感谢
答案 0 :(得分:0)
您可以使用datetime.strptime
解析时间,然后重新format
:
from datetime import datetime
tme = datetime.strptime('{:08d}'.format(2034820), '%H%M%S%f').time()
strg = '{0:%H:%M:%S:%f}'.format(tme)
print(strg[:-4]) # cut the trailing '0000'
# 02:03:48:20
这假设您的输入是一个整数(将使用'{:08d}'.format(2034820)
将其转换为长度为8的零填充字符串;如果数据以字符串形式出现,则需要先将其转换为int:{{1 }})。
来自您的评论:您似乎获得了自午夜以来经过的秒数。对于那些你可以做到的人:
'{:08d}'.format(int('2034820'))
给出了测试数据:
from datetime import time
def convert(timefloat):
hours, rest = divmod(timefloat, 3600)
mins, rest = divmod(rest, 60)
secs, rest = divmod(rest, 1)
microsecs = int(10**6 * rest)
tme = time(int(hours), int(mins), int(secs), microsecs)
return '{0:%H:%M:%S:%f}'.format(tme)[:-4]