如何将正确的时间值设置为seaborn(tsplot)x轴

时间:2017-08-10 20:43:37

标签: python plot seaborn ntp

我正在编写一个脚本,它读入一个NTP-日志文件(loopstats),以便在一个视图中显示一个易于读取的绘图文件,如果由NTP客户端(例如应用程序服务器)记录的偏移量满足一定的要求。在我的情况下,偏移量从时间源(NTP服务器)小于0,001秒。

情节完成,以及一些进一步需要的转换,但现在我仍然坚持使用seaborn中x-Axis的格式/显示值。

这是缩短的代码,就我来说......

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

Seconds = "600s"
dfOut = pd.DataFrame()

df = pd.read_csv('loopstats.txt', sep='\s', engine='python', 
index_col=False, header=None)
df.columns = ['Date', 'Time', 'Offset', 'Drift', 'Jitter', 'Stability', 
'Poll']
df.index = pd.to_timedelta(df['Time'], unit='S')

dfOut['meanOut'] = df.Offset.resample(Seconds).mean()
dfOut['timeOut'] = dfOut.index.values

df['minOffset'] = df['Offset'] - df['Jitter']
df['maxOffset'] = df['Offset'] + df['Jitter']

dfOut['minOut'] = df.minOffset.resample(Seconds).min()
dfOut['maxOut'] = df.maxOffset.resample(Seconds).max()

sns.tsplot(data=[dfOut['meanOut'], dfOut['minOut'], dfOut['maxOut']],\
           value='Offset [in Seconds]',\
           color="blue",\
           time=dfOut['timeOut'])

plt.show()

我想在每个常数步骤附近得到x轴(我试图每2小时得到一个正确的时间值),但只达到这些数字,表示数据帧中的行或1e13的莫名值在x轴的那一端。

以下是上述脚本的绘制输出: tsplot with time-parameter set

如果没有设置时间参数,它会更好,但仍然不是,我需要的东西(只是代码,因为我在第一篇帖子中没有允许的链接):

sns.tsplot(data=[dfOut['meanOut'], dfOut['minOut'], dfOut['maxOut']],\
           value='Offset [in Seconds]',\
           color="blue")

我修改了这个情节,准确地告诉你,我的意思是:

As it should look

我很感激任何建议和帮助!!!

0 个答案:

没有答案