Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两次从stdin下载gnuplot_Gnuplot_Stdin - Fatal编程技术网

两次从stdin下载gnuplot

两次从stdin下载gnuplot,gnuplot,stdin,Gnuplot,Stdin,我想在类似代码的两行或更多行中重复使用相同的stdin数据 plot '-' using 0:1 with lines, '' using 0:1:2 with yerrorbars 3.4 0.1 2.9 0.2 8.8 0.5 2.1 0.7 如果我将所有数据存储到一个文件中,然后从此数据文件进行绘图,而不是stdin,则此代码将起作用。但是,从stdin绘图时,代码的行为与 plot '-' using 0:1 with lines, '-' using 0:1:2 with yerro

我想在类似代码的两行或更多行中重复使用相同的stdin数据

plot '-' using 0:1 with lines, '' using 0:1:2 with yerrorbars
3.4 0.1
2.9 0.2
8.8 0.5
2.1 0.7
如果我将所有数据存储到一个文件中,然后从此数据文件进行绘图,而不是stdin,则此代码将起作用。但是,从stdin绘图时,代码的行为与

plot '-' using 0:1 with lines, '-' using 0:1:2 with yerrorbars
3.4 0.1
2.9 0.2
8.8 0.5
2.1 0.7
i、 e.“-”代替,并给出警告“跳过没有有效点的数据文件”,而不是将错误条打印到线打印数据

显然,如果我在stdin上复制数据,绘图就可以工作

plot '-' using 0:1 with lines, '' using 0:1:2 with yerrorbars
3.4 0.1
2.9 0.2
8.8 0.5
2.1 0.7
e
3.4 0.1
2.9 0.2
8.8 0.5
2.1 0.7
但我觉得这并不令人满意,因为这意味着同样的事情
至于stdin。当然,我正在寻找的是需要gnuplot以静默方式存储stdin中最新的数据段,以供潜在的重用,这在大多数情况下可能是不必要的。不过,我并不认为这是对效率的巨大负担。因此,可能有一个选项或gnuplot语法的不同用法我不知道?

为什么不使用数据块?我从不使用“-”,正是因为这个问题。可以使用undef$data清除数据。检查帮助数据块和帮助未定义

代码:

结果:


谢谢,这很有趣。但是,数据块是否可以从stdin读取,即使用管道?我简单的编码示例可能有点误导了演示的简单性;我想要stdin中的数据。您所指的文档清楚地说明:如果plot命令中出现特殊文件名“-”,那么plot命令后面的行将被解释为内联数据。请参阅特殊文件名。以这种方式提供的数据只能通过随后的plot命令使用一次。所以我想我在这里运气不好。该功能仍然很好。我不知道为什么我在第一次搜索中没有找到它们,但这里有一些密切相关的问题:如果有人有同样的问题。你可以将stdin和with table结合起来。请参见“帮助使用表格打印”。
### re-use of data from a datablock 
reset session

$Data <<EOD
3.4 0.1
2.9 0.2
8.8 0.5
2.1 0.7
EOD

set xrange [-0.2:3.2]
plot $Data u 0:1 w l, '' using 0:1:2 w yerrorbars
### end of code