を使用して接続グラフをプロットしようとしていますTk::GraphViz
。
次のコードがあります。
use strict;
use warnings;
use Tk::GraphViz;
use Tk;
my $graph ='graph PathsOfPin {
a [label = "aaa"];
b [label = "bbb"];
c [label = "ccc"];
d [label = "ddd"];
e [label = "eee"];
f [label = "fff"];
a--b;
c--d;
e--f;
b--c;
d--e;
}';
my $mw = new MainWindow();
my $gv = $mw->GraphViz ( qw/-width 800 -height 800/ )->pack ( qw/-expand yes -fill both/ );
$gv->fit(); # This does nothing - down't affect the view
$gv->zoom( -in => 100 ); # This gives me error
$gv->show ( $graph );
MainLoop;
と なしでコードを実行しようとするfit
とzoom
、この非常に小さなグラフ (ドットのように見えます) が表示されます。必要な表示が得られるまで、マウスで数回ズームインする必要があります。
- グラフが表示されるはずの を試しましたが
fit
、実際には機能しません。 でズームをハードコーディングしようとすると
$gv-zoom
、次のエラーが発生します。Tk::Error: Can't set -scrollregion to ARRAY(0xbb8d30) for Tk::GraphViz=HASH(0xd1bbb0): bad scrollRegion "???" at /5.8.5/lib/site_perl/5.8.5/x86_64-linux/Tk/Configure.pm line 46. at /5.8.5/lib/site_perl/5.8.5/x86_64-linux/Tk/Derived.pm line 294 Tk callback for . Tk callback for .graphviz Tk callback for .graphviz Tk::Derived::configure at 5.8.5/lib/site_perl/5.8.5/x86_64-linux/Tk/Derived.pm line 306 Tk::GraphViz::_scaleAndMoveView at GraphViz.pm line 1445 Tk::GraphViz::zoom at Tk/GraphViz.pm line 1864 Can't set -scrollregion to ARRAY(0xbb8d30) for Tk::GraphViz=HASH(0xd1bbb0): bad scrollRegion "???" at 5.8.5/x86_64-linux/Tk/Configure.pm line 46. at 5.8.5/x86_64-linux/Tk/Derived.pm line 294
グラフをズームに自動調整するより良い方法はありますか?