物理のかぎしっぽ CO/アクセスログを描いてみよう/QandA のバックアップ(No.21)

CO/アクセスログを描いてみよう

アクセスログを描いてみよう Q and A

疑問があれば一問一答形式でお答えします。
なお、質問文は後の参照のために一部改変させて頂くことがあります。

Q. 過去7日間の平均アクセス数を出したいのですが。(篠原さん)

A. tail, awk を組み合わせると楽です。

tail コマンドはテキストファイルの最後の N 行を表示するコマンドです。

コマンドラインで次のようにすると、過去7日間の平均値が得られるでしょう。

tail -7 daycount.log | awk 'BEGIN{n=0}{n+=$2}END{print n/7}'

実行結果は以下の通り。

[koizumi@supernova ~/access_log]$ tail -7 daycount.log | awk 'BEGIN{n=0}{n+=$2}END{print n/7}'
586.571
[koizumi@supernova ~/access_log]$

ありがとうございます!

COさん、ありがとうございます!! :) いくつか質問を追加しますので、よろしくお願いいたします。

Q. Cygwin でグラフが表示されない (NOBU さん)

この機会にgnuplotを憶えてみようと思います。

cygwinをdownloadし、cygwin上でgnuplotを使おうと試みています。
cygwin上で"gnuplot"とtypeすると"gnuplot>"と出て来ることを確認しました。
本によるとこの状態で"plot sin(X)"とtypeすると新しいwindowが開いてグラフが表示されるとあるのですが表示されません…。
unixでなくcygwin上で行おうとするの何か別の操作が必要なのでしょうか?

教えて下さい。よろしくお願いします。

A. X Window を立ち上げてください。

Cygwin で gnuplot を使って画面上にプロットする場合には X Window が立ち上がっていないといけません。
Cygwin コンソール上から

startxwin.sh &

または

startx &

と打ち込んで X Window を立ち上げ、 そのときに出てくるターミナル上から gnuplot を実行してみてください。

 どうもありがとうございました。

上記問題は無事解決しました。

Q. どんなときに X Window を立ち上げる必要があるのですか?

どんなときCygwin上で操作を行い、どんなときX windowを立ち上げる必要があるのか、大まかな説明をして頂けますか。

A. 別ウィンドウを開く必要があるときです。

ふつうのコンソール画面は別ウィンドウを開くことを想定していません。 マルチウィンドウの機能を使うとき、X Window システムを立ち上げます。

Q. epsファイルを作った後は?(篠原)

gnuplotでepsファイルを作った後、どのようにpngファイルを作ったらよいのでしょうか?

A. convert コマンドを用いると良いです。

convert コマンドは画像に様々な処理を加えることができるツールです。 eps から png に変換するには以下のようにします。

convert input.eps output.png

拡張子を自動で判別して変換してくれます。もし出来上がったファイルが 90度回転していたら

convert -rotate 90 input.eps output.png

というようにしてください。eps の解像度を指定したい場合には

convert -density 100x100 input.eps output.png

というように 縦x横 を dpi 単位で指定します。png に変換する場合は出力される画像サイズが変化します。

出力画像を透過 png にしたい場合には

convert input.eps -transparent white output.png

とします。white は透過色を指定しています。なお、この方法で作成した png は IE だと透過して表示されません。 IE でも透過されるようにするには

convert input.eps -transparent white -colors 256 output.png

というように色数を 256色に指定します。

なお、gnuplot では最初から png で出力することもできます。 その場合には terminal を png に変更します。

set term png

ただし postscript を出力する場合に比べて見た目が少し貧弱な気がするので、 いったん eps を経由して png に変換しています。

Q. 横軸の文字を回転させるには?(篠原)

filesample.pngのように、横軸の文字が重なってしまいます。 :(
COさんの作られたページでは横軸の文字が斜めになっているのですが、どのようにしているのでしょうか?

A. xtics を設定して下さい。

xtics の設定を変更して下さい。文法は次の通りです。
(これは gnuplot から help xtics で見られます。)

Syntax:
      set xtics {axis | border} {{no}mirror} {{no}rotate {by <ang>}}
                {  autofreq
                 | <incr>
                 | <start>, <incr> {,<end>}
                 | ({"<label>"} <pos> {<level>} {,{"<label>"}...) }
                { font "name{,<size>}" }
                { textcolor <colorspec> }
      unset xtics
      show xtics

横軸の tics を 290 度回転させるには次のように指定します。

set xtics rotate by 290
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新の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.020 sec.