【发布时间】:2014-04-26 10:15:09
【问题描述】:
我正在尝试制作一个网页,显示有关 netapp 文件管理器使用情况的图表。
我从以下列方式存储的文件中读取数据
Name usedSpace available_space kbytes quota_volume capacity
Juno 889347800 1795006760 2684354560 1698693120 33%
这是我的 Perl 代码
use CGI;
use Time::Local;
use List::MoreUtils qw(uniq);
use GD;
use GD::Graph::bars;
use GD::Graph::lines;
use GD::Graph::area;
open (MYFILE, 'my_data.csv');
@filesystem_name = ();
@my_date = ();
@my_used = ();
@my_avail = ();
@my_kbytes = ();
@my_quota_volume = ();
@my_capacity = ();
#read all the data and store fields into arrays
while (<MYFILE>) {
if(/$user_selected_filer/) {
($dummy,$current_line_date,$dummy,$dummy,$dummy,$dummy,$dummy) = split (/,/, $_);
if(($current_line_timestamp ge $start && $current_line_timestamp le $end)){
($name,$date_after,$used,$avail, $kbytes, $quota_volume, $capacity) = split (/,/, $_);
($month_after,$day_of_month_after,$year_after) = split ('/', $date_after);
push (@filesystem_name,$name);
push (@my_used,$used/1000000);
push (@my_avail,$avail/1000000);
push (@my_kbytes,$kbytes/1000000);
push (@my_quota_volume,$quota_volume/1000000);
push (@my_capacity,$capacity);
push (@my_date_after, $month_after . "/" . $day_of_month_after . "/" . $year_after);
$count++;
}
}
}
只要我使用 GD 图,这些数组就可以很好地使用 Perl 制作图。但我想在需要 JavaScript 数组的网页上制作这些图表。
我对这整个 JSON 有点迷失了。
【问题讨论】:
-
您是否打算使用图表库在 JavaScript 中生成图表?如果有,是哪一个?我确信它们都需要不同格式的输入数据;在制作 JSON 之前,您应该知道要使用什么格式。
-
我想做使用 JavaScript 的谷歌图表。这是它的链接developers.google.com/chart/interactive/docs/gallery/linechart
-
看,投票关闭,因为此脚本对您的输入数据没有任何作用。脚本在
,处拆分,您的数据是分隔的(或空格?)所以不要说它有用...为什么不显示 1.) 您的真实输入,2.) WANTED 输出 3 .) 你真正的实际尝试?! -
数据以逗号分隔。
-
@user3353628 jm666 的意思是您在问题中包含的数据不是用逗号分隔。无论如何,frido 在您之前的问题中给出了将数组哈希转换为 JSON 的good example。您的 JavaScript 代码需要对 Perl 脚本进行 AJAX 调用以获取 JSON 数据。然后,您必须将其转换为数组数组,这是 Google Charts 所期望的。对于多个 Stack Overflow 问题来说,这些材料已经足够了,所以我建议一次只做一个步骤,如果遇到困难,请提出一个更窄的问题。
标签: javascript json perl