ファイル内を検索してグラフを書く方法

このQ&Aのポイント
  • ファイル内を検索してグラフを書く方法を教えてください。
  • 指定した日付の温度を取り出し、折れ線グラフ化する方法について教えてください。
  • PerlのGD::Graphモジュールを使用して、ファイル内の温度データをグラフ化する方法をお教えください。
回答を見る
  • ベストアンサー

ファイル内を検索してグラフを書く方法を教えてください。。。

ここにdata.txtというファイルがあります。 中身はこのようになっています。 2005/12/01,0:44:55,7.3 2005/12/02,0:45:55,7.8 2005/12/03,0:46:55,7.8 2005/12/04,0:47:55,7.8 ・ ・ ちなみに,区切りで左側は日付、真ん中が時間、右側が温度になっています。 これは一行一行改行されています。 たとえばこのファイルの中から2005/12/01~2005/12/04というのをフォームで指定して各日にちに対応する温度を取り出します。 この取り出した温度をperlのGD::Graphモジュールを使って折れ線グラフ化したいのですが何かいい方法はありませんか??できればプログラムをお願いします。 またはこの形までもっていく方法もおねがいします。 @data=( ["2005/12/01","2005/12/02","2005/12/03","2005/12/04"], [7.3,7.8,7.8,7.8] ); です。上の[]が,区切りの日付、下の[]が温度です。必ずしも4日とは限らないのでそこをおねがいします。

  • Perl
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>またはこの形までもっていく方法 こっちだけ $date=[]; $temp=[]; open(INDATA,"<", "data.txt"); while(<INDATA>){ @field=split /,/; push @$date, $field[0]; push @$temp, $field[2]; } close(INDATA); @data=($date, $temp);

kabunori
質問者

お礼

ありがとうございます。試してみたいとおもいます。

