【发布时间】:2017-11-22 04:33:56
【问题描述】:
我需要使用从 MySQL 数据库中提取的 Perl 中的数据创建一个图表。
我看过GD::Graph推荐和其他方法,但我不知道如何使用它们,在网上找不到太多。
我已经为网页输入了GD::Graph 脚本,但没有任何反应。我假设我必须以某种方式合并 HTML 来显示图表,但我也不知道该怎么做。
我只需要一个基本的折线图,所以任何简单的例子都会有很大帮助。
这是我正在玩的一个示例程序,但我无法开始工作:
use GD::Graph::bars;
use GD::Graph::Data;
my $data = GD::Graph::Data->new([
["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"],
[ 1, 2, 5, 6, 3, 1.5, 1, 3, 4],
]) or die GD::Graph::Data->error;
my $graph = GD::Graph::bars->new;
$graph->set(
x_label => 'X Label',
y_label => 'Y label',
title => 'A Simple Bar Chart',
#y_max_value => 7,
#y_tick_number => 8,
#y_label_skip => 3,
#x_labels_vertical => 1,
#bar_spacing => 10,
#shadow_depth => 4,
#shadowclr => 'dred',
#transparent => 0,
) or die $graph->error;
$graph->plot($data) or die $graph->error;
my $file = 'bars.png';
open(my $out, '>', $file) or die "Cannot open '$file' for write: $!";
binmode $out;
print $out $graph->gd->png;
close $out;
【问题讨论】:
-
SO 不是代码编写服务。请向我们展示您尝试过并需要帮助的代码。
-
我不是要别人帮我写,只是帮助我指出正确的方向。
-
您展示的这段代码创建了一个图像,并将其打印到一个文件中。如果您想将其包含在 HTML 页面中,则必须包含该图像。或者,您可以将此代码用作 CGI 脚本,而不是打开文件,只需打印到 STDOUT。首先发送正确的
image/png标头。在<img src="foo.pl">标记中使用 HTML 中脚本的 URL。 -
即使我保持原样,但我仍然没有得到图像。我究竟如何合并您提到的添加内容?
-
您首先需要了解“Web”是如何工作的:服务器、客户端、请求和响应;内容类型、HTML、图像如何嵌入页面等。没有基础知识,您将迷失方向。你在这里学到的东西还不够。
标签: html mysql perl graph charts