使用重新绘制的PDL Gnuplot和QT终端的点限制

Nem*_*sis 7 perl gnuplot pdl

在使用PDL :: Graphics :: Gnuplot绘制数据时,我遇到了一个奇怪的效果.看来,一次只绘制有限数量的点replot.

考虑以下示例(15行,101分):

use strict;
use warnings;

use PDL;
use PDL::Graphics::Gnuplot qw/gpwin/;

my $win = gpwin('qt', persist => 1);

foreach my $a (1..15) {
    my $x = sequence(101)/100;

    my $y = $a*$x;

    if ($a == 1) {
        $win->plot({ linecolor => 'black' }, $x, $y);
    }
    else {
        $win->replot({ linecolor => 'black' }, $x, $y);
    }
}
Run Code Online (Sandbox Code Playgroud)

使用此示例,仅绘制11行而不是15行.使用101分

减少点数(从101到51),绘制了14条线. 使用51分

最后只使用21个点,显示所有15行.

使用21分

首先,我认为只绘制了有限数量的线,但这不是真的,因为绘制线的数量取决于piddles的大小.

这是perl模块或Gnuplot的限制吗?有没有办法增加最大点数?这似乎是Gnuplots qt版本的问题.使用'x11'as终端不显示此限制(我测试了100行,101点没有任何问题).

此外,我测试相同的例子而不使用replot但是在一个单独的plot.

use strict;
use warnings;

use PDL;
use PDL::Graphics::Gnuplot qw/gpwin/;

my $win = gpwin('qt', persist => 1);

my $x = sequence(101)/100;
my $a = sequence(1,15)+1;
my $y = $x*$a;

$win->plot({ linecolor => 'black' }, $x, $y);
Run Code Online (Sandbox Code Playgroud)

使用此代码,一切正常(即使将行数增加到更大的值).

单个地块中有101个点

最后,它似乎是终端replot功能的问题'qt'.

(GNUPLOT版本4.6补丁级别6)

Ed.*_*Ed. 1

在 PDL::Graphics::Gnuplot 上提出了一个问题- 希望 Gnuplot 现在是 5.4,这不会成为问题!