関連するQ&A

  • ファイル内にある文字列を検索してその1行すべてを取り出す方法を教えてください!!

    今いろいろ検索して探していたのですが全く見つかりませんでした。 お願いしたいことは まずtest.txtというファイルがあります。 内容は 2005/11/1,10,23.5 2005/11/1,11,22.5 という感じで日付,時間,温度で一行一行改行という感じになっています。 この中からVBのcomboboxを使って年、月、日にち、時間を別々に指定してそれにすべて一致する行をラベルに表示させたいのです。 私は今高校1年でPICNICというものを作って温度を計測、記録、読み出しをやりたいんですが計測、記録はできています。後読みだしだけです。よろしくお願いします。

  • 読込むtxtファイルについて

    CGIでtxtファイルからデータを読込んで、そのデータをHTMLでIFRAMEを使って表示させるようにしました。 一行だけを読込んで表示させるのですが、その読込む一行はtxtファイルでは改行もなく本当に一行で入力しているものをHTMLで表示させる時に改行したりできるのでしょうか?また、表示させる内容なんですが、HTMLのように文字のサイズを小さくしたり、色を変えたり、というのはできるのでしょうか? できるのであればその方法を教えて頂きたいです。 調べているのですが、なかなか見つからなくて。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • ファイル内の検索・表示方法

    PHP初心者です。 どうしても分からないので、質問させていただきます。 -----data.txt----------------- 2004/01/01,2005/04/01,aaaaaaaaaaaaaaaaaa 2004/01/03,2004/01/01,nnnnnnnnnnnnnnnnnn ・ ・ ------------------------------ index.php、data.csvの2つのファイルを使用します。 PHPでdata.txtのファイル内を検索し、 最初から一行ずつ、data.csvの第一フィールド・第二フィールド(2004/01/01,2005/04/01)の日付と 「2004/02/01」を比較し、第一フィールド・第二フィールドともに「2004/02/01」以前だったら、 その行を出力し新規ファイルに書き出し。 というスクリプトを作成したいのですが、どうなりでしょうか? どなたかご教授ください。

    • 締切済み
    • PHP
  • 変数の内容をファイルに書き込む方法を教えてください。

    Visual Basic 2005です。 変数にはカンマ区切りのデータが記録されています。 例・2006,12,6,11,23,00,23.5 のような感じです。 これがDataという変数に入っている場合、このファイルをtxtファイルに上から順に書き込んでいくと言うプログラムです。 ファイル内はこのようになります 2006,12,6,11,23,00,23.5 2006,12,6,11,24,00,23.6 (改行される) 2006,12,6,11,25,00,23.7 (改行される) ・ ・ ちょっと手を貸していただけませんか。 お願いします

  • Perlでテキストファイルの処理方法

    Perlでファイル入力は 下記のように記述します open (IN,"myInput.txt"); $lineno = -1; while (<IN>) {  $lineno = $lineno + 1;  @lines_org[$lineno] = $_;  #print lines_org[$lineno];  #print $_,"\n";  } これで一行づつ入力できます ここで質問したいのは 入力ファイルに改行コードがないため 処理できないと思うのですが 一行づつ入力ではなく、1文字づつ入力する 入力方法はPerlにはないのでしょうか ちなみに入力ファイルは数メガある大きなファイル です よろしくおねがいします

    • ベストアンサー
    • Perl
  • jpgraphでグラフを書く・・・でも初めてでよくわかりません。。。

    作成したPHPファイルと同じフォルダにあるdata.txt内容は 2007:06:19:17:21:00,27.9 2007:06:19:17:22:00,28.3 2007:06:19:17:23:00,26.4       ・       ・       ・ となっています。 このデータのカンマ区切りの最後の区切りをデータの最後から24個分をグラフにしたいのですがどのようにすればいいのかわからなくて質問しました。どうか返答をお待ちしています。また縦軸は温度なので℃、横軸は時間でカンマ区切りの前側の2007:06:19:17:23の17部分を各行のを取り出したいと思っています。よろしくお願いします。

    • 締切済み
    • PHP
  • windowsサーバーでGD::Graph

    こんにちわ WindowsXPでapache2.0を動かしています。 perlもインストールしていて、cgiを書いて、DBに格納されたデータからグラフを表示させたいと考えています。 DBからデータを取り出して数値を表示するなどの事は出来るのですが、その数値をグラフにしたいと思い、GD::Graphなるモジュールがある事を知りました。 しかし、いろいろネットで検索した所、UNIXには簡単にインストール出来るようで、Windowsにはなんとかインストール出来るが、難しい様です。 実際に、私もいくつかのサイトの手順を参考にインストール作業を進めてみたのですが、上手く出来ませんでした。 WindowsサーバーでperlのGD::graphをインストールされたことがある方やその方法をご存知の方、(機能的にGD::Graphが希望なのですが)グラフ表示機能を実現できるほかの手段など、ご教授頂ければ幸いです。 よろしくお願いします。 当方の環境は WinXP MySQL Perl5.8 Apache2.0 こんな感じです。

  • 手っ取り早くtxtファイルをphpでグラフ化する方法はあるのでしょうか?

    2,3,2,5,4,7,8,3,4,5,・・・・ と数値が書かれているtxtファイルを使って、 phpで折れ線グラフを描きたいのですが、どうも上手くいきません。 個々の数値の折れ線グラフと平均値の折れ線グラフが同じ図表中に描くようにしたいのですが、エラーになるばかりです。 何か特殊な条件や方法が必要なのでしょうか?

    • 締切済み
    • PHP
  • ファイルから一行ずつ読み込むとき、@F[0] と $_ は違う?

    データファイルを一行ずつ読み込んで、文字列を一文字ずつコンマ区切りにしたいと思っています。たとえば、   xyz → x,y,z としたいと思っています。 今、data.txt に  abc  defgh という2行が書いてあります。  perl -nla -e '@chars= split(//,@F[1]); print join(",",@chars);' data.txt とすると  a,b,c  d,e,f,g,h という出力が無事に得られました。 どうせ、data.txt は一列しか使っていないので、 @F[0] の代りに $_ を使ってみました。  perl -nle '@chars= split(//, $_); print join(",",@chars);' data.txt しかし、結果は  a,b,c,  d,e,f,g,h, のように、各行の最後に余計なコンマが付いてしまいます。 なぜでしょうか? 一列しかデータがないので、@F[0] と $_ は同じだと思っていたのですが、なにか違うのでしょうか?

    • ベストアンサー
    • Perl
  • Perlのグラフ化について

    初質問させていただきます。 まず環境は、Perlversion5.16.1でActivePerlを用いております。 GD::Graphモジュールを使って棒グラフ、点グラフを作りたいと思っています。 しかし、(数字は変えてあります) .... (1)my @labels = qw(0 5 10 15 20 25 30); #X軸の目盛り (2)my @dataest = qw(3 6 9 12 15 18 21 24); #グラフにするデータ (3)my @data = (\@labels,\@dataset); ..... と、入力して出力しても、ラベルはちゃんと(1)の目盛りが置かれるのですが、肝心なグラフ化したいデータの(2)が反映せず、何故か(1)の値が再度取られ、グラフが一定になってしまいます。 http://www.gadgety.net/shin/tips/unix/perl-gd.html 上記のURLの参考プログラムのままだったらちゃんと実行されるのですが、(2)のdatasetの値をいれかえると何故かこのような現象に… どなたかご教授願えませんでしょうか?他に必要な情報があれば補足・返信いたします。

    • ベストアンサー
    • Perl

専門家に質問してみよう