2012-03-03 3 views
0

У меня есть следующий код:Piping к GNUPLOT, не принимает несколько команд

fprintf(temp->_fstream, "plot '-' using 1:2 title 'tittle1'\n"); 

_fstream является Gnuplot трубы, используя «-» позволяет записать данные в GNUPLOT непосредственно вместо того, чтобы писать его первым в файл, это код, который делает это:

fprintf (_stream->_fstream, "%d ", _node->count); 

теперь я хотел бы построить еще две колонки скажем, 1: 3, например, в Gnuplot вы могли бы сделать это с помощью:

plot "output3.txt" using 1:2 title 'prey', "output3.txt" using 1:3 title 'predator' 

но делает то же самое через трубу он дает ошибку говоря unreachable data source здесь есть линия, которую я использую:

fprintf(temp->_fstream, "plot '-' using 1:2 title 'tittle1', '-' using 1:3 ... \n"); 

Я смотрел на это в течение некоторого времени, любая помощь будет оценена.

+0

Возможно, для создания gnuplot может потребоваться создать псевдо-TTY, как если бы он находился в интерактивном режиме. –

ответ

0

попробовать это:

plot '-' us 1:2, '' us 1:2

и введите (или записи в потоке) данные следует 'е'. Затем введите второй набор данных, а затем «e».

1 1 
2 2 
3 3 
e 
1 2 
2 3 
3 4 
e 
+0

спасибо за ответ, да, я думаю, мне придется повторно ввести данные, строка выше не работает, единственная проблема, что данные> 10 000, поэтому повторное внесение в нее было бы дорогостоящим. – mihajlv