物理のかぎしっぽ CO/アクセスログを描いてみよう の変更点

 * アクセスログを描いてみよう [#l6faed8e]
 
 gnuplot + unix 環境を使って [[ここ:http://www12.plala.or.jp/ksp/nocategory/access_day/index.html]] にあるようなアクセスログを描いてみましょう。
 
 不明な点は以下へ。
 - [[CO/アクセスログを描いてみよう/QandA]]
 
 ** 必要環境 [#o1cacba3]
 
 - gnuplot 4.0 (or later)
 - unix環境 (Cygwin や Linux などでも可)
 
 Cygwin を入れると gnuplot も入るので、Windows な人は Cygwin を入れて下さい。Cygwin 入手は [[ここ:http://cygwin.com/]] からどうぞ。
 フルインストール(全てのパッケージをインストールする)をお勧めします。
 
 ** データの入手 [#x71745ac]
 
 日ごとのアクセスログは以下の URL から入手できます。
 毎日深夜1時頃には前日分までのデータが更新されています。
 
 http://hooktail.maxwell.jp/data/daycount.log
 
 中身は2つの列からなっています。一列目は日付、二列目はアクセス数です。
 
  20060601   0
  20060602   0
  20060603   0
  20060604   0
  20060605   0
  20060606   0
  20060607   0
  20060608   0
  20060609   0
  20060610   0
  20060611   0
  20060612   0
  20060613 798
  20060614 823
  20060615 880
  20060616 804
  20060617 567
  20060618 645
  20060619 914
  20060620 895
  20060621 883
  20060622 850
  20060623 739
  20060624 568
  (以下略)
 
 ** プロット [#ed577a06]
 
 ダウンロードしたファイルをとりあえずプロットしてみましょう。
 ps ファイルに出力したいと思います。
 
  set term postscript eps enhanced colour
  
  set xlabel "date"
  set ylabel "access number"
  
  set output "01.eps"
  plot "daycount.log" using 1:2 notitle with lines lt 1 lw 3
 
 上記をファイル plot01.gp に保存して下さい。そして Cygwin 上から
 
  gnuplot plot01.gp
 
 と実行して下さい。01.eps というファイルができているはずです。
 ファイルには以下のようにプロットされています。
 
 &ref(01.png);
 
 データをプロットすることはできましたが、横軸が変ですね。
 これはデータファイルの第一列が「日付」ではなく「数値」として認識されているためです。
 
 *** x 軸を日付とする [#x42b5d3f]
 
 日付として認識させるためには plot01.plt を以下のように変更します。
 日付として認識させるためには plot01.gp を以下のように変更します。
 
  set term postscript eps enhanced colour
  
  set xlabel "date"
  set ylabel "access number"
  
  set xdata time
  set timefmt "%Y%m%d"
  set format x "%m/%d(%a)"
  
  set output "02.eps"
  plot "daycount.log" using 1:2 notitle with lines lt 1 lw 3
 
 上記をファイルに保存し、Cygwin 上で gnuplot を実行すると 02.eps が生成されます。
 上記を plot02.gp というファイルに保存し、Cygwin 上で gnuplot を実行すると 02.eps が生成されます。
 
  gnuplot plot02.gp
 
 02.eps は次のようにプロットされているはずです。
 
 &ref(02.png);
 
 横軸が日付になりましたね。
 
 *** 描画範囲を指定する [#e04cdc6c]
 
 plot02.plt では全データをプロットしています。データ数が多くなってくるとグラフが見づらくなるでしょう。
 plot02.gp では全データをプロットしています。データ数が多くなってくるとグラフが見づらくなるでしょう。
 
 プロット範囲を指定するには set xrange 命令を使います。
 x 軸を日付としているので、数値として認識されないように値をダブルクオーテーションで囲います。
 
 例えば 7月 25日から 8月 25日までのデータをプロットしたい場合には次のようにします。
 
  set term postscript eps enhanced colour
  
  set xlabel "date"
  set ylabel "access number"
  
  set xdata time
  set timefmt "%Y%m%d"
  set format x "%m/%d(%a)"
  
  set xrange ["20060725":"20060825"]
  
  set output "03.eps"
  plot "daycount.log" using 1:2 notitle with lines lt 1 lw 3
 
 これを plot03.plt というファイルに保存して gnuplot にプロットさせると 03.eps が生成されます。
 これを plot03.gp というファイルに保存して gnuplot にプロットさせると 03.eps が生成されます。
 
 &ref(03.png);
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Modified by 物理のかぎプロジェクト PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji Powered by PHP 5.3.29 HTML convert time to 0.002 sec.