我正在使用perl chart clicker module生成基于每小时使用情况的图表。它似乎工作得很好。 我提供的数据如下:
sub createcch {
my ($keys,$name) = @_;
my @lh = (1..@{$keys});
my $am = Chart::Clicker::Data::Series->new(
keys => \@lh,
values => $keys,
name => $name,
range => $range,
);
}
#$data contains series generated by the sub
my $ds = Chart::Clicker::Data::DataSet->new(series => [$data]);
我有一个关于数据如何在图表上看起来的美容问题,我还没有找到解决方法。我是否可以更改X轴以数周或数天而不是数小时列出数据,而不会影响数据?
答案 0 :(得分:3)
创建数据集($ ds)后,您必须创建图表和上下文对象。然后,您可以编辑这些轴“标签”,而无需更改数据视图。
my $dataSets = Chart::Clicker::Data::DataSet->new( series => \@datasets, ); $chart->title->text($name); $chart->title->padding->bottom(5); $chart->add_to_datasets($dataSets); my $context = $chart->get_context('default'); $context->range_axis->label('Counts'); # side $context->range_axis->format('%d'); $context->domain_axis->label($bottom); # bottom $context->domain_axis->format('%s'); $context->domain_axis->tick_labels(\@Lables); $context->domain_axis->ticks($cnt);
您应该使用您希望看到的内容创建一个用于构建@Labels数组的子例程 - 因为它可能是动态的。 .axis->格式('%s')对存储在@Lables数组中的标量执行类似printf()的转换,因此重要的是匹配内容。
有关详细信息,请参阅Chart::Clicker::Context。