图表点击者每日与每小时

时间:2013-10-08 22:42:24

标签: perl charts

我正在使用perl chart clicker module生成基于每小时使用情况的图表。它似乎工作得很好。 enter image description here 我提供的数据如下:

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

1 个答案:

答案 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