2014-10-31 5 views
-1

Я хочу построить на одном графике серию данных, содержащихся в разных каталогах с gnuplot.Кривые построения нескольких файлов с помощью gnuplot

У меня есть коллекция папок под названием «Ntimestep = X» (где X может быть, например, 100, 200, 400 и т. Д.). Внутри каждой из этих папок у меня есть файл occ.dat, который содержит данные, которые я хочу построить, скажем, 3 столбца (первые х точек, вторая и третья y-точки). Я хочу, чтобы мой скрипт gnuplot автоматически обнаруживал все папки времени «Ntimestep = X» и добавлял данные, содержащиеся в файле «Ntimestep = X/occ.dat» в моем сюжете.

Я хочу также, чтобы число X появилось в легенде сюжета.

+0

Ваш вопрос довольно неясен. Приведите несколько примеров имен папок и имен файлов, а также пример ваших данных и ваших команд построения. –

ответ

3

Gnuplot сам не может создать такой список файлов, но вы можете вызвать некоторый инструмент командной строки или второй скрипт, который создает такой список, который затем может использоваться gnuplot.

Так что-то вроде

list = system('ls Ntimestep=*/occ.dat') 
plot for [file in list] file 

В Windows что-то вроде list = system('dir /b *.txt') должен работать, см Script Gnuplot on windows OS (я не могу проверить его).

Чтобы получить номер в названии, используя только GNUPLOT вы можете использовать

t(s) = (s2 = s[11:*], s2[0:strlen(s2)-8]) 
plot for [file in list] file title t(file) 

Чтобы быть более гибкими в отношении формата строки вам снова придется использовать внешний инструмент (например, труба выход ls до sed).

Смежные вопросы