我有以下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

我想在一个二维图形上绘制两条曲线:一条是amat与tlb_大小的函数,另一条是tlb_丢失率与tlb_大小的函数。
X-ASIS是TLBY大小,Y轴是AMAT和TLBL大小,希望在某些正常尺度上。
这是很基本的,但我找不到解决办法。请帮忙。

最佳答案

为了简单地将列1绘制为X轴,在列2上用AMAT和TLBL大小,可以:

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

出来的样子是这样的:

关于linux - 具有gnuplot的基本二维图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11215321/

10-12 19:44