Bash 使用gnuplot绘制单个值?

Bash 使用gnuplot绘制单个值?,bash,csv,gnuplot,Bash,Csv,Gnuplot,我有以下csv文件: timestamp,unit,maximum,average Thu Feb 05 14:54:00 GMT 2015,Percent,13.0,4.503333333333333 当我在其上运行以下bash脚本时: #!/bin/bash graph_results() { input=cpu-samples.csv output=cpu-samples.png gnuplot <<- eor set terminal png set o

我有以下csv文件:

timestamp,unit,maximum,average
Thu Feb 05 14:54:00 GMT 2015,Percent,13.0,4.503333333333333
当我在其上运行以下bash脚本时:

#!/bin/bash

graph_results() {
  input=cpu-samples.csv
  output=cpu-samples.png
gnuplot <<- eor
  set terminal png 
  set output '${output}'
  set style data linespoints
  set xdata time
  set timefmt '%b %d %H:%M:%S GMT %Y'
  set format x '%b %d %Y %H:%M'
  set datafile separator ","
  set xlabel "timestamp"
  set ylabel "percent"
  set xtics rotate
  plot '< tail -n +2 ${input} | cut -f 1 --complement -d" "' using 1:3 title 'Maximum', '' using 1:4 title 'Average'
eor
}

graph_results
生成的图形上有正确的数据点和时间戳,但图形中填写的x轴日期值不正确

当csv文件中有多个值时,它可以正常工作,但当只有一个值时,它不能正常工作。我意识到错误信息是因为只有一个值,x轴的开始和结束范围是相同的(如此处所述)

我知道我可以设置以下范围:

set xrange

但不确定如何在我的案例中使用,因为我使用的是自定义日期格式,而且我不知道开始日期和结束日期应该是什么,因为生成的数据是动态的?

当使用自定义
timemt
时,还必须使用此格式指定
xrange

set xrange ["Feb 04 00:00:00 GMT 2015":"Feb 09 00:00:00 GMT 2015"]
也可以使用整数,即时间戳来设置xrange。对于5.0版,下面的行相当于上面的字符串设置:

set xrange [1423008000:1423440000]
注意,在版本4.6之前,gnuplot使用2000年1月1日作为其时间戳的时间参考,并且只有在版本5.0之后才使用标准Unix时间戳。因此,在4.6之前,第一行中字符串设置的等效命令是

set xrange [476323200:476755200]

谢谢@Christoph。有没有一种方法可以告诉gnuplot只绘制一个值,因此x轴只显示一个值,而不是gnuplot尝试为x轴创建起始值和结束值?(因为我的数据是动态的,所以我很难将xrange设置为正确的格式)您可以使用
set xtic(…)
手动设置这个勾号,但是您必须从某处获取值<代码>设置xtic(“2015年2月5日14:54”“2015年2月5日14:54:00 GMT”)(我目前无法尝试此功能)
set xrange [476323200:476755200]