2016-12-06 2 views
1

На этот вопрос был дан ответ частично в нескольких местах, например Create a gif in Gnuplot from a single file.создание анимации gif с помощью gnuplot, используя один файл с сохранением предыдущих данных на графике

Однако есть проблема, предоставленный ответ будет отображать только точки в каждом индексе.

позволяет сказать, что у меня есть следующий набор данных:

0 0 0 0 0 
0 0 0 0 0 
0 0 0 0 0 
0 0 0 0 0 
0 0 0 0 0 


0 0 0 0 0 
0 1 0 0 0 
0 0 0 0 0 
0 0 0 0 0 
0 0 0 0 0 

мой код для создания GIF является:

set terminal gif animate delay 50 
set output 'foobar.gif' 
set style line 1 lc rgb '#0060ad' lt 1 lw 2 pt 7 ps 1.5 
stats 'Datafile' nooutput 
do for [i=1:int(STATS_blocks)] { 
    splot 'Datafile' index (i-1) matrix with p ls 1 
} 

Этот код будет генерировать GIF, который содержит только данные каждого индекса. в то время как я хочу, чтобы второй набор данных был добавлен к первой анимации.

Как мне это сделать?

+0

Вы не можете сделать это с помощью gnuplot. Вы должны предварительно обработать свои данные до другой программы. – Christoph

ответ

1

Ну, мне удалось найти ответ самостоятельно, и извините @ Кристоф, самый простой ответ всегда стирает вопрос. Да, это возможно с добавлением второго цикла. Я знал, что мне нужно добавить второй цикл, но я не был уверен, как:

set terminal gif animate delay 50 
set output 'foobar.gif' 
set grid 
set style line 1 lc rgb '#0060ad' lt 1 lw 2 pt 7 ps 1.5 
stats 'Datafile' nooutput 
set ztics 1 
set zrange [-2:7] 
do for [i=1:int(STATS_blocks)] { 
    splot for [j=1:i] 'Datafile' index (j-1) matrix notitle with p ls 1 
} 

Это произведет то, что я хочу.

+0

Хорошо, тогда у меня также было другое понимание вашего вопроса. Я думал, вы имели в виду «добавить» в смысле суммирования блоков 1 ... i. – Christoph

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