gnuplot直方图错误:我不能从数据文件中产生不超过1行

时间:2012-04-27 05:15:13

标签: gnuplot

我正在使用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 histogram 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

我得到了所有机器的正确结果,但只有fisrt列省略了其余的列......

gnuplot histogram pic 2

有什么建议可能有什么问题,拜托?

EDIT /解决

问题来自于我构建dat文件的bash ... 每次我想添加一行新数据时,我都会传递一个\ r \ n字符。我不知道这不是gnuplot友好的...经过几天的麻烦我意识到了......

PS谢谢你的评论。我希望这对其他新手也有帮助,以免他们陷入同样的​​错误......

1 个答案:

答案 0 :(得分:1)

第二个版本不起作用,因为必须重复内联数据(不幸的是)......

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

第一个版本适用于我的电脑,所以我不知道那个版本有什么问题......