我有一个简单的图表,右边有一个图例。 遗憾的是,图例区域中的文本始终被截断,因为它比图例宽度宽。 我无法弄清楚如何使传说更广泛。即使我使整个图表更宽,图例的大小也保持不变。
到目前为止我的代码是:
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");
所以问题是如何修复图例的宽度。