1

我编写了一个 bash 脚本,它生成包含数据的文件并将它们保存到一个目录中。我希望我的脚本也使用 xmgrace 绘制这些文件。

最初我只需要一个命令行或一系列命令行来创建一个 xmgrace 文件,保存它,选择 y 和 x 轴的比例,将 y 轴设置为对数,标记 x 和 y 轴并为图形命名.

我试过这条线开始

    xmgrace filename xaxis label "Label 1" yaxis label "Label 2" PRINT TO "filename.eps" DEVICE "EPS" OP "level2" 

这会绘制数据但不会在其上放置标签或保存它并且终端返回

    Can't stat file xaxis
    Can't stat file label
    Can't stat file Label 1
    ...
    ... 

是否还有一个我可以在此命令行中放置的标志,以便 xmgrace 实际上不会打开文件,它只是创建并保存它。当我在 Bash 脚本中使用它时,这会好得多。

非常感谢

ps 我只使用 xmgrace,因为它是我最熟悉的手动使用的绘图工具。我欢迎任何关于更合适的工具来完成这项任务的建议。

4

1 回答 1

3

是的,可以在没有 GUI 的情况下调用 xmgrace/Grace(使用gracebat),但是您使用的命令必须首先位于脚本文件中。

文件“script.bat”的内容:

xaxis label "Label 1" 
yaxis label "Label 2" 
DEVICE "EPS" OP "level2"
PRINT TO "plot.eps"
PRINT

现在,对于两列数据文件“data.dat”,您调用一个名为的姊妹可执行文件gracebat,它与批处理模式相同xmgrace但以批处理模式运行(没有 GUI):

gracebat -nosafe data.dat -batch script.bat

在哪里

-batch <script>告诉 Grace 查找并执行脚本文件(不告诉Grace 以批处理模式运行!)。

-nosafe覆盖默认的安全模式,该模式应该停止文件修改。没有它,您会看到一条错误消息(尽管在我的情况下,绘图文件仍然被写入)。

于 2015-01-30T12:57:14.033 回答