我的文件中有数据,它们有日期/时间点和值。仅当值更改时才写入数据中的行。例如:
10:01 12.00
10:12 8.00
10:14 9.00
我想绘制一张图表,它不会从一个点到另一个点直线绘制直线,而是绘制下降线,而是保持水平线直到点 10:12,然后跳到值 8.00,然后将水平线保持在值 8.00 直到结束跳到9.00
我四处寻找,但挑战是我不知道这样一个图的正确名称是什么。我希望你能帮我在 gnuplot 中画出来。预先感谢您。
其实,还有另一种步法
fillsteps
。
我在自己的基金中找到了一个小例子。
它还说明了数据中存在空行时样式的行为方式。线条稍微移动,以便更好地看到差异。
脚本:(适用于 gnuplot>=5.0.0)
### 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 transp solid 0.1 fc rgb 0 ti "fillsteps",\
'' u ($1-0.05):($2+0.025) w steps lt 1 lw 2 ti "steps",\
'' u ($1+0.05):($2-0.025) w fsteps lt 2 lw 2 ti "fsteps",\
'' u 1:2 w histeps lt 3 lw 2 ti "histeps",\
'' u 1:2 w p lt 7 lw 2 lc "black" ti "data points"
### end of script
结果:(gnuplot 6.0.0)
惊喜: 由于某种原因,gnuplot 6.0.2 中的结果与
with histeps
不同。显然,从那时起,空行的处理方式有所不同。如果您想像上图那样拥有它们,您可能需要一些额外的解决方法。