如何管理`;`gnuplot中的预期错误

时间:2014-04-15 07:23:24

标签: gnuplot

我在gnuplot 4.4中绘制图表时遇到以下错误

gnuplot> set style fill transparent pattern 2 noborder 
                        ^
     "./clusterload_all.pg", line 16: ';' expected

还有一些错误:

gdImageStringFT: Could not find/open font while printing string  45 with font Arial

gnuplot> plot "cpu.dat" using 1:2 with lines title "CPU% total" lw 5 lc 1,
                 '' using 1:3 with lines title "MEM% total" lw 5 lc 2,                      
'' using 1:4 with lines title "CPU% for clmServer" lw 5 lc 6,                     
'' using 1:5 with lines title "MEM% for clmServer" lw 5 lc 10,                     
'' using 1:8 with boxes fill transparent pattern 2 title "1: Uninstall Licenses" lw 2 lc 5,  
'' using 1:9 with boxes fill transparent pattern 2 title "2: Install Licenses" lw 2 lc 6,
'' using 1:10 with boxes fill transparent pattern 2 title "3: Query Installed Licenses" lw 2 lc 7,                     
'' using 1:11 with boxes fill transparent pattern 2 title "4: Creating Feature Codes" lw 2 lc 11,                     
'' using 1:12 with boxes fill transparent pattern 2 title "5: Register Feature Codes" lw 2 lc 3,                     
'' using 1:13 with boxes fill transparent pattern 2 title "6: Query Feature Codes" lw 2 lc 1,                     
'' using 1:14 with boxes fill transparent pattern 2 title "7: Unregister Feature Codes" lw 2 lc 21
                                                                 ^
     "./clusterload_all.pg", line 29: ';' expected

有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

要管理错误,您需要了解生成错误的行中发生的情况。

Gnuplot解释器使用光标" ^"进行帮助签名。 违规字的第一个字母,并在可能找到它的位置写入行号(如果脚本加载load "myscript.gp"或gnuplot,则行号由命令行调用为{ {1}})。

原点可以是各种各样的,因为在违规词之前,语法似乎是可以接受的。
让我举几个例子:

  • 选项序列中的顺序不正确

    gnuplot myscript.gp
  • 当前由plot "<seq 1 20" with lines using 0:($1) # before "using" after "with" 版本接受的行,但不是来自另一个版本的行(不仅版本或颠覆版号不同,甚至仅适用于compilation option

注意:使用backslashgnuplot)可以在不同的行上分割长长的命令,就好像它是用单行写的一样。它特别在剧本中舒适干净 生成错误时,将重新组合此长长行的输出,因此如果与违规词的位置<进行比较,则光标列(\)可能会显示错误/ em>在剧本中。


要重现您的特定错误,我们只能使用某些不同版本的gnuplot检查命令的内核

^

结果如下:

    gnuplot 4.1.0 中的
  • 它给了我相同的错误消息

    set style fill transparent pattern 2 noborder
  • 在gnuplot 4.6.3中
  • 我有没有错误

  • 在gnuplot linux版本4.4补丁级别0(上次修改时间为2010年3月) 无错误
  • 如果您避免使用透明功能,您也可以避免旧版本中的错误(4.1.0)。

请再次验证您系统上的版本...
...并且你可以随意更新它:-)它相当陈旧。

更严重的是,如果您无法上传您使用的版本,您可以从旧演示(即http://gnuplot.sourceforge.net/demo_4.4/)...或旧版本中获取有关过去语法的提示。通常有backward compatibility,同时forward compatibility更难找到。

PS&GT;您可以从内部解释器编写该长命令行,或者以更舒适的方式编写它,可以将其写入外部文件(脚本)。您可以在gnuplot中使用gnuplot解释器中的命令 gnuplot> set style fill transparent pattern 2 noborder ^ ';' expected 加载脚本,也可以在shell提示符下使用命令行load "./clusterload_all.pg"进行调用。