使用表达式将单个点添加到 gnuplot 中的现有图形

Add a single point to an existing graph in gnuplot using an expression

有点傻的问题。我想在 gnuplot 中的现有绘图中添加一个点。像这样

plot "foo.dat" u 1:2   title 'foo',\
     "<echo '3.0 7.0'" title 'red foo'

但我想知道,有没有什么办法可以用表达式代替显式给出坐标?像

plot "foo.dat" u 1:2        title 'foo',\
     "<echo '3.0 log(7.0)'" title 'red foo'

我知道我可以直接添加 log(7.0) (1.9459) 的值,但我想知道是否可以使用表达式来代替。

一如既往,感谢您的帮助

您可以通过 stdin 输入额外的数据点(另请参阅 gp 帮助中的 special filenames

plot "foo.dat" title "foo.dat", \
     "-" using 1:(log()) title "extra point"
3.0 7.0
e

并在其上使用 using,或者,在 (gp v>5.0) 中,使用新的内联数据工具并执行相同的操作(检查 help inline data

$extra << EOD
3.0 7.0
EOD
plot "foo.dat", $extra using 1:(log())

它当然也可以与您的 shell 命令 + using 语句一起使用。