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

1 つの 2 次元グラフに 2 つの曲線をプロットします。AMAT を tlb_size の関数として、2 番目の曲線 tlb_miss_rate を tlb_size の関数としてプロットします。x-asis は tlb_size で、y 軸は AMAT と tlb_size で、うまくいけば通常のスケールです。

それは非常に基本的ですが、解決策が見つかりません。助けてください。

4

1 に答える 1

4

AMAT と tlb_size を列 2 に使用して、列 1 を x 軸として単純にプロットするには、次のようにします。

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

その対数スケールを使用したくない場合は、2 つの独立した 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 に答える