我在绘制几张图片时遇到了一个奇怪的问题。所以我使用以下Perl脚本来调用gnuplot:
#!/usr/bin/perl
use strict;
use warnings;
open(GP, "| gnuplot >>gnuplot.log 2>&1") or die "Error: $!\n";
print GP << "GNU_EOF";
set terminal pdf
set output 'test.pdf'
plot 'data.log' u 1:2
set terminal unknown
plot 'data.log' u 1:2
replot 'data.log' u 1:3
set terminal pdf
set output 'testOverall.pdf'
replot
GNU_EOF
close(GP);
我使用terminal unknown
绘制几行,在绘制完最后一行后,我定义了一个输出(和终端)来实际写入pdf。这可行,但不知何故,这个未知的情节会扰乱之前的情节(在我的例子中 test.pdf ),其大小为零。
始终是之前的图片密谋未知。我的肮脏的解决方法是在test.pdf和testOverall.pdf之间绘制一些虚拟图片,并在调用gnuplot后删除那个零大小的虚拟...
为什么会发生这种情况?如何解决此问题?
答案 0 :(得分:2)
您为第一张图片指定终端和输出。然后更改终端,但输出保持不变 - 因此,“几行”转到第一个pdf文件。在绘制之前尝试取消输出。