【问题标题】:In Gnuplot, how can I plot the sum of two columns when I'm plotting by header name在 Gnuplot 中,当我按标题名称绘制时,如何绘制两列的总和
【发布时间】:2017-08-13 17:45:39
【问题描述】:

我有以下数据文件:

denst densu densd denss
3     1     1     1
4     1     1.5   1.5
5     1     2.5   1.5

我可以将densu(denst) 绘制为:

plot 'file.txt' u 'denst':'densu'

这是非常方便的语法。但是,如果我想绘制 densudensd 之和相对于 denst 的唯一方法是:

set key autotitle columnhead 告诉 gnuplot 第一行是标题而不是数据

plot 'file.txt' u 1:($2+$3) 绘图

问题是我怎样才能对这样的列值进行操作,但使用名称表示法?实际文件是一个包含约 40 列的 csv,手动计算哪一列是哪个数字非常繁琐,因此我可以使用 $n 语法对列数据进行数学运算。

我想做plot 'file.txt' u 1:($'densu'+$'densd') 之类的事情,使用标题名称语法类似于我如何使用列号语法来做到这一点。有没有办法做到这一点?

【问题讨论】:

    标签: plot gnuplot


    【解决方案1】:

    我发现了一种方法。这两个命令是等价的:

    plot 'file.txt' u 1:($2+$3)
    plot 'file.txt' u 1:(column(2)+column(3))
    

    你做不到

    plot 'file.txt' u 'denst':($'densu'+$'densd')
    

    但你可以做到

    plot 'file.txt' u 'denst':(column('densu')+column('densd'))
    

    同样的效果。

    【讨论】:

      猜你喜欢
      • 2016-01-28
      • 1970-01-01
      • 2011-02-19
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多