带有gnuplot的基本二维图

时间:2012-06-26 20:20:12

标签: linux gnuplot

我有followint txt文件:

# tlb_size  AMAT    tlb_miss_rate
2   2918.67 19.85
4   2905.33 13.20
8   2900.00 10.50
16  2892.33 6.60
32  2884.33 2.71
64  2881.00 0.93
128 2880.00 0.56
256 2879.67 0.41
512 2879.67 0.36
1024    2879.67 0.33
2048    2879.67 0.27
4096    2879.67 0.27

我想在一个二维图上绘制2条曲线:AMAT作为tlb_size的函数,第二条曲线tlb_miss_rate作为(也)tlb_size的函数。 x-asis是tlb_size,y轴是AMAT和tlb_size,希望有一些正常的比例。

这是非常基本但我找不到解决方案。请帮忙。

1 个答案:

答案 0 :(得分:3)

要简单地将第1列绘制为x轴,使用第2列上的AMAT和tlb_size,您可以执行以下操作:

gnuplot> plot "test.txt" using 1:2, "" using 1:3

然而,这看起来并不特别可读,因此您可以将y轴设置为对数刻度(注意:“”是“我已提及的同一文件”的简写):

gnuplot> set log y 
gnuplot> plot "test.txt" using 1:2, "" using 1:3
gnuplot> plot "test.txt" using 1:2 with lines, "" using 1:3 with lines

如果您不想使用该对数刻度,可以尝试定义两个独立的y轴。不要忘记先取消log y,否则它仍会在其中一行的对数刻度上绘图:

set ytics axis
set y2tics 
plot "test.txt" using 1:2 with lines, ""  using 1:3 axes x1y2 with lines

顺便提一下,有人向我指出,如果你对x轴使用log2比例,你的数据看起来特别好:

set logscale x 2 
plot "test.txt" using 1:2 with lines, ""  using 1:3 axes x1y2 with lines

看起来像这样:

Sample