Я работаю над сценарием, который читается в файле журнала NTP (loopstats), чтобы сделать легко читаемый файл графика для просмотра в одном представлении, если смещение, записанное клиентом NTP (например, сервером приложений), соответствует определенному требованию . В моем случае смещение должно быть меньше 0,001 секунды от источника времени (сервер NTP).
Сюжет готов, а также некоторые необходимые преобразования, но теперь я застрял с форматом/показанными значениями оси x в seaborn.
Вот сокращенный код, насколько я понял...
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 с установленным параметром времени
Без набора параметров времени это немного лучше, но все же не то, что мне нужно (просто код, так как у меня нет разрешенных ссылок в моем первом посте):
sns.tsplot(data=[dfOut['meanOut'], dfOut['minOut'], dfOut['maxOut']],\
value='Offset [in Seconds]',\
color="blue")
Я отретушировал этот сюжет, чтобы точно показать вам, что я имею в виду:
Буду благодарен за любые предложения и помощь!!!