在计算完成后绘制GNUPlot图表

13

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

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

要在GNUPlot中绘制时间vs命中的二维图表,命令应该是:

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

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

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

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

如果有任何关于这种图形绘制的参考资料,也将不胜感激。

提前致谢。

2个回答

18
你所拥有的内容几乎是正确的。在计算中需要使用$符号来表示列:
plot "data.dat" using 1:($2/($2 + $3))

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

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

将会把第二列的值翻倍。


谢谢!如果我想将某个列乘以5,应该使用什么命令? - Swaranga Sarma
@Swaranga Sarma编辑了答案并包含了一个示例。我使用了2而不是5,以强调列号和文字可以一起使用而不会出现问题。 - Michael J. Barber

5

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

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

请注意,使用特定列的值作为参数时,外部需要括号。
更多信息请参见此处

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接