dポイントプレゼントキャンペーン実施中!

http://t16web.lanl.gov/Kawano/gnuplot/datafile3. …
を読んだところ、複数のファイルから読み込む場合は、UNIXのコマンドを使えばいいらしいことはわかったのですが、

#a1.csv
1.0,2.0
2.0,4.0
3.0,6.0

#a2.csv
1.0,1.0
2.0,4.0
3.0,9.0

というファイルに対し、とりあえずpasteを利用して複数行呼び出しを行おうとしたのですが、

gnuplot> set datafile separator ","
gnuplot> plot "<paste -d',' a1.csv a2.csv" using 1:2
warning: Skipping unreadable file "<paste -d',' a1.csv a2.csv"
No data in plot
と表示されてしまいました。
一体どのようにすれば、複数のcsvファイルを結合したものを読み込めるのでしょうか?

また、Cygwin上でpasteコマンドについてちょっと実験してみたのですが、
$paste -d"," a1.csv a2.csv >output.txt
とすると、
#output.txt
1.0,2.0
,1.0,1.0
2.0,4.0
,2.0,4.0
3.0,6.0
,3.0,9.0

と表示されるのですが、
$paste -d"," a1.csv a2.csv
とすると、Cygwin上には、
,1.0,1.0
,2.0,4.0
,3.0,9.0
と表示されます。
output.txtに出力した際は、メモ帳上では、結合している部位で改行されているようには見えないのですが、ブラウザにコピペしたところ改行されてしましました。
どうやら、結合した場所に\rが入っているくさいです。


このpasteを使う方法以外にもgnuplotで扱うのにもっといい方法があるという場合はその方法も教えていただけると幸いです。

よろしくお願いします。

A 回答 (1件)

> $paste -d"," a1.csv a2.csv


> とすると、Cygwin上には、
>,1.0,1.0
>,2.0,4.0
>,3.0,9.0
これは\r(CR)で行頭にカーソルが移動するために、a1.csvを表示した箇所にa2.csvが上書きされた状態です。

こちらでやってみたところ、
> gnuplot> set datafile separator ","
> gnuplot> plot "<paste -d',' a1.csv a2.csv" using 1:2
でグラフが表示されました。

Windowsネイティブ版のgnuplotを使っていて、pasteを認識していない、ということはないですか?
カレントディレクトはa1.csv,a2.csvと同じですか?
    • good
    • 0
この回答へのお礼

>Windowsネイティブ版のgnuplotを使っていて、pasteを認識していない、ということはないですか?
使ってるgnuplotは、wgnuplot.exeでバージョンは4.2UNIXではなくWindows上で動く物です
pasteコマンドはUNIXが持っているコマンドらしいので、Cygwinをインストールすればpasteが使えるようになるんじゃないか?と思い、入れてみたのですが、gnuplotの方から、pasteコマンドがきちんと呼べてないようなのです。環境変数のpathに入れればいいのかな?とも思い、Cygwinのpaste.exeが入っているフォルダを指定したりもしたのですが、やはりgnuplot上ではうまくできてないようなのです。Windows上のgnuplotでpasteコマンドを使用するには、何かgnuplotを設定しないといけないのでしょうか?

>カレントディレクトはa1.csv,a2.csvと同じですか?
カレントディレクトリについては、そのようになっています。

お礼日時:2010/02/18 20:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!