我有一个shell脚本,可以执行一些计算并绘制结果。我用gnuplot绘制结果。我面临两个问题。我曾经在我的cygwin上运行脚本,这没关系。当我试图在Ubuntu(版本10.04-wubi-version)上运行它时,它无法识别png文件(设置终端png未知)。我试图安装(缺少支持“libgd2_2.0.36~rc1~dfsg”的库并更新库....没有运气!!然后我决定使用set terminal pdf,因为我发现它支持:
这是我的gnuplot版本:
G N U P L O T
Version 4.4 patchlevel 0
last modified March 2010
System: Linux 2.6.35-32-generic
这是终端类型的输出:
latex LaTeX picture environment
mf Metafont plotting standard
mif Frame maker MIF 3.00 format
mp MetaPost plotting standard
nec_cp6 NEC printer CP6, Epson LQ-800 [monocrome color draft]
okidata OKIDATA 320/321 Standard
pbm Portable bitmap [small medium large] [monochrome gray color]
pcl5 HP Designjet 750C, HP Laserjet III/IV, etc. (many options)
-->pdf PDF (Portable Document File) file driver
postscript PostScript graphics, including EPSF embedded files (*.eps)
pslatex LaTeX picture environment with PostScript \specials
pstex plain TeX with PostScript \specials
现在,在我修改shell脚本以使用pdf之后,我收到了这个错误(注意:创建了一些pdf文件)。
line 0: ';' expected
再一次,我添加了';'所有的线......然后错误仍然出现。
以下是我的shell脚本的一部分(提供错误):
gnuplot << TOEND ;
set terminal pdf;
set output 'A.pdf';
set autoscale ;
#unset log
#unset label
set xtic auto ;
set ytic auto ;
set title "title";
set xlabel "x axis";
set ylabel "y axis";
######################################
#UPDATE: I have added double space to a void the error
######################################
plot "A1.tr" using 1:2 title "A" with lines 9, \
"A2.tr" using 1:2 title "B" with lines 11
输出(注意这部分不是创建的pdf文件):
line 0: invalid character \ --->pointing to 9, \
line 0: invalid command --->poiting to A2.tr
shell脚本的其余部分产生相同的错误(注意:输出已创建)
......
......
######################################
#UPDATE: @psibar pointed that 'ls' missing
######################################
plot "results.tr" using 1:2 title "Results" with lines ls 9;
^
line 0: ';' expected---> pointing to 9 ;
经过长时间的搜索,我认为问题与UBUNTU和Gnuplot的版本有关....我不想升级我的ubuntu版本.....
解决错误后。关于如何获得“set terminal png”的任何建议都适用于ubuntu 10.04?
答案 0 :(得分:0)
要解决此问题,我在ls
之后添加了9, \
和双倍空格。
最终的答案是:
gnuplot << TOEND ;
set terminal pdf;
set output 'A.pdf';
set autoscale ;
#unset log
#unset label
set xtic auto ;
set ytic auto ;
set title "title";
set xlabel "x axis";
set ylabel "y axis";
######################################
#UPDATE: I have added double space to a void the error
# and @psibar pointed that 'ls' was missing
######################################
plot "A1.tr" using 1:2 title "A" with lines ls 9, \
"A2.tr" using 1:2 title "B" with lines 11