gnuplot を使用しており、2 つ以上のパラメーターを持つデータがあります。3D グラフを使用したくありません。そのため、同じプロットでデータを複数の行に分割します。
私のデータは次のようになります。
#k #N #time
1 1 0.000556134
2 1 0.00099
4 1 0.00201011
8 1 0.00376214
16 1 0.00675843
1 2 0.000717646
2 2 0.000794106
4 2 0.0016033
8 2 0.0033602
16 2 0.00795338
1 4 0.000476448
... ... ...
最初は使用するストリーム数、2 番目はバッファ サイズ、最後はこの操作での使用時間です。
バッファ サイズが X、時間 Y で、「使用されるストリームの量」ごとに 1 つの行がある 1 つのグラフが必要です。今までの私のコード:
reset
set autoscale # scale axes automatically
unset log # remove any log-scaling
unset label # remove any previous labels
set xtic auto # set xtics automatically
set ytic auto # set ytics automatically
#set logscale x 2
#set logscale y 2
set rmargin 10
set bmargin 5
set tmargin 5
set key left top
set title
set term png giant size 1500, 800 crop
set title "Adapter Stream Input" font "verdana, 20"
set xlabel "Buffer Size" font "verdana, 20"
set ylabel "Time in Seconds" font "verdana, 20"
set key right bottom spacing 4 width 5 height 5 font "verdana, 15"
set output "AdapterStreamInputTests.png"
plot "AdapterStreamInputTests.txt" using ($1 == 1 ? $2 : 1/0):($1 == 1 ? $3 : 1/0) title '1 Stream' with linespoints ls 1 linecolor rgb "blue", \
"AdapterStreamInputTests.txt" using ($1 == 2 ? $2 : 1/0):($1 == 2 ? $3 : 1/0) title '2 Stream' with linespoints ls 1 linecolor rgb "red", \
"AdapterStreamInputTests.txt" using ($1 == 4 ? $2 : 1/0):($1 == 4 ? $3 : 1/0) title '4 Stream' with linespoints ls 1 linecolor rgb "yellow", \
"AdapterStreamInputTests.txt" using ($1 == 8 ? $2 : 1/0):($1 == 8 ? $3 : 1/0) title '8 Stream' with linespoints ls 1 linecolor rgb "brown", \
"AdapterStreamInputTests.txt" using ($1 == 16 ? $2 : 1/0):($1 == 16 ? $3 : 1/0) title '16 Stream' with linespoints ls 1 linecolor rgb "pink"
set output
私の主な問題は、すべてが正しくプロットされますが、プロット間に線が引けないことです。コマンド「使用」の章の下にあるマニュアルから、次のことを読みました。
plot 'le'、1:2 を使用した plot 'le'、および ($1):($2) を使用した plot 'le' は微妙に異なる場合があることに注意してください。 2 つ目は、1 つ目は x 値が欠落している場合に x 値を発明し、2 つ目は 1 つの列を持つ行を静かに無視し、3 つ目は 1 つの点を持つ線の未定義の値を格納します (線のあるプロットでは、線が点を結合しないように)悪い点を越えて); 2) 行の最初の列にテキストが含まれている場合、最初の列はエラーでプロットを中止しますが、2 番目と 3 番目の列はガベージを静かにスキップする必要があります。
私は3番目のカテゴリにいると思います.すべてのプロットの間に4つの無効なプロットがあるため、線はありませんが、それを修正する方法が見つかりません.
無効なプロットを無視する方法が見つかりません。そして、未使用のプロットを削除できる、私が見つけた前処理の方法はないようです。しかし、私はおそらく何かが欠けています。