2013-09-30 3 views
1

У меня есть два файла 'results.dat' и 'grid.dat'.Gnuplot: import x-axis from file

Результаты.dat содержат в строке другой набор данных значений y.

1  325.5 875.4 658.7 365.5 
2  587.5 987.5 478.6 658.5 
3  987.1 542.6 986.2 458.7 

В файле grid.dat содержатся соответствующие значения x.

1  100.0 200.0 300.0 400.0 

Как я могу построить с Gnuplot grid.dat как значения х унда определенной линии results.dat как соответствующие значения Y? Например. строка 3:

1  100.0 987.1 
2  200.0 542.6 
3  300.0 986.2 
4  400.0 458.7 

Заранее спасибо.

ответ

0

Это очень похоже на недавний вопрос Gnuplot: plotting the maximum of two files. В вашем случае это также невозможно сделать только с помощью gnuplot.

Вам необходим внешний инструмент для объединения двух файлов на лету, например. со следующим python скрипта (любой другой инструмент также не будет делать):

""" selectrow.py: Select a row from 'results.dat' and merge with 'grid.dat'.""" 
import numpy as np 
import sys 

line = int(sys.argv[1])  

A = np.loadtxt('grid.dat') 
B = np.loadtxt('results.dat', skiprows=(line-1))[0] 

np.savetxt(sys.stdout, np.c_[A, B], delimiter='\t') 

А затем построить третью линию results.dat с

plot '< python selectrow.py 3' w l