Gnuplot 如何绘制相同的值,直到其发生变化?
我在文件中有数据,它们有日期/时间点和值。数据中的行仅在值更改时写入。例如:Gnuplot 如何绘制相同的值,直到其发生变化?,gnuplot,Gnuplot,我在文件中有数据,它们有日期/时间点和值。数据中的行仅在值更改时写入。例如: 10:01 12.00 10:12 8.00 10:14 9.00 我想画一个图形,它不会从一个点到另一个点画直线,画斜线,而是保持水平线直到点10:12,然后跳到值8.00,然后保持水平线在值8.00直到结束,然后跳到9.00 我四处搜索,但挑战是我不知道这样一个图形的正确名称是什么。我希望你能帮我用gnuplot画出来。提前谢谢。实际上,还有另一种步骤样式fillsteps。 我在自己的基金里找到了一个
10:01 12.00
10:12 8.00
10:14 9.00
我想画一个图形,它不会从一个点到另一个点画直线,画斜线,而是保持水平线直到点10:12,然后跳到值8.00,然后保持水平线在值8.00直到结束,然后跳到9.00
我四处搜索,但挑战是我不知道这样一个图形的正确名称是什么。我希望你能帮我用gnuplot画出来。提前谢谢。实际上,还有另一种步骤样式
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
###用步骤绘图
重置会话
$Data我同意,如果您不知道它是如何调用的,则很难搜索它。检查,第一个示例显示了步骤
、fsteps
和histeps
之间的区别。感谢您的精彩回答,以这样的方式回答,我还学到了很多对未来有用的东西。我的问题的答案是“使用步骤”。我会投赞成票,但我的声誉不到15,我是不被允许的。再次感谢theozh,不客气!您可以稍后在投票时获得>15;-)。实际上,为了说明用空行分隔的点不会用step
、fsteps
和fillsteps
绘制,而是用histeps
绘制,我略微更改了数据。