我知道我可以在绘图时指定纵横比,例如plot(x,y,asp=5)
。有没有办法在允许自动缩放后检索宽高比(如在plot(x,y)
中)?我问的原因是我正在玩text(x,y,'mystring',srt=local_slope)
,我根据基础曲线和感兴趣的local_slope
值计算x
。麻烦的是,对于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
答案 0 :(得分:7)
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
以英寸为单位获取绘图区域的宽度和高度......
ff <- par("pin")
ff[2]/ff[1] ## 1.00299
现在手动调整图表的大小...
ff <- par("pin")
ff[2]/ff[1] ## 0.38
您还可以使用par("usr")
来调整宽高比
在用户单位,但我没有想出相当的权利
一组比率...... MASS::eqscplot
的胆量也可能具有启发性。