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

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 を立ち上げる必要があるのですか?(NOBUさん)

どんなとき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 に変換しています。

Thanks!

ありがとうございます! convertというコマンドは発見していたのですが、使い方がわからず苦戦していました。 助かりました :)

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

Thanks a lot!

ありがとうございます! gnuplot、奥が深いんですね。。。

Q. epsファイルがうまく開けません(NOBU)

初歩的な質問に丁寧に答えて下さりとても助かります。
どうもありがとうございます。
おかげさまでだいぶgnuplotが分かってきました :)
また一つ質問させて頂きます。

X Window上で

set term postscript eps enhanced colour
set output "test.eps"
plot x

と入力するとファイルができあがるのですが、illustratorで開くと図が表示されません。
何が問題でしょうか。

COさんの書いたplot01.gpもcygwin上で

gnuplot plot01.gp

と入力してできたファイルはうまく開けるのですが、XWindow上で

load plot01.gp

と入力してできたファイルはうまく開けません。

よろしくお願いします。

A. gv コマンドを試してみて下さい。

X Window を立ち上げて、コマンドラインから gv test.eps & として各場合のファイルを開いてみて下さい。
もしかすると illustrator では開けなくても gv では開けるかもしれません。
その場合、illustrator が gnuplot が出力する eps の形式に対応していない可能性もあります。

Q.gvでも開けませんでした。

他に何か考えられる原因はありますか?
試しにwindows版のgnuplotでも同じことをやってみたのですが、同じ症状が出てしまいました。

A. こちらで再現できません。

こちらで現象を再現することができません。
もう少し詳しく、こちらでも同じことが再現できるように書いていただけますでしょうか。
あと、開けないというファイルをこのページに添付してみてください。

ちなみに

load plot01.gp

load "plot01.gp"

というようにしないとダメだと思います。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新の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.042 sec.