计算后绘制GNUPlot图

时间:2011-06-08 08:10:18

标签: gnuplot

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

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

要在GNUPlot中绘制时间与命中的2D图形,命令将为:

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

现在我想绘制一个时间与命中率的图表,为此我可以为第二列做一些计算,如:

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

此处1,2,3表示列号。

任何对这类图表绘制的参考也将受到赞赏。

提前致谢。

2 个答案:

答案 0 :(得分:17)

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

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

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

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

将使第二列中的值加倍。

答案 1 :(得分:5)

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

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

请注意使用特定列值的参数外部的parens。

有关详细信息,请参阅here