计算后绘制GNUPlot图

Swa*_*rma 12 gnuplot

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

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

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

plot "data.dat" using 1:2 using lines
Run Code Online (Sandbox Code Playgroud)

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

plot "data.dat" using 1:2/ (2 + 3) using lines
Run Code Online (Sandbox Code Playgroud)

这里1,2,3表示列号.

任何对这些图形绘图的引用也将受到赞赏.

提前致谢.

Mic*_*ber 17

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

plot "data.dat" using 1:($2/($2 + $3))
Run Code Online (Sandbox Code Playgroud)

由于您使用的$n是引用列号,因此您现在可以使用它n来引用数字本身.例如,

plot "data.dat" using 1:(2 * $2)
Run Code Online (Sandbox Code Playgroud)

将使第二列中的值加倍.


Dan*_*Dan 5

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

plot "data.dat" u 1:(exp($2))
Run Code Online (Sandbox Code Playgroud)

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

有关详细信息,请参见此处