在变化之前如何绘制相同的值?

时间:2019-05-08 05:31:20

标签: gnuplot

我的文件中有数据,并且它们具有日期/时间点和值。数据中的行仅在值更改时才写入。例如:

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

我想绘制一个图形,该图形不会从一个点到另一点一直画直线,而是绘制下降线,而是保持水平线直到点10:12,然后跳到值8.00,然后将水平线保持在值8.00直到然后跳到9.00

我一直在搜索,但是面临的挑战是我不知道这种图形的专有名称是什么。希望您能帮助我在gnuplot中绘制它。预先谢谢你。

1 个答案:

答案 0 :(得分:2)

实际上,甚至还有另一种阶梯样式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