Как построить такое же значение, пока оно не изменится? - PullRequest
3 голосов
/ 08 мая 2019

У меня есть данные в файле, и у них есть дата / время и значение. Строка в данных записывается только при изменении значения. Например:

10:01  12.00
10:12   8.00
10:14   9.00

Я хотел бы построить график, который не будет рисовать линию прямо из одной точки в другую, рисуя уменьшающуюся линию, но сохраняя горизонтальную линию до точки 10:12, а затем переходя к значению 8.00 и затем сохраняя горизонтальную линию в значении 8.00 до конец, затем прыгает до 9.00

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

1 Ответ

2 голосов
/ 08 мая 2019

На самом деле, есть даже другой стиль шага fillsteps.Я нашел маленький пример в своем собственном фонде.Также показано, как ведут себя стили, когда в данных есть пустая строка.Линии слегка смещены, чтобы лучше видеть различия.

Код:

### plot with steps
reset session

$Data <<EOD
1 -1
2 -1
3  1
4 -1

6 -1
7 -1

8  0.5

9 -1
11 -1
13  1
14  1
EOD

set colorsequence classic
set ytics 1
set mxtics 2
set yrange[-1.2:1.9]
set grid xtics, mxtics, ytics
set key center top
  plot \
    $Data u 1:2 w fillsteps lw 0 fs transparent solid 0.1 fc "black" t "fillsteps",\
    '' u ($1-0.05):($2*1.02) w steps lt 1 lw 2 t "steps",\
    '' u ($1+0.05):($2*0.97) w fsteps lt 2 lw 2 t "fsteps",\
    '' u 1:2 w histeps lt 3 lw 2 t "histeps",\
    '' u 1:2 w p lt 7 lw 2 lc "black" t " data points"
### end of code

Результат:

enter image description here

...