'Terminal unknown' 扰乱了上一张图片的创作

'Terminal unknown' is disturbing creation of previous picture

我在绘制多张图片时遇到了一个奇怪的问题。所以我使用以下 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 后删除那个零大小的虚拟图片...

为什么会发生这种情况,我该如何解决这个问题?

您为第一张图片指定了终端和输出。然后您更改终端,但输出保持不变 - 因此,"several lines" 转到第一个 pdf 文件。尝试在绘制之前取消设置输出。