我正在尝试在Gtk3应用程序中显示由PDL(使用PLplot)生成的图形。当我尝试以下代码时,我发现了两个问题:
代码:
#!/usr/bin/perl -w
use strict;
use PDL;
use PDL::Graphics::PLplot;
use Gtk3 -init;
my $pdlImg = zeroes(byte, 10, 10, 3);
my $pl = PDL::Graphics::PLplot->new(DEV => 'mem', MEM => $pdlImg);
my $x = sequence(10);
my $y = $x**2;
$pl->xyplot($x, $y);
$pl->close;
my $win = Gtk3::Window->new;
my $img = Gtk3::Image->new_from_pixbuf($pdlImg);
$win->add($img);
$win->show_all;
Gtk3::main();
答案 0 :(得分:1)
要回答你的第一个问题,你正在让PLplot把这个情节放到一个10像素宽,10像素高的小提琴中。在这种情况下,我不确定你是否只是想获得正常情节的一个角落,或者如果你将整个情节采样到那些10x10像素中。但在任何一种情况下,$pdlImg
完全为零都不足为奇。在创建PLplot绘图对象时,尝试传入更大尺寸的小提琴(可能是1000, 1000, 3
),或者甚至使用MEM => $pdlImg=null
。
我无法解决你的第二个问题,我对Gtk3没有经验,抱歉。