2014-12-07 42 views
1

我想绘制一个直角三角形,平行于曲线的斜率,在loglog尺度下。然而,gnuplot的行为古怪:Gnuplot:对数坐标轴中的三角形

set terminal postscript eps enhanced "Helvetica" 22 

a1 = 64459.7; 
a2 = -1.90748; 

func(x) = a1*x**a2 

X1 = 1e+4; 
Y1 = 1e-4; 
X2 = 2e+4; 
Y2 = Y1 + func(X1) - func(X2) 

set logscale xy 
set format x "10^{%T}" 
set format y "10^{%T}" 
set key top right 
set output 'temp.eps' 

set object 1 poly from X1,Y1 to X2,Y1 to X1,Y2 to X1,Y1 fs empty border 1 
set xrange [0.8e+4:1e+5] 

plot func(x) title sprintf("a line with slope %1.2f",a2) 

unset object 1 

和输出 enter image description here

也许在数尺度命令set object表现不同log-log规模的时候,否则我不知道......

回答

1

的正确答案是:

Y2 = Y1 * 10**(a2 * log10(X1/X2));

p.s.版主,随时删除问题

+1

为什么一个版主应该删除你的问题? – Christoph 2014-12-07 15:59:33

+0

,因为我认为这是微不足道的 – Denis 2014-12-07 17:42:12