gnuplotで、あるディレクトリ内にある全てのファイルをプロットする

まとめ


gnuplotで、ディレクトリ(dat)内にある全てのファイルをプロットするには、

fnames=system("/bin/ls ./dat/*")
plot for[fn in fnames] sprintf("%s",fn) u 1:2

とすればいいです。

状況


いま、ディレクトリの構造が

.
└── dat
    ├── a.d
    ├── b.d
    └── c.txt

となっているとします。ここで、datはプロットしたいデータ(a.d、b.dとc.txt)が入っているディレクトリです。
この時、gnuplot上で

fnames=system("/bin/ls ./dat/*")
plot for[fn in fnames] sprintf("%s",fn) u 1:2

と入力すれば、ディレクトリdat内にある全てのファイルがプロットされます。

また、拡張子.dにあてはまるものだけをプロットしたければ、

fnames=system("/bin/ls ./dat/*.d")
plot for[fn in fnames] sprintf("%s",fn) u 1:2

とすればいいです。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です