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