如何在对数标度图中沿着 abline 放置文本?
How to place text along an abline in a log-scale plot?
getasp=function() {
h = par('pin')[2]/diff(par('usr')[3:4])
w = par('pin')[1]/diff(par('usr')[1:2])
return (h/w)
}
plot(0:9, 1:10, type='n', log='y')
asp=getasp()
a=0; b=log(10)/10
abline(a=a, b=b)
x_abline = mean(par('usr')[1:2])
y_abline = a+b*x_abline
points(x_abline, y_abline)
text(x=x_abline, y=y_abline, sprintf('abline(a=%g, b=%g)', a, b), srt=atan(b*asp)/pi*180, pos=3)
文字有点偏了。我不确定为什么它会关闭。谁能告诉我计算出了什么问题?
这是您要找的吗?
plot(0:9, 1:10, type='n', log='y')
asp=getasp()
a=0; b=log(10)/10
abline(a=a, b=b)
x_abline = mean(par('usr')[1:2])
y_abline = a+b*x_abline
points(x_abline, y_abline)
text(x=2, y=3, sprintf('abline(a=%g, b=%g)', a, b), srt=atan(b*asp)/pi*180, pos=3)
y = 10^(mean(par('usr')[3:4]))
x = (log10(y) - a)/b
text(x, y, sprintf('abline(a=%g, b=%g)', a, b), srt=atan(b*asp)/pi*180, pos=3)
getasp=function() {
h = par('pin')[2]/diff(par('usr')[3:4])
w = par('pin')[1]/diff(par('usr')[1:2])
return (h/w)
}
plot(0:9, 1:10, type='n', log='y')
asp=getasp()
a=0; b=log(10)/10
abline(a=a, b=b)
x_abline = mean(par('usr')[1:2])
y_abline = a+b*x_abline
points(x_abline, y_abline)
text(x=x_abline, y=y_abline, sprintf('abline(a=%g, b=%g)', a, b), srt=atan(b*asp)/pi*180, pos=3)
文字有点偏了。我不确定为什么它会关闭。谁能告诉我计算出了什么问题?
这是您要找的吗?
plot(0:9, 1:10, type='n', log='y')
asp=getasp()
a=0; b=log(10)/10
abline(a=a, b=b)
x_abline = mean(par('usr')[1:2])
y_abline = a+b*x_abline
points(x_abline, y_abline)
text(x=2, y=3, sprintf('abline(a=%g, b=%g)', a, b), srt=atan(b*asp)/pi*180, pos=3)
y = 10^(mean(par('usr')[3:4]))
x = (log10(y) - a)/b
text(x, y, sprintf('abline(a=%g, b=%g)', a, b), srt=atan(b*asp)/pi*180, pos=3)