gnuplotでグラフを作成する

性能データの確認にグラフを作成するのだが、毎回Excelでグラフを作成するのはメンドクサイ
マクロを作ってもいいんだけど、データをとってるのがLinuxなので、gnuplotでやってみよう。


あと、Excel2003までだと読み込みが65536行に制限されてるし、グラフにプロットできるのは
32000個という制限があるので大量のデータを扱うときに不便

データのフォーマット

  • カンマ区切り
  • ""ではくくられない
  • データの並びと時刻のフォーマット
終了時刻 処理時間
YYYY/MM/DD hh:mm:ss ss.SSS
    2010/04/24 09:53,00.430

gnuplotのインストール

家のCentOSにはgnuplot入れてないでやんの

    [oc@centos5 tmp]$ sudo yum install gnuplot
    [oc@centos5 tmp]$ gnuplot --version
    gnuplot 4.0 patchlevel 0

グラフの作成

    [oc@centos5 tmp]$ gnuplotgnuplot
  • カンマ区切りで読み込む
    gnuplot> set datafile separator ','
  • 時刻フォーマットの指定
    gnuplot> set xdata time
    gnuplot> set timefmt "%Y/%m/%d %H:%M:%S"
  • 凡例?(この場合using 1:2 with pointsと右上にでる表示)を消す
    gnuplot> unset key
  • 保存形式の指定
    gnuplot> set terminal png
  • ファイル名の指定
    gnuplot> set output "data.png"
  • 読み込むファイルと列とグラフの形式を指定して実行
    gnuplot> plot "data.log" using 1:2 with points

実行結果


資料として残すには、まだまだだな

  • X軸のラベルの日付が読めない
  • Y軸の目盛の一番上に単位が欲しい

テストデータ

使用したテストデータはここ