如何通过指定Gnuplot脚本中的所有点来绘制没有单独文件的数据?

rho*_*ron 31 gnuplot

我的程序生成调用gnuplot的bash脚本.我不想制作额外的文件来存储数据; 有什么办法可以明确地调用所有值吗?或者可能让bash创建一个临时文件.

就像是

plot {(1,5),(2,10),(3,1)}
Run Code Online (Sandbox Code Playgroud)

是我在找什么.

gim*_*mel 40

您可以使用内联数据的语法 - filename '-'.

以下示例在GIF图像(bash脚本)中生成一个简单的绘图:

gnuplot << EOF
set terminal gif
set output 'plot1.gif'
plot '-' using 1:2
        1 10
        2 20
        3 32
        4 40
        5 50
        e
EOF
Run Code Online (Sandbox Code Playgroud)


Cir*_*四事件 22

Gnuplot 5.0.1数据块

main.gnuplot

$data << EOD
1 1
2 4
3 9
4 16
EOD

plot "$data" \
  with linespoints \
  title "my data"
Run Code Online (Sandbox Code Playgroud)

转换为PNG:

gnuplot -e 'set terminal png' -e 'set output "main.png"' main.gnuplot
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

这种方法比'-'它更容易多次重复使用相同的数据,包括使用相同的plot命令:https://stackoverflow.com/a/33064402/895245

版本5可以在Ubuntu 15.04上获得,或者从源代码编译:https://askubuntu.com/a/684136/52975

您还可能有兴趣在+++与功能打印时的特殊文件名.

在Ubuntu 18.10上测试,gnuplot 5.2.


All*_*len 5

使用带有管道的 shell 的示例,

gnuplot -p <(echo -e 'plot "-"\n1 1\ne')
Run Code Online (Sandbox Code Playgroud)