(Perl 的)GD 图表 - 绘制数据的限制?

Posted

技术标签:

【中文标题】(Perl 的)GD 图表 - 绘制数据的限制?【英文标题】:(Perl's) GD Graph - Limit of plotted data? 【发布时间】:2011-04-06 01:44:29 【问题描述】:

在尝试绘制更大的数据数组时,没有太多使用 GD::Graph 的好经验。

我有两个数组,一个是 200 万个浮点/整数值,另一个 - 长度不同但小于 200 万。试图将它们绘制在同一个折线图上。 (我确实为 x 轴创建了一个 0..2000000 索引数组)。对 100 万个值进行测试时,一切正常。

更大的数组大小会抛出:

不是 GD::Image 对象 /usr/local/lib/perl5/site_perl/5.8.9/GD/Graph.pm 第 182 行

甚至不确定我的脚本在哪里失败 - 没有其他错误

在官方文档中没有找到关于 GD::Graph 的内存/数据限制的任何内容。 可能对您有所帮助的其他信息:

我的脚本尝试将图形保存到文件 (.gif) 中 很确定这不是因为我的 Web 服务器内存限制(它会显示有关已终止 perl 进程的消息)

谢谢

【问题讨论】:

【参考方案1】:

您能否发布有问题的代码,以便我们对其进行检查,看看发生了什么?乍一看,这听起来确实像是一个与无法分配那么多存储空间有关的内存问题,分配在底层系统中返回一个空指针,因此 Perl 无法实际创建 GD 对象,因为您正在尝试使用 2000000 个 64 位(假设您在 64 位主机上)整数/浮点数在堆外分配 125MB 范围内的某处。但是,它可能只是语法上的。

【讨论】:

以上是关于(Perl 的)GD 图表 - 绘制数据的限制?的主要内容,如果未能解决你的问题,请参考以下文章

PHP GD 在另一个形状上绘制形状并使其透明

GD::Graph 字体和图例

为啥 Perl 的 GD::Graph 抱怨“无效数据集”?

ggplot小技巧:绘制无限制页面大小图表方法-unlimited page size

了解GD2函数库

Perl GD 不画圆,而是每次画一个矩形