Gnuplot имеет формат времени% W (см. help time_specifier
)
%W week of the year (week starts on Monday)
Вы можете использовать это, чтобы читать в ваших датах, используя strptime () для преобразования из строки в числовые секунды, а затем используя strftime ( ) на go назад с секунд на неделю #. Чтобы увидеть, как это работает, попробуйте эту последовательность команд
date1 = "7/15/2017 3:38:03 PM"
s1 = strptime("%m/%d/%Y", date1)
print s1
1500076800.0
week = strftime("%W", s1)
print week
28
Функция ввода timecolumn (столбец, формат) работает так же, как strptime, за исключением того, что она читает из столбца входных данных, а не из строковой переменной . Чтобы объединить все это в единую оценку при чтении файла данных, проще всего определить функцию. Я покажу, как использовать эту функцию, чтобы просто построить номер недели и предоставить вам возможность использовать номер недели для чего-то другого, как вы хотите
weekno(column) = int(strftime("%W", timecolumn(column,"\"%m/%d/%Y")))
plot "file" skip 1 using 0:(weekno(2)) with points
Примечания:
- Формат времени в определении weekno () содержит экранированные двойные кавычки, потому что ваш формат данных имеет кавычки вокруг строки даты.
skip 1
- это способ игнорировать комментарии заголовка в первой строке данных - На фрагменте графика ниже вы можете видеть, что функция возвращает неделю 27 для ваших первых двух дат и неделю 28 для третьей даты.