疑問があれば一問一答形式でお答えします。
なお、質問文は後の参照のために一部改変させて頂くことがあります。
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さん、ありがとうございます!! いくつか質問を追加しますので、よろしくお願いいたします。
この機会にgnuplotを憶えてみようと思います。
cygwinをdownloadし、cygwin上でgnuplotを使おうと試みています。
cygwin上で"gnuplot"とtypeすると"gnuplot>"と出て来ることを確認しました。
本によるとこの状態で"plot sin(X)"とtypeすると新しいwindowが開いてグラフが表示されるとあるのですが表示されません…。
unixでなくcygwin上で行おうとするの何か別の操作が必要なのでしょうか?
教えて下さい。よろしくお願いします。
Cygwin で gnuplot を使って画面上にプロットする場合には X Window が立ち上がっていないといけません。
Cygwin コンソール上から
startxwin.sh &
または
startx &
と打ち込んで X Window を立ち上げ、 そのときに出てくるターミナル上から gnuplot を実行してみてください。
上記問題は無事解決しました。
どんなときCygwin上で操作を行い、どんなときX windowを立ち上げる必要があるのか、大まかな説明をして頂けますか。
ふつうのコンソール画面は別ウィンドウを開くことを想定していません。 マルチウィンドウの機能を使うとき、X Window システムを立ち上げます。
gnuplotでepsファイルを作った後、どのようにpngファイルを作ったらよいのでしょうか?
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 に変換しています。
ありがとうございます! convertというコマンドは発見していたのですが、使い方がわからず苦戦していました。 助かりました
sample.pngのように、横軸の文字が重なってしまいます。
COさんの作られたページでは横軸の文字が斜めになっているのですが、どのようにしているのでしょうか?
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
ありがとうございます! gnuplot、奥が深いんですね。。。
初歩的な質問に丁寧に答えて下さりとても助かります。
どうもありがとうございます。
おかげさまでだいぶ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
と入力してできたファイルはうまく開けません。
よろしくお願いします。
X Window を立ち上げて、コマンドラインから gv test.eps & として各場合のファイルを開いてみて下さい。
もしかすると illustrator では開けなくても gv では開けるかもしれません。
その場合、illustrator が gnuplot が出力する eps の形式に対応していない可能性もあります。
他に何か考えられる原因はありますか?
試しにwindows版のgnuplotでも同じことをやってみたのですが、同じ症状が出てしまいました。
こちらで現象を再現することができません。
もう少し詳しく、こちらでも同じことが再現できるように手順を書いていただけますでしょうか。
あと、開けないというファイルをこのページに添付してみてください。
ちなみに
load plot01.gp
は
load "plot01.gp"
というようにしないとダメだと思います。
すいません、もう一度行ったらgvで開くことができました。
ちなみに行った操作はXWindow上でgnuplotと入力し
>gnuplot
のモードにした後
set term postscript eps enhanced colour set output "test.eps" plot x
と入力しました。
自分としては同じ操作を行ったつもりなので、何が変わったかは良く分かりませんでした。
またそれ以降、でき上がったepsファイルをillustratorで開けるようになりました。
ただ、epsファイルを作製した後に一度
>gnuplot
のモードからexitで抜けないとだめなようで、exitしなければファイルは作製されていますが前回同様見れませんでした。
exit で抜けないとファイルが正常に作成されないのは、出力を閉じる操作が gnuplot を抜けることによって行われるからではないでしょうか。 たぶん、ターミナルを切り替えても良いと思います。
set term postscript eps enhanced colour set output "test.eps" plot x set term x11
など。
set term postscript eps enhanced colour set output "test.eps" plot x set term x11
を試してみましたがexitしない時と同じ症状がでてしまいました。
やはりexitしないと図が表示されません。
他に何か対策があれば教えて下さい。
よろしくお願いします。
プロットが終わった後に、ファイル名指定をしないで、
set output
を実行してみてください。
ファイルへのロックが解除され、ほかのアプリケーションからアクセスできるようになるはず・・・
(篠原)
篠原さん、アドバイスどうもありがとうございます。
無事問題が解決しました。
もはやアクセスログとは関係なくて恐縮ですが、
円筒座標系(r,θ,z)のrに対するzの値(z(r)とでもいいますか)
をデータとして持っている場合にこれを三次元表示させることはできますか?
θに関しては対称なのでこのz(r)をぐるっと一回転させたグラフを描きたいのですが。
三次元座標系で円筒座標系を指定するには mapping で cylindrical を設定して下さい。
set mapping cylindrical
データ形式は θ, z, r の順です。 r は省略可能で、省略した場合は 1 になります。
データ形式が上記の順番になっていなくても using で指定することが可能です。 例えば r, θ, z の順に並んでいたら、
splot "datafile.dat" using ($2):($3):($1) with points
といった感じにしてやれば OK です。