2016-09-19 3 views
1

1つのイメージに異なる行をプロットする必要があります。各行は別のプレーンテキストファイルに保存され、次のようになります。 y |深さ私の問題は、最後に、保存された画像は、残りの行を含めずに、最後の再プロットであるということであるgnuplotでReplotが動作しない

set term pngcairo size 1000,8005 

list = system('ls') 
i = 1 

set output 'image.png' 

do for [file in list] { 
if (file ne 'image.png') { 
    if (file ne 'plot_vg') { 
     if (file ne '..') { 
     if (i==1) { 
      i=0 
      plot sprintf('%s',file) using 1:2:3 with lines notitle 
     } else{ 
      replot sprintf('%s',file) using 1:2:3 with lines notitle 
     } 
     } 
    } 
} 
} 

:したがって、私は「plot_vg」という名前のこのファイルを書き込みしています。私はそれがループにうまく入っていることを見てきました。それは1つのプロットを行い、残りは再プロットです。 termからgnuplotを開き、最初の1つのプロットを書き込んだ後に再描画すると、表示されているイメージが必要なものになります。ここでエラーはどこですか?

ここから最初のオプションを試しましたが、Gnuplot - Using replot with png terminalですが、空の画像ファイルがあります。

答えて

1

ファイルのリストを読み込む際に、既にフィルタリングを行い、その後、plot for [file in list]...で反復:

set term pngcairo size 1000,8005 

list = system("ls | grep -v 'image.png\|plot_vg'") 

set output 'image.png' 

set style data lines 
unset key 
plot for [file in list] file using 1:2 

データファイルは、あなたもまた

list = system("ls *.txt") 

ノートのようなものを使用することができ、いくつかのパターンに従っている場合単純なplot with linesでは2つの列しか使用しないことに注意してください。

関連する問題