2011-01-11 5 views
2

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

Мне нужно отображать разные диапазоны файла данных по-разному, но на одном и том же графике.

Например, мой файл данных представляет собой функцию с значениями x и y. Я хочу построить первые значения N, используя стиль, подобный строкам, а затем следующие значения M, используя другой стиль, например точки.

Я думал, мне нужна команда сюжет, похожий на этот:

plot [1:5] "my.data" using 1:2 with lines, [6:12] using 1:2 with points, [13:19] using 1:2 with lines 

По существу я хочу, чтобы различать различные области функций.

Любые идеи? Мне жаль, если это звучит так, как будто я бессвязно, но я совершенно в тупике.

Заранее благодарен!

ответ

1

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

участок «my.data1» с использованием 1: 2 название «Данные 1» с линиями, «my.data2» с использованием 1: 2 название «Данные 2» с точками

Вы можете разбить файл вручную, или если я могу предложить в R также. Конечно, это можно сделать в bash или почти на любом (скриптном) языке.

Я надеюсь, что смогу помочь.

10

вы можете сделать следующее:

plot "mydat.txt" using 1:($1>0 ? $2 : 1/0) with lines, 
"" using 1:($1<=0 ? $2 : 1/0) with points 

редактировать: Я ЖУ тест, и он работает, когда переменные х < 0 вы будете иметь очки. Конечно, вы можете сделать условия таким образом, чтобы вы могли размещать много разных графических форматов, пока значения x вашей функции находятся в файле данных.

Смежные вопросы