【问题标题】:Add data sets with xmgrace使用 xmgrace 添加数据集
【发布时间】:2017-01-31 16:24:07
【问题描述】:

我使用 xmgrace 绘制数据集,我想将两个数据集相加。

所以我有两个文件:

数据1

1 1
2 4
3 9
...

数据2

1 2
2 3
3 4
...

我从 xmgrace 开始

xmgrace data1 data2

然后我看到两个文件都被绘制了。现在我想生成第三个图,它只是 data1+data2 之类的

1 3
2 7
3 13
...

我知道这非常简单,但由于某种原因我不明白它是如何工作的。

我使用了 Data->Transformations->Evaluate expression 功能...但我不知道选择什么作为“Source”和“Destination”。

PS:我知道实现目标的许多其他方法,但我也希望能够使用 xmgrace 来实现。

【问题讨论】:

    标签: plot xmgrace


    【解决方案1】:

    这可以使用Evaluate expression...功能轻松实现

    xmgrace data1 data2
    

    点击Data->Transformations->Evaluate expression...

    选择两个集合(G0.S0G0.S1)中的任何一个(比如G0.S0)作为源。如果您希望输出到新集合,请不要选择任何现有集合作为目标。公式应为

    y=g0.s0.y+g0.s1.y
    

    evaluateExpression 窗口应如下所示

    当您Apply 时,将创建一个新集 (G0.S3)。您也可以修改公式(g1 用于图形 G1 等)以在不同图形之间添加值。

    【讨论】:

      【解决方案2】:

      如果您不介意使用 xmgrace GUI,Sathyam 的回答非常棒,但如果您想在命令行上执行所有操作,则有多种方法。

      答案: 这是一种方法:

      paste -d ' ' data1 data2 | awk '{print $1,$2+$4}' | xmgrace -pipe data1 data2

      分步说明: 首先我们使用paste命令水平堆叠这两个文件:

      paste -d ' ' data1 data2

      这给出了以下输出:

      1 1 1 2
      2 4 2 3
      3 9 3 4
      

      然后我们通过管道将其发送到 awk 以打印第一列并对第 2 列和第 4 列进行元素级总和:

      paste -d ' ' data1 data2 | awk '{print $1,$2+$4}'

      这给出了:

      1 3
      2 7
      3 13
      

      现在我们想通过管道将其传输到 xmgrace,然后将原始数据文件作为附加数据集提供。

      paste -d ' ' data1 data2 | awk '{print $1,$2+$4}' | xmgrace -pipe data1 data2

      请注意,管道数据仍在第三个数据集“S2”中,因为在加载 xmgrace 时,管道数据是最后处理的。

      这是输出(在我让它看起来更漂亮之后):

      【讨论】:

        【解决方案3】:
        xmgrace data1 data2
        

        转到窗口 > 命令

        一一键入以下命令。

        s2 length s0.length
        s2.x = s0.x # Change s0.x to s0.x+s1.x if you want to add x too.
        s2.y = s0.y+s1.y
        redraw
        updateall
        

        您也可以将这些命令添加到add.com 文件中,并将其保存在与数据文件相同的目录中。

        然后 window > commands > Read... > (load add.com) > Replay.

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-12-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-08
          • 2012-08-24
          • 1970-01-01
          • 2022-11-12
          相关资源
          最近更新 更多