〔前の画面〕
〔クリックポイント〕 〔最新の一覧〕
〔全て読んだことにする〕〔全て読んだことにして終了〕 〔終了〕
2829 splot で複数ファイルのデータをグリッドデータとして扱う方法 |
2014/8/20(水)09:28 - nkom - cable-28.246.173-171.electronicbox.net - 2559 hit(s) - ResMail
初めまして
最近 gnuplot を使い始め、V5.0rc1(Cygwin版、Qt版)を使っています。
各種の貴重な情報やパッチなど、ありがとうございます。
現在、一定時間ごとに生成されたガンマ線スペクトルデータのファイル群から、
「他のプログラムによる前処理無し」で3D表示が出来ないか試行錯誤中です。
前処理を施したものについては、Pythonやシェルスクリプトを使って、
以下のページの様に、ほぼ期待した結果が得られました。
http://pico.dreamhosters.com/FukushimaDisasterSpectrum3D.html
これと同じことを、複数のスペクトルファイルから「Gnuplotだけ」で
前処理抜きで直接やりたいわけで、単純に複数のスペクトルを線で出すのは
以下のようなやり方であっけなく出来ました。
しかし、これだと一つ一つの線が別のプロットとして扱われ
(そして、別の「面」とされてしまい)、それぞれをグリッドデータの
ブロックとして認識していないせいでメッシュも pm3d も
出来ないように思われます。
dd = '../Rad/201103_spector_all/201103_spc10_kooriyama/'
m = 3
fn(m,d,h) = sprintf('%sSPC-11%02d%02d%02d00.txt', dd, m, d, h)
splot for [d=11:13] for [hr=0:23] fn(m,d,hr) using (sprintf('11%02d%02d%02d', m, d, hr)):(column(0)):1 title ''
それぞれのファイルには、2行目から1000行目までに波高データが入っており、
ファイルの名前に日時のデータが含まれているため、x軸にファイル名と同じ
日時のデータを与え、y軸に行番号を与え、z軸に波高データを与えています。
(日時のデータについても、もっとマシなやり方がありそうな気もしますが・・・)
私の探し方が悪いせいかもしれませんが、日本語や英語の検索でも、
for ループで作ったデータが「別のプロット」にならずに、
空行で仕切られたグリッドデータと同じ様に扱われる設定は
見つかりませんでした。
もしかすると、現在のバージョンでは出来ないのかもしれませんし、
「前処理すれば良いだろう」というご意見が多いことも予想されますが、
gnuplotだけで、(時系列などの)複数の2Dデータから、
各種の3D(風の)プロットが手軽に出来ると、個人的には
大変嬉しい限りです。
もし、こういう使い方をする為の方法をご存知でしたら
ご教示頂ければと思います。
また、Globパターンでもってファイルのリストを作る関数や、
それらの複数のファイルにまたがるデータを単一のプロットで
利用できる仕組みがあると助かります。
こちらも、lsなどを呼び出せば使えば出来ますが、Cygwinの入っていない
Windows環境でも、他のマシンと同じスクリプトで、同じ動作を
してくれると楽ですし、こういうことに詳しくない方にとっても
とっつきやすくなるのではないかと思うのですが。
〔ツリー構成〕
【2829】 splot で複数ファイルのデータをグリッドデータとして扱う方法 2014/8/20(水)09:28 nkom (2314) |
〔前の画面〕
〔クリックポイント〕 〔最新の一覧〕
〔全て読んだことにする〕〔全て読んだことにして終了〕 〔終了〕
※ 『クリックポイント』とは一覧上から読み始めた地点を指し、ツリー上の記事を巡回しても、その位置に戻ることができます.