検索
検索
Sakakibara Hiroshi / 榊󠄀原 寛
文書の表示
以前のリビジョン
トレース:
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
[[gnuplot]] ---- gnuplot は,unix ベースのグラフ描画ツール.テキストデータからグラフ描 画が行なえる.結果は,gui 表示しても良いし, png/jpg/eps/html(canvas)/terminal などのファイルに落すこともできる. ====== データ形式 ====== * スペース / タブ区切り. * コメントは基本的に # を使う. * 今回は 11 万行のデータを plot する前提です. <code> # 10/01 のデータ 2011/10/01_00:00:38 102.891 2011/10/01_00:01:38 102.891 2011/10/01_00:02:38 102.891 2011/10/01_00:03:38 102.891 2011/10/01_00:04:38 102.892 2011/10/01_00:05:38 102.892 2011/10/01_00:06:38 102.892 2011/10/01_00:07:38 102.892 2011/10/01_00:08:38 102.892 </code> ====== データの描画から,ファイルへの保存までの流れ ====== * まず,gnuplot のインタラクティブモードに入る. <code> % gnuplot </code> * 上記のデータの場合,日付データが入っているので,日付に関する設定を適用. * timefmt には,他にも曜日とか 2 桁の西暦表示とか,いろいろある. <code> gnuplot> set xdata time gnuplot> set timefmt "%Y/%m/%d_%H:%M:%S" </code> * x と y の範囲を決める. <code> gnuplot> set xrange ["2011/10/01_00:00:00":"2011/12/18_00:00:00"] gnuplot> set yrange [0:350] </code> * デフォルトだと,x の日付の間隔が長いので,4 日毎くらいにする.第 3 引数は,秒数指定なので,頑張って計算する. <code> gnuplot> set xtics "2011/10/01_00:00:00" 345600 </code> * x と y に文字列を適用する. <code> gnuplot> set xlabel "Date" gnuplot> set ylabel "cumulative sent data (GB)" </code> * 見易さのためにグラフの中に点線を入れる. <code> gnuplot> set grid </code> * わかり易さのためにグラフのタイトルを入れる. <code> gnuplot> set title "2011/10/01 - 2011/12/17 cumulative sent data" </code> * plot してみる. * 第一引数はデータファイル. * 第二引数は,x, y で使うデータの指定.もし,1 行に 3 つのデータがあり,1,3 番目を使いたい場合は,1:3 と指定する. * 第三引数は,線の引き方の指定.lines, points, linspoints など. <code> gnuplot> plot "data.txt" using 1:2 with lines </code> * 見にくいので,スムースな線にしてあげる. * every は,1000 個毎にデータを利用する,という意味. * 1000 個ごとのデータを with points してあげると,なんとなく見やすかったのです. <code> gnuplot> plot "data.txt" using 1:2 with smooth csplines with lines, \ gnuplot> "data.txt" every 1000 using 1:2 with points </code> * 何か設定を変えたので,再描画したい. <code> gnuplot> replot </code> * plot されたデータの設定を見たい時. <code> gnuplot> show all </code> * 中断して,次に作業を復帰させたい時. <code> gnuplot> save "hoge.plt" gnuplot> load "hoge.plt" </code> * png, jpg, eps など,ファイル形式で保存したい時. * 保存可能な設定一覧の確認. <code> gnuplot> set terminal </code> * png に設定する. <code> gnuplot> set terminal png </code> * 保存するファイル名の設定. <code> gnuplot> set output "hoge.png" </code> * 保存するには,新しく plot するか,表示されているものを replot です.ただ,何故か,そのままだと画像を open しているだけの時があるので,set terminal wxt とかしてあげると,Closing *.pdf とかなって,ちゃんとグラフが吐き出されます.なぜ? * http://www.tsukune.org/skk/tmp/gnuplot/test.html * canvas 使ったデモ {{gnuplot:2011_10_12_data_sent_amount.png}} ====== その他 ====== ===== set terminal canvas ===== * HTML を吐いてくれます. * js で適当にきれいにしてくれるので,結構便利. ====== 参考 URL ====== * http://t16web.lanl.gov/Kawano/gnuplot/intro/index.html * 一番良くまとまっている * http://takeno.iee.niit.ac.jp/~foo/gp-jman/data/gp372-jp-l2h/node1.html * 完全なリファレンス * http://mag.eee.u-ryukyu.ac.jp/unix/gnuplot/dataline.html#bezier * 近似線の引き方が簡単に書いてある -
gnuplot.txt
· 最終更新: 2012/11/14 14:00 by
127.0.0.1
文書の先頭へ