人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

数値データから、グラフを生成して、
それをgifなどの画像形式で表示するには
どうしたらいいんでしょうか。

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

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

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

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

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

●質問者: sun-chan
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:GIF すいか はと ウェブ ウェブページ
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● osamu_honma
●23ポイント

GDを使うと画像出力ができます。

http://www.gadgety.net/shin/tips/unix/php-gd.html

http://www.gadgety.net/shin/tips/unix/perl-gd.html

◎質問者からの返答

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

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

ありがとうございます。

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

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

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

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

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


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

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

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


2 ● orz66
●23ポイント

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

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

◎質問者からの返答

ありがとうございます。


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

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

うれしいです。


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

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

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


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

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

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


3 ● czy00347
●22ポイント

ちょうど一年くらい前に、同じようなことを思い立って、[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

◎質問者からの返答

ありがとうございます!


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


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


ところで

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

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


4 ● orz66
●22ポイント

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

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

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

◎質問者からの返答

ありがとうございます。


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

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

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


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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