如何使用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")我希望用points函数绘制的线条与矩形一样宽/高。上面的值87和92是我手动找到的。有没有办法计算这些量?
编辑:问题的背景是:我想绘制bezier curves,我希望曲线的粗细代表我的数据。我的第一个想法是使用lwd。我能做得更好吗?
发布于 2012-02-04 02:13:38
对于您想要做的事情,lwd是错误的工具。根据调整绘图窗口大小的方式(或保存时的尺寸),实际线宽将相对于用户坐标发生变化。您显然知道rect命令,为什么不直接使用它呢?您还可以查看shape包。
-编辑--
对于更复杂的形状,我的经验不会超出polygon。这样,您就可以获得Bezier曲线的坐标bc,然后在x = c(bc$x + dx, rev(bc$x - dx), y = c(bc$y + dy, rev(bc$y - dy)周围绘制一个多边形,但我不确定这对于复杂曲线的效果如何。
顺便说一句,如果你愿意,你可以用lines(...)替换points(..., type = "l")。(我认为它使我的代码更具可读性。)
https://stackoverflow.com/questions/9133320
复制相似问题