2015-06-21 149 views
2

我有一個數據文件,它看起來是這樣的:如何在gnuplot中繪製兩條擬合線的交點?

# Test of 6 
0.1 3.2 
0.4 5.9 
0.7 8.0 
0.9 10.1 


0.1 1.5 
0.4 4.3 
0.7 9.5 
0.9 13.5 

# Test of 10 
0.1 5.5 
0.4 6.3 
0.7 6.9 
0.9 8.5 


0.1 0.5 
0.4 3.3 
0.7 8.5 
0.9 15.5 

# Test of 15 
0.1 12.5 
0.4 13.3 
0.7 13.5 
0.9 15.5 


0.1 1.5 
0.4 7.3 
0.7 15.5 
0.9 16.5 

然後我使用的gnuplot找到每組擬合線,和兩個擬合線的交叉點:

set terminal pngcairo enhanced 
set output 'image.png' 

unset key 

set xrange [0:20] 
set yrange [0:1] 

f(x) = a*x + b 
g(x) = c*x + d 

fit f(x) "data.dat" i 0 u 1:2 via a,b 
fit g(x) "data.dat" i 1 u 1:2 via c,d 
p1 = (d - b)/(a - c) 
fit f(x) "data.dat" i 2 u 1:2 via a,b 
fit g(x) "data.dat" i 3 u 1:2 via c,d 
p2 = (d - b)/(a - c) 
fit f(x) "data.dat" i 4 u 1:2 via a,b 
fit g(x) "data.dat" i 5 u 1:2 via c,d 
p3 = (d - b)/(a - c) 

# what is the real way? 
# set label at 6, p1 "" point pointtype 7 pointsize 2 
# set label at 10, p2 "" point pointtype 7 pointsize 2 
# set label at 15, p3 "" point pointtype 7 pointsize 2 
# plot 1/0 

我可以使用標籤來設置我想要的點,但我真的很想找到適合這些點的線。我想我可以這樣做,如果我可以治療(6,p1); (10,P2); (15,p3)作爲數據文件。但我該怎麼做,或者有更簡單的方法?

+0

這是一個gnuplot的問題,不是乳膠! –

+0

對不起。我看到一堆gnuplot問題,所以我認爲它可能在這裏工作。也許我應該把它移到堆棧溢出?我可以標記自己的帖子嗎?它不會讓我標誌它被移到SO ...哦,也許有人可以移動它。 – user1794469

+0

是的,那樣更好。 'gnuplot'標籤提供瞭如何在gnuplot中使用'LaTeX'或如何從LaTeX運行中調用gnuplot的問題。 –

回答

1

好的,我找到了一個解決方案。 Gnuplot命名了數據塊。您既可以打印數據塊,也可以繪製數據塊。從這個問題中的數據,最終的打印文件是:

set terminal pngcairo enhanced 
set output 'image.png' 

unset key 

set xrange [0:20] 
set yrange [0:1] 

f(x) = a*x + b 
g(x) = c*x + d 

fit f(x) "data.dat" i 0 u 1:2 via a,b 
fit g(x) "data.dat" i 1 u 1:2 via c,d 
p1 = (d - b)/(a - c) 
fit f(x) "data.dat" i 2 u 1:2 via a,b 
fit g(x) "data.dat" i 3 u 1:2 via c,d 
p2 = (d - b)/(a - c) 
fit f(x) "data.dat" i 4 u 1:2 via a,b 
fit g(x) "data.dat" i 5 u 1:2 via c,d 
p3 = (d - b)/(a - c) 

set print $points 
print 6,p1 
print 10,p2 
print 15,p3 

fit f(x) $points u 1:2 via a,b 
plot $points w p pt 7 ps 2, f(x) 

這將產生一個PNG這樣的: Ermahgerd, it werks!

+0

我將不勝感激,如果你可以看看這個問題:https://stackoverflow.com/questions/44264824/gnuplot-intersection-of-two-plots –