4
votes

Can gnuplot calculate the distance between two lines or maybe two points?

I'm having a plot where two (main) lines are plotted. For the moment let's assume that the first line is always above the second one. Is there a way to calculate the distance from line 2 to line 1 at a given x-value?

here is a picture of what my plot looks like and which distance I want to calculate:

the solid horizontal line is line 1, the dotted horizontal line is line 2

The vertical lines are just for style and have nothing to do with the actual plot, their data is stored in test.dat and test2.dat.

My data-files of the lines look like this:
line1

0       118.1
2.754   117.77
4.054   117.64
6.131   116.17
7.7     116.04
8.391   115.36
10.535  115.25
11.433  116.03
12.591  116.22
19.519  118.59

line2

19.4    118.51
15.2    116.56
10.9    115.94
10.35   114.93
9.05    114.92
8.3     115.9
5.9     116.19
4.2     116.62
2.2     117.66
-0.3    118.06

My plotting-code looks like this:

set term wxt enhanced
cd 'working directory'
unset key

set size 0.9,0.9
set origin 0.1,0.1
set title 'TITLE'

unset border
set label 21 "  rotate by 45" at -3.0,0.0 rotate by 45 point ps 2

set xrange [0:19.519]
set yrange [110:119] 
set xtics nomirror(0, 2.745, 4.054, 6.131, 7.7, 8.391, 10.535, 11.433, 12.591, 19.519) rotate by 90 offset 0,-0.1 right

set ytics "      ", 30000

plot "line1.dat" using ($1):($2):2 with labels offset 1, 1.8 rotate by 90, "line1.dat" using 1:2 with lines lt 1 lw 1 lc rgb '#000000', +112 lt 1 lw 1 lc rgb '#000000' , 'test.dat' with lines lt 1 lw 1 lc rgb '#000000', +110 lt 1 lw 1 lc rgb '#000000', 'line2.dat' with lines lt 0.5 lw 1 lc rgb '#000000', 'test2.dat' with lines lt 0.5 lw 1 lc rgb '#000000' 
1

1 Answers

2
votes

You can measure the distance manually. Move the mouse to the first point and type 'r'. Then as you move the mouse around, the x and y offsets, distance and angle are displayed. Type '5' to draw a line segment and to toggle between degrees and tangent display. Zooming in beforehand increases accuracy.

By the way, typing 'h' in the plot window will display a list of keybindings to the console.