首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否将lwd单位转换为用户坐标(R基础图形)?

是否将lwd单位转换为用户坐标(R基础图形)?
EN

Stack Overflow用户
提问于 2012-02-04 02:05:58
回答 1查看 443关注 0票数 0

如何使用lwd来表示某个数量?

例如:

代码语言:javascript
复制
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。我能做得更好吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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")。(我认为它使我的代码更具可读性。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9133320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档