1

我有以下 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 轴是 tlb_size,y 轴是 AMAT 和 tlb_size,希望用于一些正常的比例。

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

4

1 回答 1

4

要简单地将第 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

出来看起来像这样:

样本

于 2012-06-26T20:40:49.887 回答