我在使用 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
我得到了所有机器的正确结果,但仅适用于省略其余列的第一列......
有什么建议可能是错的吗?
编辑/解决
好吧,问题出在我构建 dat 文件的 bash 上……每次我想添加新的数据行时,我都会传递一个 \r 字符。我不知道这对 gnuplot 不友好......经过几天的困扰,我意识到......
PS谢谢大家的意见。我希望这也能帮助其他新手,以免他们陷入同样的错误......