如何在Windows上的Perl中创建图形?

时间:2008-09-15 16:41:31

标签: perl report graph

如何使用Perl创建图表?

我正在运行创建文本报告的预定作业。我想将其移至下一步(对于管理层),并创建一些与此相关的图表。这可能/可行吗?如果我可以使用Office来做这件事,那会很棒。

更新:解决方案我将按此顺序进行调查

  • Spreadsheet :: WriteExcel(这似乎现在已经从我上次调查的时候发生了变化......等等,这是模块作者的建议。很酷。)
  • GD Graph - 现在可用于ActivePerl(我上次看不到)
  • SVG
  • 打开图表看起来很有趣。
  • ChartDirector中

15 个答案:

答案 0 :(得分:7)

GD和GD :: Graph可能是您最好的选择,您可以使用它们创建图像,然后将其嵌入到您需要的任何内容中。

答案 1 :(得分:7)

上面提到的所有方法都非常好,但我个人喜欢SVG::TT::Graph。我非常喜欢SVG为您绘制非常好看的图表的力量。

答案 2 :(得分:6)

您也可以查看Google Charts CPAN module

use Google::Chart;

  my $chart = Google::Chart->new(
    type => "Bar",
    data => [ 1, 2, 3, 4, 5 ]
  );

  print $chart->as_uri, "\n"; # or simply print $chart, "\n"

  $chart->render_to_file( filename => 'filename.png' );

答案 3 :(得分:5)

在工作中,我们使用了优秀的Chartdirector

它不是免费的,但非常便宜(可能50块钱左右)。成本非常值得,因为API和文档都非常出色(比GD更好!),所以很容易节省超过我的时间。

还有一个免费版本,其中包括一个在每个图表上宣传产品的小黄色横幅 - 说实话,如果这是供个人使用,你可以去做,因为它真的不是很干扰。

Chartdirector可用于许多平台(Win,Linux,Solaris,BSD,OSX),并且还有许多语言的API(Perl,ASP,.NET,Java,PHP,Python,Ruby,C ++)。

正如您在their examples page所见,输出很容易。

答案 4 :(得分:4)

很抱歉吹我自己的小号,但你可能有兴趣看看我为Graphing With Perl的简短介绍做了一些幻灯片。

它提到了一些建议,但也为您提供了一些代码片段,您可以使用这些代码片段来帮助您充分利用您正在做的事情。

答案 5 :(得分:3)

电子表格:: WriteExcel ::图表

你可能需要像草莓或香草perl这样的东西来编译它。或者ppm可能有模块。

教程链接: http://search.cpan.org/dist/Spreadsheet-WriteExcel/charts/charts.pod

答案 6 :(得分:3)

根据图表的复杂程度,只需为Gnuplot - 或GraphViz/Dotty生成一个命令文件,具体取决于您所指的图形类型 - 可能会有效吗?

答案 7 :(得分:3)

Perl模块Spreadsheet::WriteExcel允许您创建包含图表的Excel工作簿。

首先必须在Excel中创建所需的图表类型,然后使用与Spreadsheet :: WriteExcel一起安装的名为chartex的实用程序将其解压缩。

然后可以将图表模板添加到新工作簿中,并使其引用新数据。

文档为here,发行版的图表目录中有several examples

该机制有点不灵活,但有时候获得你想要的确切结果有点棘手。

答案 8 :(得分:3)

尚未尝试过,但Chart::Clicker看起来非常漂亮。

我认为它使用的是Cairo图形库(替代GD),但实际上是在Graphics::Primitive之上构建的,这是一个“有趣的”图形无关的包。

有问题的作者(GPHAT)似乎正在整理一些用于制作报告的综合工具...... http://www.onemogin.com/blog/582-pixels-and-painting-my-recent-cpan-releases

旁注...已使用ChartDirector和OFC两者都很好(特别是基于网络)。

答案 9 :(得分:2)

它在很大程度上取决于什么类型的图形(它们的外观)和数据源。通过使用YUI Charts并为它们提供原始源数据的一些JSON样式版本,我得到了一些好的结果。例如,滚动实时图表以获得精确值非常容易。开发者页面上有很多例子。

答案 10 :(得分:2)

它不适用于Office,但我非常希望Chart::OFC创建Open Flash Charts。非常光滑,易于使用。

答案 11 :(得分:1)

如果您已在MS Office中执行此操作,则可以使用Win32 :: OLE模块通过OLE控制Excel。请注意,这往往运行缓慢,很难找到Excel API的文档。从好的方面来说,它允许你做几乎所有你可以手动完成的事情。

答案 12 :(得分:1)

PGPlot做了很棒的图表。有一些examples here。它适用于Perl 5.8.8,但在5.10.0

中被破坏

答案 13 :(得分:1)

当然是元编程!输出创建图形的R脚本。

答案 14 :(得分:0)

Spreadsheet::WriteExcel将让您将数据输入Excel,然后为图形编写Excel方程式。