gnuplot: пропустить пропущенные столбцы - PullRequest
3 голосов
/ 09 марта 2012

Я строю что-то вроде (gnuplot 4.6rc1):

plot "data1.csv" using "time":"value_a", \
     "data2.csv" using "time":"value_b", \
     "data3.csv" using "time":"value_c"

Наличие CSV-файлов, таких как:

time, value_a, value_c
0, 1, 2
4, 5, 6

Если один столбец отсутствует (скажем, value_b), весь график не будет создан с ошибкой could not find column with header "value_b".

Есть ли способ просто пропустить построение этого столбца вместо пропуска всего графика?

1 Ответ

0 голосов
/ 05 марта 2013

Вы можете использовать следующий файл данных:

time, value_a, value_c, value_b
0, 1, 2
4, 5, 6

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

Я не знаю решения, позволяющего полностью опустить столбец.Но ... другой способ печати ваших данных - это:

plot   "data1.csv" using "time":"value_a"
replot "data2.csv" using "time":"value_b"
replot "data3.csv" using "time":"value_c"

Так что, если вы можете отслеживать, какие столбцы вы печатаете, вы можете построить файл графика таким образом.

И, если это невозможно, то ваша проблема теперь сводится к тому, чтобы GNUplot продолжал переходить к следующей строке в случае ошибки.К сожалению, я не уверен, как заставить это сделать это.

...