Gnuplot 在我的图表中得到一条奇怪的直线

Gnuplot 在我的图表中得到一条奇怪的直线,gnuplot,Gnuplot,我发现这真的很奇怪,我是如何在用gnuplot脚本生成的图中得到一条直线的。我遵循了一个例子,奇怪的是,这个例子并没有这条直线 这是我如何创建此图的代码 #!/usr/bin/gnuplot set terminal png set term png size 1200, 800 set lmargin 8 set rmargin 4 set tmargin 3 set bmargin 3 set output "cpu.png" set title "CPU usage" set xlabe

我发现这真的很奇怪,我是如何在用gnuplot脚本生成的图中得到一条直线的。我遵循了一个例子,奇怪的是,这个例子并没有这条直线

这是我如何创建此图的代码

#!/usr/bin/gnuplot
set terminal png
set term png size 1200, 800
set lmargin 8
set rmargin 4
set tmargin 3
set bmargin 3
set output "cpu.png"
set title "CPU usage"
set xlabel "time"
set ylabel "percent"
set xdata time
set timefmt "%H:%M:%S"
set format x "%H:%M:%S"
set xrange ["15:43:59":"15:48:56"]
plot "cpu.txt" using 1:3 title "user" with lines
如果有一个和我有类似问题的人能分享他们解决这个问题的方法,那就太好了。谢谢


这里是我的“cpu.txt”文件,用于生成第一个图形-

为了说明问题的根源,这里是
cpu.txt
最后两行的相关部分:

15:48:56        all      0.46
Average:        all      0.41
Average
不是有效的时间,因此gnuplot解析器返回
0
,它在绘图的最左侧,并生成水平线

要动态删除最后一行,可以使用
head
命令行工具:

plot "< head -n -1 cpu.txt" using 1:3 title "user" with lines
使用1:3标题“user”和行绘制“
您不需要显示三个类似的图表,第一个就足够了。但是您必须显示您的数据文件(
cpu.txt
),这就是问题的根源。@Christoph我添加了cpu.txt文件作为链接,它很长,所以不想粘贴所有内容。我的问题是,gnuplot如何处理最后一行,第一列,时间是
Average:
?我猜它的默认值是0,所以从右边的最后一个点一直到开始都会得到最后一行。并且您的
范围
选项会阻止您看到该行一直延伸回0。@是的,它很长,但数据文件中的最后一行是错误的来源;)您可以使用
plot'
动态删除最后一行。感谢您的帮助!