我编写了一个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脚本中使用它时,这会好得多。
非常感谢
P.S。我只使用xmgrace,因为它是我最熟悉的绘图工具,可以手动使用。我欢迎任何有关此任务的更合适工具的建议。
答案 0 :(得分: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):< / p>
gracebat -nosafe data.dat -batch script.bat
,其中
-batch <script>
告诉grace查找并执行脚本文件(不告诉grace以批处理模式运行!)。
-nosafe
会覆盖默认的安全模式,该模式应该停止文件修改。没有它你会看到一条错误信息(虽然在我的情况下,剧情文件仍然被写入)。