Gnuplot сюжет из строки - PullRequest
       9

Gnuplot сюжет из строки

4 голосов
/ 14 сентября 2010

Можно ли передать данные графика в строку?

Я имею в виду сделать что-то вроде этого:

plot "09-13-2010,2263.80 09-14-2010,2500" using 1:2 with lines

1 Ответ

4 голосов
/ 14 сентября 2010

Можно сделать что-то вроде:

set xdata time
set timefmt "%m-%d-%y"     
plot "< echo '09-13-2010,2263.80 09-14-2010,2500' | tr ' ' '\n' | tr ',' ' '" using 1:2 with lines

Где символ < указывает Gnuplot, что мы хотим, чтобы мы вводили результаты команды. Gnuplot разделяет записи новой строкой. Группы записей разделены пустой записью. Внутри записи разделителем столбцов по умолчанию является пробел. В приведенном выше примере tr используется для разделения ваших данных на строки и перезаписи строк на записи.

Другим способом построения ваших данных из строки является использование спецификатора ввода «-», а затем загрузка данных из командной строки. Программа может легко выдать следующее:

set xdata time
set timefmt "%m-%d-%y"
plot '-' using 1:2 with lines
09-13-2010 2263.80
09-14-2010 2500
e

Лучше всего использовать входной файл, например:

09-13-2010 2263.80
09-14-2010 2500

Предполагая, что входной файл называется mydata.txt, вы можете построить его с помощью команд:

set xdata time
set timefmt "%m-%d-%y"
plot 'mydata.txt' using 1:2 with lines

Все приведенные выше примеры дают вам что-то вроде: alt text

Если вы хотите построить две серии данных с использованием дат и ввода `- ', вы можете сделать следующее:

set xdata time
set timefmt "%m-%d-%y"
plot '-' using 1:2  title "Series 1" with lines,'-' using 1:2 title "Series 2" with lines
09-13-2010 2263.80
09-14-2010 2500
e
09-13-2010 2500
09-14-2010 2263.80
e

Предыдущий пример дает: alt text

...