SVGGraph-0.04 > SVGGraph
名前¶
SVGGraph - SVGのグラフ/ダイアグラム/チャート/プロットを作成するためのPerl拡張
概要¶
use SVGGraph;
my @a = (1, 2, 3, 4);
my @b = (3, 4, 3.5, 6.33);
print "Content-type: image/svg-xml\n\n";
print SVGGraph->new(
{'title' => 'Financial Results Q1 2002'},
[\@a, \@b, 'Staplers', 'red']
);
説明¶
このモジュールは、GNUplotがおこなうように、座標を持った配列の
集合をグラフに変換します。SVG(Scalable Vector Graphics)形式で、
そのグラフを作成します。それには縦の棒グラフ(verticalbars)と
折線グラフ(spline)の2つのスタイルを持っています。
これは軽くなるように設計されています。
あなたのインターネット・ブラウザがSVGを表示できないのであれば、
adobe.comでプラグインをダウンロードしてみてください。
利用例¶
例はこちらのサイトをご覧ください: http://pearlshed.nl/svggraph/1.png
そして http://pearlshed.nl/svggraph/2.png
長いコードサンプル:
#!/usr/bin/perl -w -I.
use strict;
use SVGGraph;
### x軸の値が入った配列
my @a = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
### y軸の値が入った配列
my @b = (-5, 2, 1, 5, 8, 8, 9, 5, 4, 10, 2, 1, 5, 8, 8, 9, 5, 4, 10, 5);
my @c = (6, -4, 2, 1, 5, 8, 8, 9, 5, 4, 10, 2, 1, 5, 8, 8, 9, 5, 4, 10);
my @d = (1, 2, 3, 4, 9, 8, 7, 6, 5, 12, 30, 23, 12, 17, 13, 23, 12, 10, 20, 11);
my @e = (3, 1, 2, -3, -4, -9, -8, -7, 6, 5, 12, 30, 23, 12, 17, 13, 23, 12, 10, 20);
### 初期化
my $SVGGraph = new SVGGraph;
### どのMIMEタイプがくるかをブラウザに知らせるため、うまくいくようにcontent-typeを出力
print "Content-type: image/svg-xml\n\n";
### グラフを出力
print $SVGGraph->CreateGraph( {
'graphtype' => 'verticalbars', ### verticalbars あるいは spline
'imageheight' => 300, ### SVGイメージ全体の高さ
'barwidth' => 8, ### 棒またはドットの幅(ピクセル単位)
'horiunitdistance' => 20, ### X軸での1単位毎の距離(ピクセル単位)
'title' => 'Financial Results Q1 2002',
'titlestyle' => 'font-size:24;fill:#FF0000;',
'xlabel' => 'Week',
'xlabelstyle' => 'font-size:16;fill:darkblue',
'ylabel' => 'Revenue (x1000 USD)',
'ylabelstyle' => 'font-size:16;fill:brown',
'legendoffset' => '10, 10' ### 左上の角からのピクセル数
},
[\@a, \@b, 'Bananas', '#FF0000'],
[\@a, \@c, 'Apples', '#006699'],
[\@a, \@d, 'Strawberries', '#FF9933'],
[\@a, \@e, 'Melons', 'green']
);
作者¶
Teun van Eijsden, [email protected]
参考資料¶
http://perldoc.com/
SVG stylingについては: http://www.w3.org/TR/SVG/styling.html