GNUPlot: построение разных диапазонов с разными стилями - PullRequest
2 голосов
/ 11 января 2011

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

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

Например, скажем, мой файл данных представляет функцию со значениями 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

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

Есть идеи?Прошу прощения, если это звучит так, как будто я болтаю, но я довольно озадачен.

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

Ответы [ 2 ]

10 голосов
/ 22 января 2011

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

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

edit: я проверяю его, и оно работает, когда x variable <0, у вас будут точки.Конечно, вы можете сделать условия таким образом, чтобы вы могли разместить множество различных форматов графиков, если значения x вашей функции находятся в файле данных. </p>

1 голос
/ 12 января 2011

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

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

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

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

...