予想される数値(棒グラフ)と2つの予測される例(行)と比較して、作業週数のテーブルから自動的にデータセットを更新するための混合グラフがあります。手動で入力する必要がないようにグラフの@dataを自動的に更新するにはどうすればよいですか?GD :: Graphを自動的に更新するにはどうすればよいですか?
ここで私が取り組んできたことは次のとおりです: (例を簡単にするために、テーブルは "W25"を含む最初の行のデータです...そして3行目、別名1行目、最後の数は6.4である私は、後に他の人に対処し、今のハードコードされたそれらを残しておきます)Webページ上に生成されるテーブルの
例:。。
print "<p>\n";
print "<TABLE BORDER=1>\n";
print "<caption>Projected Weekly Output</caption>\n";
print "<TR><TH>WW<TH>Wafers\n";
foreach $ww (sort keys %ww_proj_hash)
{
$qty_outs = $ww_proj_hash{$ww};
print "<TR><TD>$ww <TD align=center>$qty_outs\n";
}
print "</TABLE><p>\n";
の$ WWは、行1と$ qty_outsです3行目は、以下にハードコードされたものと非常によく似た結果をもたらします。
my @data = (
[ "W25", "W26", "W27", "W28", "W29", "W30", "W31", "W32", "W33", "W34", "W35"],
[ 1, 2, 2.8, 3.6, 4, 5, 5.5, 6, 7, 7.5, 8 ],
[ 1, 2, 2.8, 3.6, 4.4, 5.6, 6.4 ],
[ 1, 1.95, 2.7, 3.4, 3.7, 4.7, 5, 5.5 ],
);
my $graphmixed = GD::Graph::mixed->new (500,350);
$graphmixed->set(
x_label => 'X Label',
y_label => 'Y label',
title => 'Projected Supply vs. Request',
t_margin => 5,
b_margin => 2,
l_margin => 5,
r_margin => 5,
y_min_value => 0,
y_max_value => 8,
y_tick_number => 8,
y_label_skip => 3,
cumulate => 1,
types => [qw(bars lines lines)],
dclrs => [qw(#4f81bd #98B954 #BE4B57)],
borderclrs => [qw(black)],
fgclr => black,
textclr => black,
labelclr => black,
axislabelclr => black,
y_long_ticks => 1,
line_width => 4,
bar_spacing => 10,
transparent => 0,
) or warn $graphmixed->error;
$tmp_trend_file = 'graphmixed.png';
open(IMG, ">$tmp_trend_file") or die $!;
binmode IMG;
print IMG $graphmixed->plot(\@data)->png();
close IMG;
print "<p><img src=$tmp_trend_file border=1><p>\n";
表示を更新することができますいくつかのAJAXコードを記述する必要がある場合にのみ、それはあなたのように聞こえるのページを更新したい場合は、
を意図するものをおそらく実際にはHighcharts、D3、PlotlyなどのJavaScriptグラフ作成ライブラリを使用したいと思っています。 –
「どのように@dataを自動的に更新して手動で入力する必要はありませんか? ? " - データ配列をハードコードするのではなく、HTMLテーブルに入れたのと同じ値で埋めたいと思っていますか? –