2

我正在使用perl 图表点击器模块根据每小时使用情况生成图表。它似乎工作得很好。在此处输入图像描述 我提供的数据如下:

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 轴以按周或按天而不是按小时列出数据,而不会影响数据吗?

4

1 回答 1

3

创建数据集 ($ds) 后,您必须创建图表和上下文对象。然后您可以编辑这些轴“标签”,而无需更改数据视图。

    我的 $dataSets = Chart::Clicker::Data::DataSet->new( series => \@datasets, );
    $chart->title->text($name);
    $chart->title->padding->bottom(5);
    $chart->add_to_datasets($dataSets);
    我的 $context = $chart->get_context('default');

    $context->range_axis->label('Counts'); # 边
    $context->range_axis->format('%d');

    $context->domain_axis->label($bottom); # 底部
    $context->domain_axis->format('%s');
    $context->domain_axis->tick_labels(\@Lables);
    $context->domain_axis->ticks($cnt);

您应该创建一个子例程,以使用您希望看到的内容构建 @Labels 数组 - 因为它可能是动态的。..axis->format('%s') 对存储在 @Lables 数组中的标量执行类似 printf() 的转换,因此与内容匹配很重要。

有关详细信息,请参阅Chart::Clicker::Context

于 2013-10-08T23:23:23.770 回答