gnuplotでCSVのフィールド名とか

gnuplotでCSVファイルからデータを読み込んでプロットするときにフィールドをインデックス番号でなくフィールド名で指定する方法。

単純な方法だと

plot "filepath" using "time":"y"

数値を操作したい場合は

plot "filepath" using "time":(column("y") + 1)

文字列として操作したい場合は

plot "filepath" using "time":"y":("value: ".stringcolumn("label")) with labels

とかでできます。

データ処理のスクリプトを書いていると、開発の途中で新しいフィールドが追加されたり順番を変えたくなったりすることもありますが、はじめからフィールド名で指定しておけば、少なくともそういったときにフィールドの順序にとらわれることはなくなります。

何のデータを処理しているのか、コード的にもわかりやすくなりますね。

精神衛生的に、フィールド名が使える場合は使いたい。

  • Mac OSX 10.9 Mavericks
  • gnuplot 4.6
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s