gnuplot недостающие данные с оценкой выражения - PullRequest
2 голосов
/ 29 сентября 2011

Я хочу использовать команду plot в gnuplot с вычислением выражений, т.е.

plot "-" using ($1):($2) with lines
1 10
2 20
3 ?
4 40
5 50
e

Но я хочу игнорировать пропущенные данные "?" таким образом, чтобы он соединял линию (и не разрывал ее между 2 и 4).
Я пытался set datafile missing "?", но по согласованию с онлайн-справкой он не соединяет линии. Следовало бы, но я не могу использовать выражение выражения:

plot "-" using 1:2 with lines
1 10
2 20
3 ?
4 40
5 50
e

Есть идеи, как соединить строки и , используя оценку выражений?

1 Ответ

2 голосов
/ 30 сентября 2011

Данные двух столбцов

Если вы настроили файл данных Data.csv

1 10
2 20
3 ?
4 40
5 50

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

plot '<grep -v "?" Data.csv' u ($1):($2) w lp

Подробнеечем два столбца данных

Для более чем двух столбцов вы можете использовать awk .
С файлом данных Data.csv

1 10 1
2 20 2
3 ?  3
4 40 ?
5 50 5

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

plot "<awk '{if($2 != \"?\") print}' Data.csv" u ($1):($2) w lp, \
     "<awk '{if($3 != \"?\") print}' Data.csv" u ($1):($3) w lp

Ссылку на скриптинг в gnuplot можно найти здесь . awk руководство пользователя здесь .

...