- 追加された行はこの色です。
- 削除された行はこの色です。
[[CO/アクセスログを描いてみよう]]
* アクセスログを描いてみよう Q and A [#idc4eba1]
疑問があれば一問一答形式でお答えします。~
なお、質問文は後の参照のために一部改変させて頂くことがあります。
#contents
// 以下の形式でお願いします。
// 疑問文はなるべく一つの質問になるようにお願いします。
// ** Q. 疑問分
// *** A. 回答文
** Q. 過去7日間の平均アクセス数を出したいのですが。(篠原さん) [#ub21f10a]
*** A. tail, awk を組み合わせると楽です。 [#k9b9ff15]
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]$
*** ありがとうございます! [#n9d6bb4c]
COさん、ありがとうございます!! :)
いくつか質問を追加しますので、よろしくお願いいたします。
** Q. Cygwin でグラフが表示されない (NOBU さん) [#ee0a3e69]
この機会にgnuplotを憶えてみようと思います。
cygwinをdownloadし、cygwin上でgnuplotを使おうと試みています。~
cygwin上で"gnuplot"とtypeすると"gnuplot>"と出て来ることを確認しました。~
本によるとこの状態で"plot sin(X)"とtypeすると新しいwindowが開いてグラフが表示されるとあるのですが表示されません…。~
unixでなくcygwin上で行おうとするの何か別の操作が必要なのでしょうか?~
教えて下さい。よろしくお願いします。
*** A. X Window を立ち上げてください。 [#lbe6343d]
Cygwin で gnuplot を使って画面上にプロットする場合には X Window が立ち上がっていないといけません。~
Cygwin コンソール上から
startxwin.sh &
または
startx &
と打ち込んで X Window を立ち上げ、
そのときに出てくるターミナル上から gnuplot を実行してみてください。
*** どうもありがとうございました。 [#z6deea66]
上記問題は無事解決しました。
** Q. どんなときに X Window を立ち上げる必要があるのですか? [#qf7f3231]
どんなときCygwin上で操作を行い、どんなときX windowを立ち上げる必要があるのか、大まかな説明をして頂けますか。
*** A. 別ウィンドウを開く必要があるときです。 [#ma7d1698]
ふつうのコンソール画面は別ウィンドウを開くことを想定していません。
マルチウィンドウの機能を使うとき、X Window システムを立ち上げます。
** Q. epsファイルを作った後は?(篠原) [#n428230f]
gnuplotでepsファイルを作った後、どのようにpngファイルを作ったらよいのでしょうか?
*** A. convert コマンドを用いると良いです。 [#o84dbadf]
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. 横軸の文字を回転させるには?(篠原) [#yfdf7a97]
&ref(雑談用掲示板/sample.png,noimg);のように、横軸の文字が重なってしまいます。 :( ~
COさんの作られたページでは横軸の文字が斜めになっているのですが、どのようにしているのでしょうか?
*** A. xtics を設定して下さい。 [#g670dd2e]
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