Gnuplot: построение нескольких рядов на графике, но количество различных рядов для наложения неизвестно заранее - PullRequest
1 голос
/ 11 января 2012

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

#SeriesName x y
Series1 0 10
Series1 1 11
Series1 2 13
...
SeriesN 0 14
SeriesN 1 19
SeriesN 2 15

У меня это в одном непрерывном наборе строк, но я могу разбить его на куски с индексированием, если это необходимо. Проблема в том, что я не знаю различных имен значений SeriesName, которые у меня будут раньше времени, а также того, сколько будет различных значений. Но я хочу одну строку на графике для каждого отдельного значения SeriesName. Я могу понять, как составлять графики, если заранее знаю различные значения SeriesName, но я не знаю, как сказать gnuplot: «сделать одну строку на значение серии и пометить каждую строку именем, являющимся значением». SeriesName, который использовался для каждой строки. "

Может ли это сделать gnuplot? В противном случае я могу сделать два прохода по данным, в первом из которых я соберу уникальные значения SeriesName, а затем использую bash / perl / python для явного построения оператора plot, но похоже, что gnuplot должен иметь некоторые функциональность для пользователя, чтобы избежать этого. Я что-то упустил?

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

Обновление : я также отправил сообщение на форум, где публикуется автор Gnuplot в действии (Филипп Янерт), и я опубликовал обходной путь для собственной проблемы, но я не Не думаю, что он квалифицируется как ответ, поскольку в конечном итоге он выполняет повторную проверку данных, а затем выполняет фильтр исходного кода по командам gnuplot, чтобы сделать сценарий gnuplot совместимым с конкретным набором данных. Я думаю, что будет ответ, использующий только синтаксис gnuplot лучше, чем я. Для справки вот ссылка: http://www.manning -sandbox.com / thread.jspa? MessageID = 122752 # 122752

...