如何在Chart :: Clicker图表中设置图例的大小?

时间:2014-01-24 14:07:24

标签: perl charts

我有一个简单的图表,右边有一个图例。 遗憾的是,图例区域中的文本始终被截断,因为它比图例宽度宽。 我无法弄清楚如何使传说更广泛。即使我使整个图表更宽,图例的大小也保持不变。

到目前为止我的代码是:

my $ds = Chart::Clicker::Data::DataSet->new(series => $series );
my $cc = Chart::Clicker->new(width => 1200, height => 500, format => 'png'); 
$cc->add_to_datasets($ds);
#$cc->get_context('default')->domain_axis->width(800); # tried to fix the axis-width
$cc->legend_position('e');

那么有人能告诉我如何设置图例的宽度或图表的宽度,或者甚至可以如何更改它们各自占总宽度的百分比?


更新:

我实际上找到了问题的根源,但还没有办法避免它。 似乎Graph :: Clicker似乎根据第一个数据集的标签宽度计算图例的宽度。 如果你有几个数据集并且第一个的标签非常短,那么所有其他数据都将被切断。

以下是显示问题的示例代码:

#!/usr/bin/env perl
use strict;
use Chart::Clicker;
use Chart::Clicker::Data::Series;
use Chart::Clicker::Data::DataSet;

my $series;
my $s = Chart::Clicker::Data::Series->new(
    keys   => [1, 2, 3, 4, 5, 6, 7 ],
    values => [1, 2, 3, 4, 5, 6, 7], 
    name   => "abc"
);
push @$series, $s;
$s = Chart::Clicker::Data::Series->new(
    keys   => [1, 2, 3, 4, 5, 6, 7 ],
    values => [7, 6, 5, 4, 3, 2, 1 ],
    name   => "abcdefghijklmnopqrstuvwxyz1234567890"
);
push @$series, $s;

my $ds = Chart::Clicker::Data::DataSet->new(series => $series );
my $cc = Chart::Clicker->new(width => 1000, height => 400, format => 'png'); 
$cc->add_to_datasets($ds);
$cc->legend_position('e');
$cc->write_output("foo.png");

所以问题是如何修复图例的宽度。

0 个答案:

没有答案