【问题标题】:Plotting GNUPlot graph after computation计算后绘制 GNUPlot 图
【发布时间】:2011-06-08 08:10:18
【问题描述】:

我有一个数据文件,其中列出了某个缓存系统的命中和未命中。以下是数据文件格式

时间命中未命中
1 12 2
2 34 8
3 67 13
...

要在 GNUPlot 中为时间与点击量绘制二维图,命令为:

plot "data.dat" using 1:2 using lines

现在我想绘制时间与命中率的关系图,为此我可以对第二列进行一些计算,例如:

plot "data.dat" using 1:2/ (2 + 3) using lines

这里的1、2、3代表列号。

对此类图表的任何参考也将不胜感激。

提前致谢。

【问题讨论】:

    标签: gnuplot


    【解决方案1】:

    你所拥有的几乎是正确的。计算中需要使用$符号表示列:

    plot "data.dat" using 1:($2/($2 + $3))
    

    由于您使用$n 来引用列号,您现在可以使用n 来引用列号本身。例如,

    plot "data.dat" using 1:(2 * $2)
    

    将使第二列中的值加倍。

    【讨论】:

    • 谢谢!你能告诉我如果我想将某个列乘以 5,命令是什么?
    • @Swaranga Sarma 编辑了答案以包含一个示例。我使用 2 而不是 5,以强调列号和文字可以毫无问题地一起使用。
    【解决方案2】:

    通常,您甚至可以绘制 C 函数,例如给定列的 log 和 cos。例如:

    plot "data.dat" u 1:(exp($2))
    

    注意使用特定列值的参数外部的括号。

    请参阅here 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多