数値データから、グラフを生成して、

それをgifなどの画像形式で表示するには
どうしたらいいんでしょうか。

データを入力してデータファイルに
格納?して、それを読み込んでグラフをウェブ上で
見たいと思っているんですが、
その試行錯誤の中からの質問です。

自分でいろいろ設定(入力項目とか、グラフの
形式~折れ線、棒グラフ~とか、グラフのフォント、線の太さ色とか)したいんです。

そして、最終的にはウェブページの
一部として表示したいので、画像ファイルに
なると一番使いやすいかなと思っています。

今はとりあえず、フォームにデータを入力して、
テキストファイルにどんどん貯めていく、というの
までは出来ました。

その次のステップが分かりません・・・

回答の条件
  • 1人3回まで
  • 登録:2007/04/03 18:22:30
  • 終了:2007/04/10 18:25:03

回答(4件)

id:osamu_honma No.1

osamu_honma回答回数47ベストアンサー獲得回数12007/04/03 18:44:16

id:sun-chan

できそうな、私には無理そうな、、、

でもがんばったらできるのかな、、、

ありがとうございます。

今別の参考資料「CGI/Perl逆引き大全」を見ながら

折れ線グラフを描くっていうのをやっているので

ご紹介いただいたのと似てると思うんですが、

出力されるグラフは拡張子がcgiなんです。

スクリプトの中ではjpegになってるようなのですが、、、


また今使っているロリポップでは、GD:Textとか

GD:Graphが使えないみたいです。

他の方法も検討したいので、引き続き募集?します。

2007/04/03 20:01:04
id:orz66 No.2

orz66回答回数106ベストアンサー獲得回数112007/04/03 22:40:36

ポイント23pt

他の方法でもよろしければ

perlにてデータファイル .TXT作成

Flashにて読み込み、表示はどうでしょうか?

creatorof

http://creatorof.dip.jp/graph/index.html


amchart

http://www.amcharts.com/line/


XML/SWF Charts

http://www.maani.us/xml_charts/index.php

id:sun-chan

ありがとうございます。


>perlにてデータファイル .TXT作成

までは出来ているので(形はどうであれ…)

うれしいです。


特に最後のは検討中でしたが、一番上のは

知らなかったので、ありがたいです!

それに「折れ線グラフをWEB上で作成することは簡単ではありません。」と書いてあったのでちょっとうれしかったです。


このやり方だと画像ファイルにならないみたいなので、

ブログの中での取り込みが難しい気がしますが

デザインがかっこよくできそうなのでいいですよね。

2007/04/06 14:58:42
id:czy00347 No.3

czy00347回答回数19ベストアンサー獲得回数12007/04/05 21:21:44

ポイント22pt

ちょうど一年くらい前に、同じようなことを思い立って、[ttp://www.jca.apc.org/sebs/:title=グラフ表示をするPerl-CGI]を作ったことがあります。自分も全くの素人の状態からはじめたので、つい応援したくなって出てきてしまいました。

自分の場合は、GD::GraphというPerlモジュールを使いました(たぶん入門書に載っているのもGDを使う方法だと思います)。GD::Graphを使うと、おっしゃっているように、入力項目とか、グラフの種類、フォント、線種等がいろいろ設定出来るのですが、モジュールを自由にインストール出来る環境がないと、ちょっと無理ですね。とすると、クライアント側で画像生成させるしかないので、上の回答者が紹介されているようなFlashやJava Appletによる方法になるかと思います。

最初は、id:orz66さんお薦めのcreatorofを使ってやってみて、うまく出来たら画像生成部分をもっと高機能なものに変えてみるというように段階を踏んだ方がよいと思います。

CGIとグラフ画像の間の理解があやふやなようですので、その部分の考え方だけ書きますね。

  1. CGIにてデータファイル(描画したいグラフの数値を書き込んだファイル)を作成する。(ここまでは出来ているのですね?)
  2. データファイルからグラフ画像ファイルを作成する。この部分はGDモジュールや外部ツールを使う。この画像ファイルは、GDだとgif/jpeg/png、creatorofならflashファイルを作ることになる。creatorofの場合、"data.txt"を変更すると自動的にflashファイル"LineGraph.swf"に反映されるので、"data.txt"を正しい書式で正しい場所に作れば、画像ファイル作成作業は完成です。
  3. htmlファイル中に出来た画像ファイルを配置する。gif/jpeg/pngならIMGタグ、flashならobjectタグなどで画像ファイルを指定する。このhtmlファイルそのものをCGI中で動的に生成することもある(質問者コメントの「拡張子がcgi」というのは、そういう処理をしているから)。creatorofの場合、見本のhtmlファイル"LineGraph.html"の中で、作成した"LineGraph.swf"を読み込んでいます。
  4. 自分の好きな場所に生成した画像を表示したい場合、上記のようにIMGタグやobjectタグを使って画像ファイルを指定すればOKです。

最後に、自分がGDを使うにあたってとても参考になったサイトを紹介しておきますね。ここのGD::Graph グラフ作成マシーンがやりたいことに近いのではないでしょうか。scriptも公開されています。GDを使わないとしても、CGIの解説が全般的な理解に役に立つと思います。http://x68000.q-e-d.net/~68user/webcgi/image-1.html

id:sun-chan

ありがとうございます!


毎回毎回トライしてはめげてしまってるんですが、今回もできるところまででもがんばってみたいと思います。


一気に最終的に希望するところまでもっていかなくて、段階を踏みながらやっていくほうがいいですね。ちょっとずつがんばります。


ところで

http://www.atmarkit.co.jp/news/200704/05/asial.html

こんなのが出来たんですね……

2007/04/06 14:59:42
id:orz66 No.4

orz66回答回数106ベストアンサー獲得回数112007/04/06 15:33:47

ポイント22pt

PHPのグラフ作成質問にて色々追加情報や、私の知らなかった

情報が出てますのでお知らせします。

http://q.hatena.ne.jp/1175681643

id:sun-chan

ありがとうございます。


flashを使うタイプだと、flashの部分だけ(やり方がわからないので)

他の方のプログラムを借りないといけないので、

最終的にはperlかphpでできたらいいなあと(何年後か分かりませんが)思ってます。


phpでのグラフ作成についてもいろいろ勉強してみます。

2007/04/06 18:39:45

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません