Как использовать gnuplot для построения простых данных X0, Y0 X1, Y1? - PullRequest
0 голосов
/ 23 февраля 2010

У меня есть некоторые данные, которые представляют собой серию конечных точек для линий в формате x0, y0, x1, y1.

например:

 x0    y0    x1    y1
-----------------------    
 1.0,  1.1,  2.0,  1.0

 2.0,  1.0,  2.0,  2.0

 2.0,  2.0,  1.0,  2.0

 1.0,  2.0,  1.0,  1.0

Мне не нужны никакие данные осей, текстовые заголовки или номера страниц. Я могу масштабировать данные вверх или вниз или добавить фиксированное смещение, если требуется.

Как мне преобразовать эти данные в файл, который можно распечатать на листе бумаги размером 8,5 x 11?

Ответы [ 2 ]

1 голос
/ 23 февраля 2010

Если я вас правильно понял, вы хотите построить прямоугольник от (1,1) до (2,2) и удалить все оси и т. Д.

Самый простой способ, вероятно, примерно такой:

unset xtics
unset ytics
unset border
set yrange [0:3]
set xrange [0:3]
set obj 1 rect from 1,1 to 2,2
plot NaN notitle

Я предполагаю, что первый 1.1 является опечаткой. В противном случае вы можете построить отдельные линии:

unset xtics
unset ytics
unset border
set yrange [0:3]
set xrange [0:3]
set style arrow 1 nohead
set arrow from 1,1.1 to 2,1 as 1
set arrow from 2,1 to 2,2 as 1
set arrow from 2,2 to 1,2 as 1
set arrow from 1,2 to 1,1 as 1
plot NaN notitle
0 голосов
/ 24 февраля 2010

Предполагая, что данные находятся в файле с именем 'data.dat', возможно, самый простой способ нарисовать отрезки линии, указывающие их направление (это может или не может быть необходимо, и в этом случае, возможно, есть также опция форматирования для с опциями построения векторов , хотя я не знаю, что это за руки) будет следующим,

plot [0:3][0:3] 'data.dat' u 1:2:($3-$1):($4-$2) notitle with vectors

Как указал Алок в своем посте, оси сюжета можно удалить с помощью неустановленных команд, которые он использовал

unset xtics; unset ytics; unset border

Это создаст график, который выглядит следующим образом:

alt text

...