将随钻测量单位转换为用户坐标(R基准图形)?
我如何使用将随钻测量单位转换为用户坐标(R基准图形)?,r,graphics,R,Graphics,我如何使用lwd来表示一些数量 例如: plot(NULL, type="n", xlim=c(4,7), ylim=c(1,6), xlab="", ylab="") points(c(5.25,5.25), c(4,5), type="l", lwd=87) points(c(5.5,6.5), c(3.5,3.5), type="l", lwd=92) rect(5,3,5.5,4, col="white") 我希望用点绘制的线函数与矩形一样宽/一样高。上面的值87和92是我手动找到的。
lwd
来表示一些数量
例如:
plot(NULL, type="n", xlim=c(4,7), ylim=c(1,6), xlab="", ylab="")
points(c(5.25,5.25), c(4,5), type="l", lwd=87)
points(c(5.5,6.5), c(3.5,3.5), type="l", lwd=92)
rect(5,3,5.5,4, col="white")
我希望用点绘制的线
函数与矩形一样宽/一样高。上面的值87和92是我手动找到的。有没有办法计算这些数量
编辑:
这个问题的背景是:我想要画图,我想要曲线的厚度代表我的数据。我的第一个想法是使用
lwd
。我能做得更好吗?lwd
对于您尝试做的事情来说是错误的工具。实际线宽将根据打印窗口的大小(或保存时的尺寸)相对于用户坐标进行更改。您显然知道rect
命令,为什么不直接使用它呢?您还可以查看形状
包
--编辑--
对于更复杂的形状,我的经验不会超出polygon
。有了它,你可以得到贝塞尔曲线的坐标,然后围绕着x=c(bc$x+dx,rev(bc$x-dx),y=c(bc$y+dy,rev(bc$y-dy))画一个多边形,但我不确定这对于复杂曲线来说效果如何
另一方面,如果您愿意,可以将
点(…,type=“l”)
替换为线(…)
(我认为这会使我的代码更可读。)lwd
对于您尝试执行的操作来说是错误的工具。实际线宽将根据用户坐标的大小而变化(或保存时的尺寸)。您显然知道rect
命令,为什么不直接使用它呢?您还可以查看shape
包
--编辑--
对于更复杂的形状,我的经验并没有超出多边形。有了它,你可以得到贝塞尔曲线的坐标,然后围绕x=c(bc$x+dx,rev(bc$x-dx),y=c(bc$y+dy,rev(bc$y-dy),画一个多边形,但我不确定这对于复杂的曲线会有多好
另一方面,如果您愿意,您可以用
行(…)
替换点(…,type=“l”)
。(我认为这使我的代码更具可读性。)如果可以的话,我会对这个答案投两次赞成票。rect
建议+1,提及“形状”包+1。如果需要设置纵横比,则plot.window
函数中有一个asp参数。感谢快速的回答,我编辑了我的问题以使其更清晰。shape
vignette将我引向图表
我不知道的包。再次感谢,我现在认为多边形是正确的选择。当曲线陡峭时会出现问题,但我希望我能解决它。@KarstenW。是的,理想情况下,要使线的厚度恒定,你可以选择在一条方向正交线上距离中心恒定的点。我会投票如果可以的话,这个答案可以用两次。+1表示rect
建议,+1表示“shape”包。如果需要设置纵横比,则plot.window
函数中有一个asp参数。感谢快速回答,我编辑了我的问题以使其更清晰。shape
vignette将我指向图表
包我不知道。再次感谢,我现在认为多边形是正确的选择。当曲线陡峭时会出现问题,但我希望我能解决它。@KarstenW。是的,理想情况下,要使线具有恒定的厚度,你可以在正交线的方向上选择距离中心恒定的点。