【发布时间】:2020-10-08 16:23:23
【问题描述】:
我通常认为 Octave 是最易于使用的数据评估工具,但对于数据可视化来说却很麻烦。
另一方面,我发现 Gnuplot 是最易于使用的数据可视化工具,因为
- 它非常专注,
- 其强大的演示示例库,以及
- 其全面的交互式帮助功能。
在 gnuplot 和用户之间放置任何语言包装器会破坏这些优势,但纯 gnuplot(故意)缺乏进行任何重要预处理(例如数值微积分)的能力。
Octave 可以使用 gnuplot 作为后端,但为了保持优势,我更喜欢直接使用 gnuplot 命令,比如:
dx = 0.1;
x = 0:dx:2*pi;
y = sin(x);
y2 = cumsum(y)*dx;
outputFileName = "sin.pdf"
# Contains mockup syntax:
gp set term pdfcairo size 30cm,20cm noenhanced
gp set output '${outputFileName}'
gp plot ${x,y} using 1:2 with lines title "The sin(x) function", \
gp ${x,y2} using 1:2 with lines title "Integrated sin(x) function", \
gp cos(x) title "The cos(x) function"
gprun
编写这个“gp”实用程序的基本实现很容易,尽管变量插值必须以显式gp(["set output '" outputFileName "'"]) 替换,但会降低可读性。然而,${x,y} 表文件的创建并不容易。
是否有任何直接的方式来获得类似的功能?
具有讽刺意味的是,一些 很多 旧版本的 octave(直到 2005 年、2006 年左右)具有此功能(gset、graw、...)但将它们降级为内部实现细节。在一些较早的讨论中,我发现参考例如__graw__,也不再存在,一些过时的文档网站提到了gplot,它仍然存在,但用途完全不同。
【问题讨论】:
-
你不能写入文件 gnuplot 脚本并通过系统命令运行它吗?
-
@TasosPapastylianou 是的,但是我有两个脚本,仍然需要手动为该脚本创建数据文件。