Системное время и Гнуплот - PullRequest
       11

Системное время и Гнуплот

0 голосов
/ 25 февраля 2019

Я строю нормальный график данных X / Y, используя данные столбца из файла данных .txt.График хорошо построен (см. Общий код ниже).

enter image description here

Мне интересно, можно ли извлечь и использовать системное время в сочетании сзаписанные данные в файл .txt?

Это для того, чтобы получить график X / Y, где Y - это данные из столбца [x] из файла .txt, а ось x - извлеченная системная точка времени ??

Системное время не является частью файла журнала.

Строка данных, содержащаяся в текстовом файле, выглядит следующим образом и имеет ; с разделителями: 221.5;65.9;-22.9;0;22.1

Код для создания графика:

set multiplot layout 5,1
set title "Plot 1"
unset key
plot "data.txt" using 1 with linespoints ls 1
set title "Plot 2"
unset key
plot "data.txt" using 2 with linespoints ls 2
......
unset multiplot

В другихсловами, для каждой точки столбца файла данных .txt я хотел бы добавить системное время, равное "Plot 1" {sys.time[x],221.5} и для "Plot 2" {sys.time[x],65.9}.

Следующая строка точек данных файла, ограниченная ;, будет иметь другуюСистемное время привязано к каждому из них.

Спасибо

1 Ответ

0 голосов
/ 25 февраля 2019

Я все еще немного догадываюсь, но ваше изображение сделало его немного более четким.Возможно, мы сможем использовать это для дальнейшей настройки.

Некоторые случайные данные: data.txt

0.713;0.725;0.579;0.485;0.271
0.861;0.882;0.128;0.772;0.475
0.524;0.076;0.420;0.583;0.068
0.429;0.114;0.907;0.679;0.842
0.684;0.077;0.752;0.165;0.062
0.916;0.865;0.368;0.380;0.843
0.291;0.460;0.272;0.279;0.632
0.908;0.832;0.556;0.259;0.744
0.763;0.735;0.624;0.277;0.520
0.735;0.690;0.145;0.148;0.734
0.041;0.398;0.353;0.764;0.065
0.765;0.049;0.603;0.215;0.636
0.613;0.271;0.770;0.030;0.449
0.512;0.583;0.956;0.994;0.832
0.222;0.061;0.471;0.085;0.880
0.259;0.071;0.065;0.391;0.043
0.077;0.356;0.377;0.590;0.562
0.706;0.343;0.312;0.993;0.659
0.826;0.103;0.908;0.135;0.048
0.393;0.012;0.192;0.017;0.233

Код:

### adding time data afterwards
reset session

FILE = "data.txt"

set datafile separator ";"

set xdata time
set timefmt "%d.%m.%Y %H:%M"
set format x "%d.%m."
TimeIntervalInSeconds = 3600*24 
StartTime = "01.01.2019 12:00"

set ytics 0.5
set multiplot layout 5,1

do for [i=1:5] {
    set title sprintf("Plot %d",i)
    plot FILE using (StartTime+$0*TimeIntervalInSeconds):i w lp lt i notitle
}

unset multiplot
### end of code

Результат:

enter image description here

...