我正在使用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文件的其余行...
另一方面,如果我将.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列省略了其余的列......
有什么建议可能有什么问题,拜托?
EDIT /解决
问题来自于我构建dat文件的bash ... 每次我想添加一行新数据时,我都会传递一个\ r \ n字符。我不知道这不是gnuplot友好的...经过几天的麻烦我意识到了......
PS谢谢你的评论。我希望这对其他新手也有帮助,以免他们陷入同样的错误......
答案 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
第一个版本适用于我的电脑,所以我不知道那个版本有什么问题......