使用set table命令时,gnuplot会发出错误的文件格式错误

时间:2015-08-11 14:51:14

标签: gnuplot

我试图让https://stackoverflow.com/a/27534509/257924中的部分答案正常工作,但遇到了Bad format character错误。

只有在我注释掉下面的set table命令时,才会收到错误(在Linux上执行此脚本)。下面,我希望生成/tmp/temporaryfile.dat,而不是绘图图像文件:

#!/bin/bash

datafile=/tmp/mydata.1
cat > $datafile <<EOF
  2013/5/1 1
  2013/5/1 1
  2013/5/1 1
  2013/6/1 2
  2013/6/1 2
EOF

gnuplot_in=/tmp/gnuplot.in
gnuplot_out=/tmp/gnuplot.png
cat > $gnuplot_in <<EOF
  set xdata time
  set timefmt '%Y/%m/%d'
  set table '/tmp/temporaryfile.dat'
  set format x '%Y/%m/%d'
  plot "$datafile" using (timecolumn(1)):2 title "thetitle" with linespoints;
  unset table
EOF

# Show the input with line numbers for debugging:
grep -n '.*' $gnuplot_in

gnuplot $gnuplot_in
#eog $gnuplot_out

错误是:

1:  set xdata time
2:  set timefmt '%Y/%m/%d'
3:  set table '/tmp/temporaryfile.dat'
4:  set format x '%Y/%m/%d'
5:  plot "/tmp/mydata.1" using (timecolumn(1)):2 title "thetitle" with linespoints;
6:  unset table
"/tmp/gnuplot.in", line 5: Bad format character

我已经检查了脚本是否有gnuplot error: Bad format character

所示的意外UNICODE字符

什么会导致此错误以及如何解决?

1 个答案:

答案 0 :(得分:0)

我得出结论,这是由于我的RHEL 6.6机器上的gnuplot版本中的一个错误。在我的RHEL 6.6机器上,我们有这个版本的gnuplot:

<?php error_reporting(E_ALL); 
ini_set('display_errors',1);
ob_start();
flush(); // Flush the buffer
ob_flush();
session_start();?>`

在我的Debian系统上,使用此版本的gnuplot:

,脚本可以正常运行
gnuplot 4.2 patchlevel 0