首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用Perl绘制时间序列图?

如何用Perl绘制时间序列图?
EN

Stack Overflow用户
提问于 2009-10-21 12:41:40
回答 8查看 9.9K关注 0票数 11

我有一些来自数据库(SQLite)的数据,将值(整数)映射到日期。日期是具有以下格式的字符串:YYYY-MM-DD hh:mm。日期分布不均匀。我想要用X上的日期和Y上的值绘制一个直线图。用Perl做这件事最简单的方法是什么?

我试过DBIx::图表,但我无法让它认出我的约会对象。我也尝试过GD::图,但正如文档所述:

GD::图不支持数字x轴的方式。X轴的数据应等距

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-10-21 13:09:20

您可以使用格努图驱动图表::Gnuplot

或者,如果SVG是可接受的输出格式,则存在SVG::TT::图

票数 8
EN

Stack Overflow用户

发布于 2009-10-21 19:47:58

您可以使用图表::Clicker的Axis::DateTime:

代码语言:javascript
运行
复制
#!/usr/local/bin/perl -w
use strict;
use Chart::Clicker;
use Chart::Clicker::Axis::DateTime;
use Chart::Clicker::Data::Series;
use Chart::Clicker::Data::DataSet;
use Chart::Clicker::Renderer::Point;

my $cc = Chart::Clicker->new;
my $series = Chart::Clicker::Data::Series->new(
    values    => [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ],
    keys      => [
        1256147117, 1256148117, 1256149117, 1256150117, 1256151117, 1256152117,
        1256153117, 1256154117, 1256155117, 1256156117
    ],
);
my $ctx = $cc->get_context('default');
$ctx->domain_axis(Chart::Clicker::Axis::DateTime->new(position => 'bottom', orientation     => 'horizontal'));
my $ds = Chart::Clicker::Data::DataSet->new(series => [ $series ]);
$cc->add_to_datasets($ds);
$cc->write_output('foo.png');

您必须将您的时间转换为Unix时间戳,但它是DWIM。

票数 11
EN

Stack Overflow用户

发布于 2009-10-21 12:44:04

我尝试了DBIx::图表,但我无法让它识别我的日期。

您是否尝试过将您的日期转换为Unix-时间戳并将它们用作X日期?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1600551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档