0

gnuplot でこの問題が発生しており、何が問題なのかわかりません... dat ファイルから値を渡してヒストグラムを作成しようとしていました:

machine1    1.04    1.11     1.09
machine2    0.12    0.16     0.126
machine3    1.478   1.358    1.306

この .plt ファイルで:

set terminal x11 persist
set title "Average Load of current machines"
set style data linespoints
set ylabel "load"
set xlabel "machines"
set yrange [0:1.5]

plot "test.dat" using 2:xticlabel(1) w lp lw 2 t "1 min", \
     "" using 3  w lp lw 2 t "5 min", \
     "" using 4  w lp lw 2 t "15 min"

残念ながら、datファイルの残りの行を省略して、最初の行のデータのみを(ポイントとして)取得します...

gnuplot ヒストグラム pic1

一方、データを .dat ファイルから .plt ファイルにコピーすると、次のようになります。

set terminal x11 persist
set title "Average Load of current machines"
set style data linespoints
set ylabel "load"
set xlabel "machines"
set yrange [0:1.5]

plot "-" using 2:xticlabel(1) w lp lw 2 t "1 min", \
     "" using 3  w lp lw 2 t "5 min", \
     "" using 4  w lp lw 2 t "15 min"
machine1    1.04    1.11     1.09
machine2    0.12    0.16     0.126
machine3    1.478   1.358    1.306

すべてのマシンで適切な結果が得られますが、最初の列のみが残りの列を省略しています...

gnuplot ヒストグラム pic 2

何が間違っているのでしょうか?

編集/解決済み

問題は、dat ファイルを作成した bash から発生していました...新しいデータ行を追加するたびに \r 文字を渡していました。これが gnuplot フレンドリーではないことを私は知りませんでした...

PS コメントありがとうございます。これが他の初心者にも役立ち、同じ間違いに陥らないことを願っています...

4

1 に答える 1

1

2 番目のバージョンは、(残念ながら) インライン データを繰り返さなければならないため、機能しません ...

set terminal x11 persist
set title "Average Load of current machines"
set style data linespoints
set ylabel "load"
set xlabel "machines"
set yrange [0:1.5]

plot "-" using 2:xticlabel(1) w lp lw 2 t "1 min", \
     "" using 3  w lp lw 2 t "5 min", \
     "" using 4  w lp lw 2 t "15 min"
machine1    1.04    1.11     1.09
machine2    0.12    0.16     0.126
machine3    1.478   1.358    1.306
e
machine1    1.04    1.11     1.09
machine2    0.12    0.16     0.126
machine3    1.478   1.358    1.306 
e
machine1    1.04    1.11     1.09
machine2    0.12    0.16     0.126
machine3    1.478   1.358    1.306
e

最初のバージョンは私のコンピューターで動作するので、何が問題なのかわかりません...

于 2012-04-27T12:54:50.683 に答える