2

我正在使用 xmgrace 从两列数据文件中在共享的轴上绘制多个图形,如下所示:

@    title "RMSD"
@    xaxis  label "Time (ns)"
@    yaxis  label "RMSD (nm)"
@TYPE xy
@ subtitle "C-alpha after lsq fit to C-alpha"
   1.7125001    0.0005074
   1.7225001    0.0635904
   1.7325001    0.0747008
   1.7425001    0.0707590
   1.7525001    0.0821623
   1.7625000    0.0842335
   1.7725000    0.0929994
   1.7825000    0.0938834
   1.7925001    0.1014052
   1.8025001    0.1107717
   1.8125001    0.1106072
   1.8225001    0.1032858
   1.8325001    0.0967231
   1.8425001    0.1072746

所以,我调用命令向我显示 GUI 上的所有图形

xmgrace 1.xvg rmsd_amber_2.xvg rmsd_3.xvg

是否可以使用 xmgrace 的 GUI 中的选项自动使用文件名作为图例的标签?到目前为止,xmgrace 自动为每个数据系列使用不同的线条颜色,但不会将文件名显示为数据标签。

如果这不可能,请向我推荐另一个用于 Linux 的 GUI 软件,它能够从终端打开 xvg 文件以“即时”进行可视化。

谢谢 !

4

1 回答 1

1

Xmgrace 不会做你想做的事

xmgrace 帮助(通过xmgrace --help在终端调用显示)显示没有命令行标志来指定数据集图例标题。如果是这种情况,您可能会想出一些 bash 命令来解析数据文件中的标题。

但还有另一种方式

作为替代方案,您可以加载包含正确标题的参数文件。如果您从 xmgrace GUI 中保存任何参数文件并将其加载到文本编辑器中,您将看到绘图、图形和设置外观属性的几乎每个方面都可以控制。

然而,这并不是全部需要。我们可以删除几乎所有这些信息,只保留与我们的数据集图例标题相关的行(其他所有内容都将采用默认值)。

解决方案

一个最小的参数文件“template.par”可能只包含以下四行:

with g0
  s0 legend "title0"
  s1 legend "title1"
  s2 legend "title2"

在您的情况下,“title1”将是“RMSD”。

然后您可以使用它xmgrace -param template.par 1.xvg rmsd_amber_2.xvg rmsd_3.xvg来创建绘图。

自动化它

到目前为止一切顺利,但您想template.par通过解析您选择的一堆 .xvg 文件来自动创建。您可能可以使用 bash 脚本甚至 bash 单线以多种不同方式实现此目的。

于 2017-12-08T22:11:08.420 回答