我知道在绘图时可以指定宽高比,例如:plot(x,y,asp=5)
。是否有办法在允许自动缩放后(如plot(x,y)
)检索宽高比? 我问的原因是因为我在使用text(x,y,'mystring',srt=local_slope)
时遇到了问题,其中我根据基础曲线和感兴趣的x
值计算出local_slope
。麻烦的是,如果asp!=1
,这将使文本旋转的角度与我的绘制数据集的显示斜率不同。示例:
x<- -10:10
y<- x^2
plot(x,y,t='l',asp=0.1)
# the slope at x=1 is 2 but the default plot aspect ratio is far from 1:1
text(1,1,'foo',srt= 180/pi*atan(2) ) #ugly-looking
text(-1,1,'bar',srt= (180/pi*atan(2/10))) #better
myasp <-ff[2]/ff[1]*diff(range(y))/diff(range(x))
。// 我怀疑一些高级绘图包已经处理了这个问题;我还没有到那一步 :-) - Carl Witthoftrange(y)
和range(x)
不一定给出 y 轴和 x 轴所覆盖的所有值。例如,当par(xaxs="r")
时,它们不会给出完整的范围。因此,最好执行相当于myasp <- with(par(), (pin[2]/pin[1])/(diff(usr[3:4])/diff(usr[1:2])))
的操作,以确保安全。 - Josh O'Brien