我希望能够将数据输入gnuplot并绘制图形,而不必进入gnuplot命令行或提供现有的脚本文件。例如,使用一个一行代码
这样做会立即关闭,即使它可以工作(实际上它不能),但可以通过-persist选项(缩写为-p)解决这个问题。
基本上,我希望以下代码行起作用,或者了解为什么它不起作用以及如何修改它以使其起作用:
cat datafile | gnuplot
即可看到绘图结果。假设数据文件格式良好,例如两列数字数据由制表符或空格分隔。这样做会立即关闭,即使它可以工作(实际上它不能),但可以通过-persist选项(缩写为-p)解决这个问题。
基本上,我希望以下代码行起作用,或者了解为什么它不起作用以及如何修改它以使其起作用:
echo -e "1 3\n2 4\n3 5" | gnuplot -p <<< "plot '-'"
我可以使用-e选项让某些东西起作用,但是一旦我开始使用更复杂的绘图命令,这似乎经常出问题,而且我不完全理解该选项正在做什么,因此我更喜欢使用heredoc编写一个简短的脚本文件,如上所述。这个可以工作:echo -e "1 3\n2 4\n3 5" | gnuplot -p -e "plot '-'"
为什么将输入管道传递到gnuplot中的列数据不会简单地绘制图形,即使使用plot '-'
语法从stdin请求plot获取数据?
gnuplot -p <<< script
,但是当同时传输数据时,如下所示,则会失败:cat data | gnuplot -p <<< script
。是否有一种方法可以同时使用heredoc脚本和管道传输数据? - Daniel Naftalovichalias gp="gnuplot -p -e \"plot '-'\" "
。然后您可以使用它,如cat 'data.dat' | gp
。或者,您可以创建一个 gnuplot 脚本并将其放置在/usr/bin/
或/usr/local/bin/
中。 - vagoberto